6-Shooter:Estação de Mistura de Bebidas Arduino
Componentes e suprimentos
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| | × | 1 | |
| Painel de controle LCD RobotGeek 4 Line I2C | | × | 1 | |
| | × | 1 | |
| RobotGeek NeoPixel Ring - 16 x WS2812 5050 RGB LED | | × | 1 | |
| RobotGeek 12 V DC Bomba de líquido | | × | 1 | |
| RobotGeek Solenóide Valve | | × | 7 | |
| | × | 8 | |
| Fonte de alimentação RobotGeek 12V / 10A | | × | 1 | |
| Fonte de alimentação RobotGeek 6V / 2A | | × | 1 | |
| | × | 2 | |
| RobotGeek Silicone Tubing | | × | 1 | |
| RobotGeek Acoplador de 3 pinos | | × | 1 | |
| RobotGeek Standoff Variety Pack | | × | 1 | |
| Cabo sensor de 3 pinos RobotGeek | | × | 1 | |
| | × | 1 | |
| Válvula distribuidora divisora de 6 saídas | | × | 1 | |
| | × | 1 | |
Aplicativos e serviços online
Sobre este projeto
Introdução
Quer preparar bebidas com um simples toque de botão? O 6-Shooter pode misturar e combinar combinações de 6 bebidas diferentes com uma única bomba! Basta selecionar sua bebida na lista, apertar o botão e pronto, despejando sua bebida e dando um show de luzes, nada menos! Neste tutorial, faremos algo semelhante ao Somabar. Observe que este é um projeto bastante caro , mas realmente impressiona nas festas. Quer fazer o seu próprio? Vamos começar!
Etapa 1:Fiação
Isso parece uma fiação muito intensa e é um pouco confuso, mas na verdade é o mesmo processo repetido várias vezes.
Para conectar suas válvulas solenóides aos relés:
- Prepare seu relé, válvula solenóide, rabo-de-cavalo fêmea DC e uma porca de fio
- Conecte um fio da válvula solenóide ao terminal central de seu relé
- Conecte o fio terra do conector DC em NÃO ou normalmente aberto em seu relé
- Conecte o outro cabo de sua válvula solenóide ao fio de tensão do conector CC, usando uma porca de fio ou soldando a conexão. Usamos porcas de arame porque somos fãs de rapidez e sujeira, mas você obterá uma conexão elétrica melhor com a solda.
O mesmo processo listado acima se aplica à bomba, lembrando que o cabo negativo (preto, terra) vai para o terminal central do relé, e o cabo positivo (vermelho, tensão) vai para o fio de tensão do conector CC.
Construa seu Painel de controle LCD e RobotGeek Drink Station antes da fiação.
Conecte seus componentes à blindagem do sensor:
Etapa 2:montagem
Organize seus componentes de forma que os fios não sejam tensionados e os componentes eletrônicos livres de perigo de líquidos. Outra consideração é manter a confusão de fios contida entre as duas placas da bancada. Confira as fotos para se inspirar na organização de seus componentes e confira o diagrama maravilhoso (dez mil horas no MS Paint) para ter certeza de que está executando suas linhas de líquido com a orientação adequada para funcionar com a bomba.
Etapa 3:Programação e teste
Você precisará obter as bibliotecas e ferramentas do RobotGeek. Estão incluídas todas as bibliotecas usadas para o 6-Shooter e o código de demonstração para você começar a trabalhar. Coloque-o na pasta Arduino, abra o IDE e carregue:
robotGeekLibrariesAndtools-master.zip Arquivo → Sketchbook → RobotGeekSketches → Demos → drinkStation
E vamos dar uma olhada no código:
// SelectionsString selectionLine [14] ={"", // linha de buffer. Saia daqui ou experimente o terror. "1. Vermelho", "2. Verde", "3. Azul", "4. Amarelo", "5. Branco", "6. Preto", "7. Vermelho e Amarelo", "8. Verde e Azul "," 9. Black &White "," 10. Black &Yellow "," ", // linha tampão. Saia daqui ou experimente o terror. "", // linha de buffer. Saia daqui ou experimente o terror. "Fim da lista" // linha de buffer. Saia daqui ou experimente o terror. };
Esta é a lista de bebidas. Esses nomes serão exibidos na tela LCD e podem ser percorridos para serem selecionados. Você pode alterar isso para refletir com precisão as bebidas e misturas disponíveis.
int PUMP_TIME =2500; // Tempo para a estação de bombeamento funcionar em milissegundos
Este é o tempo padrão de funcionamento da bomba. Você pode alterar isso para obter imagens maiores por padrão.
LiquidCrystal_I2C lcd (0x27, 20, 4); // Tela LCD I2C 4 Row 20 Col em 0x27 // LiquidCrystal_I2C lcd (0x3F, 20, 4); // Tela LCD I2C 4 Row 20 Col em 0x3F
É aqui que chamamos de tela. Algumas telas são endereçadas de maneira diferente de outras, portanto, se a tela não exibir a lista quando você carregar o esboço, altere o endereço aqui.
if (debounce [2] .fell ()) {switch (drinkSelectCounter) {case 1:// Red lcd.setCursor (0, 0); lcd.print (promptLine [2]); colorWipe (strip.Color (255, 0, 0), 50); // Vermelho digitalWrite (PUMP_RELAY_PIN, HIGH); // Liga a bomba digitalWrite (SELECTED_RELAY_PIN [0], HIGH); // Atraso aberto 1 válvula solenóide (PUMP_TIME); // Executar pelo período de tempo definido digitalWrite (SELECTED_RELAY_PIN [0], LOW); // Fechar a válvula solenóide 1 digitalWrite (CLEAN_RELAY_PIN, HIGH); // Retardo 7 da válvula solenóide aberta (PUMP_TIME); // Executar pelo período de tempo definido digitalWrite (CLEAN_RELAY_PIN, LOW); // Fechar a válvula solenóide 7 digitalWrite (PUMP_RELAY_PIN, LOW); // Desligue a quebra da bomba;
Esta é a chamada para a bebida e as operações para a primeira bebida da lista. Você pode adicionar ou alterar cada caixa conforme achar adequado para a bebida que deseja misturar. Cada caso é uma linha de ações, começando com a alteração do prompt na tela, seguido pelo acendimento das luzes, seguido pela sequência de abertura da válvula adequada e funcionamento da bomba. Você só deve operar a bomba se pelo menos uma válvula estiver aberta.
Faça upload do código para o seu microcontrolador e experimente! Sugerimos testá-lo com um pouco de água primeiro, apenas no caso de algo em sua construção estar estranho. Certifique-se de testar cada válvula individualmente antes de testar as misturas. Quando estiver satisfeito com a operação, comece a planejar uma festa!
Etapa 4:festeje!
Agora você tem um bartender automatizado! Seus convidados vão pirar quando recebem uma bebida perfeitamente elaborada de um robô com o apertar de um botão! O que você pode fazer a partir deste ponto? Que tal adicionar a funcionalidade Bluetooth e fazer um aplicativo para seus convidados selecionarem suas bebidas em seus telefones (o MIT App Inventor é uma ótima ferramenta para isso)? Que tal adicionar um braço de robô para entregar as bebidas em vários copos e realmente impressionar? Talvez você pudesse encontrar uma maneira de colocar esse bad boy em um veículo espacial e tomar uma bebida servindo andróide rolando pela sua casa? Como sempre, adoraríamos ouvir sua ideia!
Código
- Snippet de código # 2
- Snippet de código # 5
Snippet de código # 2 Texto simples
// SelectionsString selectionLine [14] ={"", // linha de buffer. Saia daqui ou experimente o terror. "1. Vermelho", "2. Verde", "3. Azul", "4. Amarelo", "5. Branco", "6. Preto", "7. Vermelho e Amarelo", "8. Verde e Azul "," 9. Black &White "," 10. Black &Yellow "," ", // linha tampão. Saia daqui ou experimente o terror. "", // linha de buffer. Saia daqui ou experimente o terror. "Fim da lista" // linha de buffer. Saia daqui ou experimente o terror. };
Snippet de código # 5 Texto simples
if (debounce [2] .fell ()) {switch (drinkSelectCounter) {case 1:// Red lcd.setCursor (0, 0); lcd.print (promptLine [2]); colorWipe (strip.Color (255, 0, 0), 50); // Vermelho digitalWrite (PUMP_RELAY_PIN, HIGH); // Liga a bomba digitalWrite (SELECTED_RELAY_PIN [0], HIGH); // Atraso aberto 1 válvula solenóide (PUMP_TIME); // Executar pelo período de tempo definido digitalWrite (SELECTED_RELAY_PIN [0], LOW); // Fechar a válvula solenóide 1 digitalWrite (CLEAN_RELAY_PIN, HIGH); // Retardo 7 da válvula solenóide aberta (PUMP_TIME); // Executar pelo período de tempo definido digitalWrite (CLEAN_RELAY_PIN, LOW); // Fechar a válvula solenóide 7 digitalWrite (PUMP_RELAY_PIN, LOW); // Desligue o break da bomba;
Github
https://github.com/robotgeek/robotGeekLibrariesAndtools/archive/master.ziphttps://github.com/robotgeek/robotGeekLibrariesAndtools/archive/master.zip