Índice:

CocktailMaker: 22 etapas
CocktailMaker: 22 etapas

Vídeo: CocktailMaker: 22 etapas

Vídeo: CocktailMaker: 22 etapas
Vídeo: Giles & Posner Cocktail Maker 2024, Novembro
Anonim
CocktailMaker
CocktailMaker

Coquetéis, uma ótima maneira de terminar um dia cansativo ou de começar uma festa animada. Você vai ao bar, pede uma bebida requintada, recosta-se e espera a chegada da mistura celestial. No final da noite você paga a conta, dá uma gorjeta ao barman e pronto. Mas e se eu dissesse que existe uma maneira de você saborear o mesmo coquetel saboroso sem ir ao bar ou até mesmo gastar muito dinheiro. Tudo o que você precisa é de um pouco de seu tempo livre e um pouco de criatividade. Continue lendo e explicarei passo a passo como fazer sua própria máquina de coquetéis em casa.

Suprimentos

Para o caso

- MDF de 6 mm de espessura

- 2 x 374 mm / 462 mm

- 2 x 280 mm / 462 mm

- 2 x 174 mm / 250 mm

- 1 x 162 mm / 250 mm

- 1 x 150 mm / 250 mm

- 1 x 180 mm / 162 mm

- 1 x 180 mm / 362 mm

- 1 x 362 mm / 100 mm

- 1 x 374 mm / 292 mm

- MDF com 12 mm de espessura

- 1 x 374 mm / 292 mm

- 2 dobradiças

- parafusos

- Cola de madeira

Para a eletronica

- 1 x display LCD 16x2

- 1 quadro de retransmissão de 8 canais de 5V

- Fonte de alimentação 1 x 12V DC 100W

- 1 x framboesa pi 3B +

- Bomba Dosadora 8 x 12V DC

- 1 x expansor I2C I2C PCA8574p

- 1 placa de ensaio

- 1 resistor de 330 Ohm

- 2 resistor de 470 Ohms

- 1 x plugue de distribuição

- 1 sensor infravermelho para evitar obstáculos

- 1 x módulo ultrassônico

- 1 interruptor de porta magnético

- fio de cobre

Extra

- 1 x pequeno funil

- 1 tampa flexível de nutella

- tubo flexível de 8m com 4mm de espessura

- 3 prendedores de roupa

- pintura branca

- 1 coqueteleira

Bebidas

- 1 garrafa de gim

- 1 garrafa de rum

- 1 garrafa de vodka

- 1 garrafa de tequila

- 1 x garrafa de triple sec

- 1 garrafa de suco de limão

- 1 garrafa de xarope simples

- 1 garrafa de cola

(opcional)

- 8 garrafas iguais

Etapa 1: Desenhar os orifícios

Desenhando os buracos
Desenhando os buracos

Começamos medindo e desenhando os buracos necessários na madeira.

  • painel frontal (374 mm / 462 mm)

    • A 6,5 cm do topo, no centro do painel, desenhamos um retângulo do tamanho do nosso display lcd.
    • na parte inferior, no centro do painel, desenhamos um retângulo de 25cm de altura por 15cm de largura para a porta.
  • painel traseiro do compartimento eletrônico (362 mm / 100 mm)

    desenhe 8 vezes a superfície das bombas neste painel, para fazer todas as bombas caberem

  • painel superior da câmara do agitador (180 mm / 162 mm)

    • desenhe um círculo tão grande quanto a extremidade do funil no centro do painel
    • 3 cm da borda do lado curto, desenhe a forma dos dois orifícios necessários para o módulo ultrassônico se encaixar.
    • no canto frontal direito, desenhe um pequeno orifício, a 1 cm de distância de ambos os lados. Dois fios disparados passaram por ele.
  • painel do lado direito da câmara do agitador (174 mm / 250 mm)

    10 cm da parte inferior (lado curto), desenhe os dois orifícios necessários para o sensor infravermelho se encaixar (no centro)

Etapa 2: Serrar / furar os furos

Serrar / furar os buracos
Serrar / furar os buracos
Serrar / furar os buracos
Serrar / furar os buracos

Agora que abrimos nossos buracos, é hora de pegar algumas máquinas pesadas e cortar / serrar / furar. Usei uma furadeira simples e uma serra elétrica, e em menos de uma hora o trabalho estava feito.

Se você é como eu e tem dificuldade em serrar as linhas traçadas, pode usar uma lima depois para corrigir seus erros.

Etapa 3: colar a caixa

Colar a caixa
Colar a caixa
  • Para fora
    • Comece colando o painel traseiro (o maior) no painel inferior (o mais grosso) em um ângulo de 90 graus.
    • Adicione os lados (2 x 280 mm / 462 mm).
    • Vamos deixar a frente e a parte superior abertas por enquanto
  • para o interior

    • Comece fazendo a câmara do agitador.

      • cole os dois lados (2 x 174 mm / 250 mm) no painel traseiro (162 mm / 250 mm)
      • adicione o painel superior (180 mm / 162 mm) com os dois orifícios para o módulo ultrassônico voltados para o painel traseiro. Este painel deve cobrir as laterais de todos os três painéis perfeitamente.
  • para o compartimento eletrônico

    cole o painel do motor no painel inferior (362 mm / 180 mm)

  • cole a câmara do agitador no centro da frente da máquina (deixe 6 mm para o painel frontal.
  • cole o compartimento eletrônico na parte superior da máquina, a 6 mm da frente. O painel do motor deve estar voltado para o painel traseiro.

Etapa 4: os esquemas

Os esquemas
Os esquemas
Os esquemas
Os esquemas

Antes de começarmos a conectar todos os componentes eletrônicos, vamos dar uma olhada no esquema.

Etapa 5: soldando as bombas

Soldando as bombas
Soldando as bombas

Certifique-se de que todos os aterramentos estejam conectados. Dessa forma, podemos conectá-los facilmente ao aterramento da fonte de alimentação.

Etapa 6: Conectando o Relayboard às Bombas

Conectando o Relayboard às Bombas
Conectando o Relayboard às Bombas
  • Conecte todos os COM's do relayboard, para que possamos conectá-los facilmente aos 12V da fonte de alimentação.
  • Conecte cada NÃO no quadro de relés com uma bomba diferente (+).

Etapa 7: adicione a fonte de alimentação e o Raspberry Pi

Adicione a fonte de alimentação e o Raspberry Pi
Adicione a fonte de alimentação e o Raspberry Pi

Não se preocupe com o painel frontal na foto, eu apenas coloquei lá para ter uma ideia de quanto espaço haveria para a parte eletrônica.

  • conecte o relayboard assim

    • 5 V para o pino de 5 V no pi de framboesa
    • GND para o GND no pi de framboesa
    • cada IN em um pino GPIO no pi de framboesa
  • conecte a série de pinos GND das bombas com 0V da fonte de alimentação, e a série de COM's no quadro de relés com 12V da fonte de alimentação.
  • Agora, se você executar um script simples que ativa todos os pinos GPIO conectados, você pode testar sua solda e consertar quaisquer erros antes que haja muitos fios no compartimento. Todas as bombas devem começar

Etapa 8: adicionar o sensor infravermelho

Adicione o sensor infravermelho
Adicione o sensor infravermelho
Adicione o sensor infravermelho
Adicione o sensor infravermelho
Adicione o sensor infravermelho
Adicione o sensor infravermelho
  • Em primeiro lugar, fiz um furo no meio do compartimento eletrônico, para que os cabos da sala do shaker pudessem subir.
  • comece configurando o sensor certo

    • conecte o VDD ao 3,3 V no raspberry pi
    • conecte o GND ao GND no framboesa pi
    • coloque um pequeno pedaço de papelão entre o receptor e o transmissor
    • coloque o agitador a cerca de 5 cm de distância do sensor
    • pegue uma chave de fenda e gire o aparador na parte superior até que o led OUT apague.
    • teste mova o agitador para frente e para trás e veja se o sensor reage aos movimentos. (o led OUT deve acender e apagar).
    • repita se necessário.
  • insira o receptor e o transmissor pelos orifícios que fizemos anteriormente.
  • conecte o pino OUT ao pino GPIO no pi de framboesa.

Etapa 9: conectar o módulo ultrassônico

Conecte o módulo ultrassônico
Conecte o módulo ultrassônico
Conecte o módulo ultrassônico
Conecte o módulo ultrassônico
  • insira o módulo nos orifícios no topo da câmara do agitador que fizemos anteriormente.
  • conecte o VCC com os cinco volts no framboesa pi.
  • conecte o gatilho com um pino GPIO
  • faça um divisor de tensão entre o GND e o eco (como mostrado na imagem)
  • conecte o GDN com o GND do framboesa pi.
  • conecte o eco com um pino GPIO

se você não entende o que quero dizer com devedor de voltagem, dê uma outra olhada nos esquemas. ele garante que o eco de 5 V seja reduzido para 3,3 V.

Etapa 10: Instale a porta

Instale a porta
Instale a porta
Instale a porta
Instale a porta
  • Use pequenos parafusos para prender as dobradiças à porta e ao painel frontal.
  • um orifício do tamanho de um dedo para facilitar a abertura da porta.

Etapa 11: instalar o interruptor da porta

Instale o interruptor da porta
Instale o interruptor da porta
Instale o interruptor da porta
Instale o interruptor da porta

Use parafusos ou cola para prender as duas partes do interruptor de porta à porta e o interior da câmara do agitador.

Etapa 12: Faça um suporte para tubo

Faça um Suporte para Tubo
Faça um Suporte para Tubo
  • corte oito pedaços de tubo de aproximadamente 20cm
  • use um objeto circular (usei uma tampa de nutella flexível) para segurá-los

Etapa 13: insira o funil

Insira o funil
Insira o funil
  • coloque o funil no último orifício do painel superior da câmara do agitador.
  • coloque o porta-tubos no funil e prenda-o com prendedores de roupa.

Etapa 14: Conecte os tubos à bomba

Conecte os tubos à bomba
Conecte os tubos à bomba

anexe o outro lado dos tubos ao lado de distribuição das bombas.

Etapa 15: Corte de tubos para as garrafas

Corte de tubos para garrafas
Corte de tubos para garrafas
Corte de tubos para garrafas
Corte de tubos para garrafas
Corte de tubos para garrafas
Corte de tubos para garrafas
Corte de tubos para garrafas
Corte de tubos para garrafas

corte os vários tamanhos de tubos, de modo que cada garrafa seja conectada a uma bomba. Prenda-os ao lado não utilizado das bombas.

Etapa 16: adicionar o plugue de distribuição

Adicione o Plug de Distribuição
Adicione o Plug de Distribuição
Adicione o Plug de Distribuição
Adicione o Plug de Distribuição
  • corte o plugue do conector
  • faça um furo na lateral do compartimento eletrônico
  • passe o cabo pelo orifício
  • recoloque o plugue do conector

Etapa 17: Conecte o Lcd

Conecte o Lcd
Conecte o Lcd
  • conecte o lcd conforme mostrado nos esquemas
  • use um expansor I2C i / o, porque não haverá pinos GPIO suficientes
  • esta é a única vez que precisamos de um pequeno breadboard

Etapa 18: colar o painel frontal

agora que o LCD (nosso último componente) está conectado, podemos colar o painel frontal em nossa máquina.

Etapa 19: Pintura

Quadro
Quadro
Quadro
Quadro
Quadro
Quadro
Quadro
Quadro

certifique-se de cobrir as partes que não sejam de madeira com fita adesiva e pinte a máquina com uma cor de sua escolha.

Etapa 20: Encha a máquina

Encha a máquina
Encha a máquina

A última coisa que precisamos fazer antes de carregar o código e desfrutar de um delicioso coquetel, é encher a máquina com um pouco de licor e alguns misturadores.

Etapa 21: Criar o banco de dados

Crie o banco de dados
Crie o banco de dados
Crie o banco de dados
Crie o banco de dados

faça uma conexão com o raspberry pi e crie o banco de dados.

CRIAR BASE DE DADOS SE NÃO EXISTIR `cocktailmaker` / *! 40100 CONFIGURAR PADRÃO DE CARACTERES utf8 * /; USE` cocktailmaker`; - MySQL dump 10.13 Distrib 5.7.17, para Win64 (x86_64) - - Host: 127.0.0.1 Banco de dados: cocktailmaker - --------------------- --------------------------------- - Versão do servidor 5.7.20-log

/ *! 40101 SET @OLD_CHARACTER_SET_CLIENT = @@ CHARACTER_SET_CLIENT * /;

/ *! 40101 SET @OLD_CHARACTER_SET_RESULTS = @@ CHARACTER_SET_RESULTS * /; / *! 40101 SET @OLD_COLLATION_CONNECTION = @@ COLLATION_CONNECTION * /; / *! 40101 DEFINIR NOMES utf8 * /; / *! 40103 SET @OLD_TIME_ZONE = @@ TIME_ZONE * /; / *! 40103 SET TIME_ZONE = '+ 00:00' * /; / *! 40014 SET @OLD_UNIQUE_CHECKS = @@ UNIQUE_CHECKS, UNIQUE_CHECKS = 0 * /; / *! 40014 SET @OLD_FOREIGN_KEY_CHECKS = @@ FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS = 0 * /; / *! 40101 SET @OLD_SQL_MODE = @@ SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO' * /; / *! 40111 SET @OLD_SQL_NOTES = @@ SQL_NOTES, SQL_NOTES = 0 * /;

--

- Estrutura da tabela para a tabela `cocktaillogboek` -

DROP TABLE IF EXISTS `cocktaillogboek`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CRIAR TABELA `cocktaillogboek` (` id_cocktail_log` int (11) NÃO NULO AUTO_INCREMENT, `aantal` tinyint (4) PADRÃO NULL,` datum` datetime PADRÃO CURRENT_TIMESTAMP, `cocktail_id` int (11) NÃO NULO, CHAVE PRINCIPAL (` id_log, `cocktail_id`), KEY` fk_Cocktaillogboek_Cocktails1_idx` (`cocktail_id`), CONSTRAINT` fk_Cocktaillogboek_Cocktails1` FOREIGN KEY (`cocktail_id`) REFERÊNCIAS` cocktails` (`id_cocktail`) ON DELETE NO ACTION ONDBOTE 5 CHARSET PADRÃO = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dados de despejo para a tabela `cocktaillogboek` -

LOCK TABLES `cocktaillogboek` WRITE;

/ *! 40000 ALTER TABLE `cocktaillogboek` DESATIVAR TECLAS * /; INSERIR EM VALORES `cocktaillogboek` (1, 1, '2019-05-31 18:06:24', 1), (2, 1, '2019-05-31 18:06:24', 2), (3, 2, '2019-05-31 18:06:24', 1), (4, 2, '2019-05-31 18:06:24', 2); / *! 40000 ALTER TABLE `cocktaillogboek` ATIVAR CHAVES * /; DESBLOQUEAR TABELAS;

--

- Estrutura da mesa para `coquetéis` de mesa -

DROP TABLE SE EXISTE `cocktails`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CRIAR TABELA `cocktails` (` id_cocktail` int (11) NOT NULL AUTO_INCREMENT, `naam_cocktail` tinytext,` code_cocktail` varchar (45) DEFAULT NULL, `inhoud_cocktail` float DEFAULT NULL, PRIMARY KEY (` id_cocktail`), UNIQUE KEY code_cocktail_UNIQUE` (`code_cocktail`)) ENGINE = InnoDB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dados de despejo para `coquetéis` de mesa -

LOCK TABLES `cocktails` ESCREVER;

/ *! 40000 ALTER TABLE `cocktails` DESATIVAR TECLAS * /; INSERIR EM 'coquetéis' VALORES (1, 'long island iced tea', '1q3n2q3n3q3n4q3n5q3x6q3n8q2', 20), (2, 'tequila sunrise', '2q5x7q5x9q3', 13); / *! 40000 ALTER TABLE `cocktails` ATIVAR CHAVES * /; DESBLOQUEAR TABELAS;

--

- Estrutura da tabela para a mesa `dranken` -

DROP TABLE IF EXISTS `dranken`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CRIAR TABELA `dranken` (` id_drank` int (11) NOT NULL AUTO_INCREMENT, `naam_drank` tinytext,` tijd_per_centiliter` float DEFAULT NULL, `inhoud_drank` float DEFAULT NULL,` pomp_drank` tinyint (4) DEFAULT KEY (PRIMARY NULL, PRIMARY NULL, 4) id_drank`)) ENGINE = InnoDB AUTO_INCREMENT = 12 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dados de despejo para a mesa `dranken` -

LOCK TABLES `dranken` ESCREVER;

/ *! 40000 ALTER TABLE `dranken` DISABLE KEYS * /; INSERIR EM VALORES 'bebidos' (1, 'gin', 20, 70, 1), (2, 'tequila', 20, 70, 2), (3, 'wodka', 20, 70, 3), (4, 'triple sec', 20, 70, 4), (5, 'rum', 20, 70, 5), (6, 'whisky', 20, 70, NULL), (7, 'cola', 15, 100, 6), (8, 'sinaasappelsap', 25, 100, 7), (9, 'limoensap', 20, 100, 8), (10, 'grenadine', 30, 100, 9), (11, 'suikersiroop', 30, 100, 10); / *! 40000 ALTER TABLE `dranken` ATIVAR CHAVES * /; DESBLOQUEAR TABELAS;

--

- Estrutura da tabela para a tabela `dranken_cocktails` -

DROP TABLE SE EXISTS `dranken_cocktails`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CRIAR TABELA `dranken_cocktails` (` Dranken_id_drank` int (11) NÃO NULO, `Cocktail_id_cocktail` int (11) NÃO NULO, CHAVE PRIMÁRIA (` Dranken_id_drank`, `Cocktail_id_cocktail`), KEY` fk_Dranken_has_Cockid_cocktail` fk_Dranken_has_Cocktail_Dranken1_idx` (`Dranken_id_drank`), RESTRIÇÃO` fk_Dranken_has_Cocktail_Cocktail1` EXTERNA CHAVE (`Cocktail_id_cocktail`) Referências` cocktails` (`id_cocktail`) em excluir qualquer acção por ACTUALIZAÇÃO NO ACTION, uma restrição` fk_Dranken_has_Cocktail_Dranken1` FOREIGN KEY (`` Dranken_id_drank`) Referências dranken` (`id_drank`) ON DELETE NENHUMA AÇÃO ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dados de despejo para a tabela `dranken_cocktails` -

LOCK TABLES `dranken_cocktails` ESCREVER;

/ *! 40000 ALTER TABLE `dranken_cocktails` DESATIVAR CHAVES * /; / *! 40000 ALTER TABLE `dranken_cocktails` ATIVAR CHAVES * /; DESBLOQUEAR TABELAS;

--

- Estrutura da mesa para mesa `softs` -

DROP TABLE IF EXISTS `softs`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CRIAR TABELA `softs` (` bruisend_drank` tinyint (4) PADRÃO NULL, `drank_id` int (11) NÃO NULO, CHAVE` fk_Softs_Dranken1_idx` (`drank_id`), CONSTRAINT` fk_Softs_Dranken1` CHAVE FOREIGN (dranken1`) CHAVE FOREIGN (dranken1`) `(` id_drank`) ON DELETE NENHUMA AÇÃO ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dados de despejo para a tabela `softs` -

LOCK TABLES `softs` WRITE;

/ *! 40000 ALTER TABLE `softs` DISABLE KEYS * /; INSERIR EM VALORES `suaves` (1, 7), (0, 8), (0, 9), (0, 10), (0, 11); / *! 40000 ALTER TABLE `softs` ATIVAR TECLAS * /; DESBLOQUEAR TABELAS;

--

- Estrutura da mesa para 'bebidas espirituosas' -

DROP TABLE IF EXISTS `espíritos ';

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CREATE TABLE `spirits` (` alcohol_percentage_drank` tinytext, `soort_drank` tinytext,` drank_id` int (11) NOT NULL, KEY `fk_Spirits_Dranken_idx` (` drank_id`), CONSTRAINT `fk_Spirits_Dranken`` FOREIGN_ID `(` id_drank`) ON DELETE NENHUMA AÇÃO ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dados de despejo para 'bebidas espirituosas' de mesa -

LOCK TABLES `bebidas espirituosas` ESCREVER;

/ *! 40000 ALTER TABLE `spirits` DISABLE KEYS * /; INSERIR EM VALORES 'destilados' ('40', 'gin', 1), ('35', 'tequila', 2), ('37.5 ',' wodka ', 3), (' 40 ',' seg triplo ', 4), ('37.5', 'rum', 5), ('37.5 ',' whisky ', 6); / *! 40000 ALTER TABLE `spirits` ENABLE KEYS * /; DESBLOQUEAR TABELAS;

--

- Eventos de despejo para banco de dados 'coquetelmaker' -

--

- Rotinas de despejo para o banco de dados 'cocktailmaker' - / *! 40103 SET TIME_ZONE = @ OLD_TIME_ZONE * /;

/ *! 40101 SET SQL_MODE = @ OLD_SQL_MODE * /;

/ *! 40014 SET FOREIGN_KEY_CHECKS = @ OLD_FOREIGN_KEY_CHECKS * /; / *! 40014 SET UNIQUE_CHECKS = @ OLD_UNIQUE_CHECKS * /; / *! 40101 SET CHARACTER_SET_CLIENT = @ OLD_CHARACTER_SET_CLIENT * /; / *! 40101 SET CHARACTER_SET_RESULTS = @ OLD_CHARACTER_SET_RESULTS * /; / *! 40101 SET COLLATION_CONNECTION = @ OLD_COLLATION_CONNECTION * /; / *! 40111 SET SQL_NOTES = @ OLD_SQL_NOTES * /;

- Despejo concluído em 2019-06-03 14:56:53

Etapa 22: Escrevendo o código

Escrevendo o Código
Escrevendo o Código

Muitas horas de trabalho foram dedicadas a este programa, felizmente para você eu tenho um repositório github.

Aqui está um link para o código.

Recomendado: