Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Máquina de coquetéis portátil barata Barbot com aplicativo!

Componentes e suprimentos

Arduino UNO
× 1
Fios de jumpers (genérico)
× 10
Cabos de jumper masculino / feminino
× 10
Módulo de retransmissão 8 Canal 5V
× 1
Breadboard (genérico)
× 1
Módulo Bluetooth HC-05
× 1
6 m de mangueira de silicone 6x9 mm
× 1
0,1qF capicitators
× 8
Fios nas cores vermelho e preto 0,75 mm²
× 1
Resistor 1k ohm
× 1
Resistor de furo passante, 2 kohm
× 1
Bomba 12 V DC
× 8

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Arame de solda, sem chumbo
Decapador e cortador de fio, 18-10 AWG / 0,75-4 mm² Fios de capacidade
Drill / Driver, 20V
Multiferramenta, chave de fenda
Broca para madeira com diâmetros de 28 mm

Aplicativos e serviços online

MIT App Inventor 2

Sobre este projeto


Fiquei inspirado para fazer um barbot depois de ver alguns projetos semelhantes no Youtube. O nível de habilidade e a quantidade de peças da maioria dos barbots me fizeram pensar que eu poderia simplificar isso usando bombas. Outro projeto que usa bombas bombeia muito lentamente (mais de um minuto para misturar uma pequena bebida) e as bombas que uso são ótimas para a aplicação.

Aqui está um vídeo para mostrar meu progresso no projeto:

Fazendo este projeto também tive em mente a necessidade de um código sólido e bons comentários para que você possa mudar o projeto para misturar as bebidas que quiser.

Então, comecei fazendo uma moldura com alguns painéis de madeira que eu tinha ao redor. Cortei 4 pedaços de 16,5cm x 33cm (6,5 polegadas x 13 polegadas) e conectei dois deles com parafusos como você vê na imagem abaixo:

Em seguida, cortei outro pedaço de madeira na dimensão do lado interno do quadrado quando você conectaria todas as placas que cortamos anteriormente. E fiz alguns furos com a broca de 28 mm. Certifique-se de que o centro dos orifícios tenha um espaçamento de 5 cm (2 polegadas) para que haja espaço suficiente para as bombas.

Aparafusei as placas como vocês podem ver na foto. Certifique-se de usar uma pequena broca para pré-perfurar os orifícios para os parafusos. Isso ajudará a impedir que a madeira se parta.

Então era hora de conectar o Arduino Uno com o módulo Bluetooth e a placa de relé. Você não precisa conectar as bombas. Use o esquema de fios para fazer isso.

Não queremos verificar se o circuito da placa de relé, do módulo Bluetooth e do Arduino Uno funcionam. Depois disso baixe o código para o Arduino Uno.

Portanto, agora devo recomendar testar o circuito. Primeiro você deve baixar o aplicativo e conectar o módulo Bluetooth. Certifique-se de que o módulo Bluetooth está ligado e piscando.

Então siga este guia de vídeo:

Observe que eu fiz o aplicativo para que você tenha que pressionar um botão por mais tempo para garantir que os acidentes sejam mínimos. Portanto, aperte os botões por 2 a 3 segundos.

Portanto, ao apertar um coquetel, você deve ouvir os relés ligando e desligando. Você também pode verificar as lâmpadas na placa de relé. Uma boa maneira de testar todas as bombas é executar o programa de limpeza. Cada relé deve ser ativado por 5 segundos, um a um.

Você deve soldar no capacitor de 1qF. Você tem que fazer isso porque, caso contrário, o ruído de radiofrequência das escovas do motor DC fará com que o módulo Bluetooth se desconecte e outras coisas que você não deseja.

Depois disso, você pode conectar a fonte de alimentação e a bomba. Coloque as bombas nos orifícios que perfuramos anteriormente. Para fazer isso, você deve remover o componente de proteção redondo extra. Isso se encaixa facilmente. Deixe um de lado porque vamos usá-lo mais tarde.

Não, você pode conectar a fonte de alimentação, a placa de relé e as bombas usando o diagrama de fiação. Depois disso, você pode verificar com o aplicativo se as bombas estão funcionando. Se você tiver problemas com a comunicação Bluetooth, verifique se algum dos capacitores está solto.

Então você pode começar a preparar as coisas para fazer bebidas de verdade. Em primeiro lugar, sugiro limpar todas as bombas. Você deve pegar um jarro grande ou um balde com água limpa e colocar todas as mangueiras de sucção no balde. No lado da pressão das mangueiras (onde mais tarde vão os copos de coquetel), você também deve colocar uma jarra ou balde vazio. Agora você pode executar o programa de limpeza e verificar se todas as bombas funcionam.

Depois disso, você pode configurar as coisas para fazer seus primeiros coquetéis. Você deve colocar as mangueiras no frasco correto. Se você conectou tudo de acordo com o diagrama de fiação, a Bomba 1 (conectada ao relé 1 e pino 2) é vodka. A bomba 2 é suco de cranberry e assim por diante ...
  // definindo os pinos usados ​​para cada bebida, você pode alterar isso dependendo de como você conecta as bombas e as bebidas.int Vodka =2; int Cointreau =3; int CranberryJuice =4; int Sprite =5; int LemonJuice =6; int SugarWater =7; int BlueCur =8; int Gin =9;  

Se você mudou algo, pode corrigir os números dos pinos no código.

Existe um botão denominado "Configurar tudo" e este botão irá ativar todas as bombas por um breve segundo para encher as mangueiras e as bombas. Pela primeira vez, eu deveria sugerir configurar cada bombeamento individual para que você tenha certeza de que está conectado à garrafa correta.

Comece com "Set-up vodka" e trabalhe fielmente todas as garrafas para que você saiba que está tudo bem.

Se estiver tudo bem, você pode começar fazendo seu primeiro coquetel. Eu o programei para copos grandes, então certifique-se de usar um copo grande;-).

Se você achar que as proporções das bebidas não são do seu agrado, você pode alterá-las no código:
  // Cosmoif (state =='c') {Serial.println ("Cosmo em construção"); Mix (2500,1500,3800,0,1200,1200,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin}  

Este é o código de um Cosmo. Os valores entre parênteses são os tempos de funcionamento de cada bomba em milissegundos. Por exemplo, se você deseja alterar a quantidade de água com açúcar em sua bebida de 1,2 segundos para 2 segundos, você pode alterar Mix (2500,1500,3800,0,1200,1200,0,0) para Mix (2500,1500 , 3800,0,1200,2000,0,0)

Você pode fazer isso com todos os valores e, portanto, ajustá-lo ao seu gosto.

Se você tiver alguma dúvida, deixe um comentário.

ATUALIZAR => I feito um outro um com a ligeiramente diferente Layout:





Suporte meu trabalho por comprando eu a café.

Código

  • Arduino cocktailmaker com Bluetooth
  • Arquivo de origem do aplicativo (não necessário para compilar)
Arduino cocktailmaker com Bluetooth C / C ++
Para se conectar por bluetooth e deixar o coquetelmaker fazer bebidas para você.
 // criado por Seafoxc // # include  // SoftwareSerial EEBlue (0, 1); // RX | TX // definindo os pinos usados ​​para cada bebida, você pode alterar isso dependendo de como conectar as bombas e as bebidas.int Vodka =2; int Cointreau =3; int CranberryJuice =4; int Sprite =5; int LemonJuice =6; int SugarWater =7; int BlueCur =8; int Gin =9; int state =0; // quanto tempo resta entre a mudança para a próxima bomba.int TimeBetweenPours =500; void setup () {Serial.begin (9600); Serial.println ("Os portões do bluetooth estão abertos. \ N Conecte-se ao HC-05 a partir de qualquer outro dispositivo bluetooth com 1234 como chave de emparelhamento!"); // Defina os pinos 2-9 para os pinos de saída para acionar a placa de relé pinMode (2, OUTPUT); pinMode (3, SAÍDA); pinMode (4, SAÍDA); pinMode (5, SAÍDA); pinMode (6, SAÍDA); pinMode (7, SAÍDA); pinMode (8, SAÍDA); pinMode (9, SAÍDA); // Minha placa de retransmissão é uma placa "baixa verdade". Portanto, definir a saída para baixo energize os relés. Você não quer que todos eles liguem ao ligar o cocktailmaker ... digitalWrite (2, HIGH); digitalWrite (3, ALTO); digitalWrite (4, ALTO); digitalWrite (5, ALTO); digitalWrite (6, ALTO); digitalWrite (7, ALTO); digitalWrite (8, ALTO); digitalWrite (9, ALTO); } void loop () {if (Serial.available ()> 0) {// Verifica se os dados estão vindo da porta serial state =Serial.read (); // Lê os dados da porta serial Serial.println (state);} // Cocktails:// Vodka spriteif (state =='a') {Serial.println ("Vodka Sprite em construção"); Mix (3000,0,0,0,5000,0,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Blue Lagoonif (state =='b') {Serial.println ("Blue Lagoon in the making"); Mix (2.000,0,0,5000,1800,1000,1800,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Cosmoif (state =='c') {Serial.println ("Cosmo em formação"); Mix (2500,1500,3800,0,1200,1200,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Lemon dropif (state =='d') {Serial.println ("Lemon drop in the making"); Mix (1500,1500,0,0,1800,1200,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Blue Moonif (state =='e') {Serial.println ("Blue Moon in the making"); Mix (2.000,0,3000,0,1800,1200,1200,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Blue Gin Moonif (state =='f') {Serial.println ("Blue Gin Moon em formação"); Mix (0,0,3000,0,1800,1200,1200,2000); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Double Strikeif (state =='i') {Serial.println ("Double Strike em construção"); Mix (2.000,0,3000,0,1800,0,1200,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Tom Collinsif (state =='h') {Serial.println ("Tom Collins em construção"); Mix (0,0,0,4000,1800,1800,0,2200); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Flying Dutchmanif (state =='g') {Serial.println ("Flying Dutchman in the making"); Mix (0,2000,0,0,1200,1000,0,2000); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // London Cosmoif (state =='j') {Serial.println ("London Cosmo in the making"); Mix (0,2000,5000,1800,0,0,0,2000); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Vodka Cranberry if (state =='k') {Serial.println ("Vodka Cranberry em preparação"); Mix (2000,0,5000,0,0,1200,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Gin Cranberry if (state =='l') {Serial.println ("Gin Cranberry em preparação"); Mix (0,0,5000,0,2000,0,0,2200); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Opções de teste e manutenção // Set-up Vodkaif (state =='m') {Serial.println ("Set -up Vodka "); Mix (1100,0,0,0,0,0,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Set-up Tripple Secif (state =='n') {Serial.println ("Set-up Tripple Sec" ); Mix (0,1100,0,0,0,0,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Set-up Cranberry juiceif (state =='o') {Serial.println ("Set-up Cranberry juice" ); Mix (0,0,1000,0,0,0,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Spriteif de configuração (estado =='p') {Serial.println ("Sprite de configuração"); Mix (0,0,0,1000,0,0,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Suco de limão set-upif (state =='q') {Serial.println ("Suco de limão set-up" ); Mix (0,0,0,0,1100,0,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Set-up Sugar waterif (state =='v') {Serial.println ("Set-up Sugar water" ); Mix (0,0,0,0,0,1200,0,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Set-up Blue curacaoif (state =='r') {Serial.println ("Set-up Blue curacao" ); Mix (0,0,0,0,0,0,800,0); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Set-up Ginif (state =='s') {Serial.println ("Set-up Gin"); Mix (0,0,0,0,0,0,0,1000); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin} // Cleaningif (state =='t') {Serial.println ("Set-up Gin"); Mix (4000,4000,4000,4000,4000,4000,4000,4000); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curaçao, Gin} // Configurar tudo (inicial pela primeira vez após a limpeza) if (state =='u') {Serial.println ( "Configurar tudo"); Mix (800.800.800.800.1000.1600.800.800); // Vodka, Triple Sec, Suco de cranberry, Sprite, Suco de limão, Água com açúcar, Blue Curacao, Gin}} void Mix (int DelayTimeVodka, int DelayTimeCointreau, int DelayTimeCranberryJuice, int DelayTimeSprite, int DelayTimeLemonJuice, int DelayTimeCointreau, int DelayTimeCranberryJuice, int DelayTimeSprite, int DelayTimeLemonJuice, int DelayTimeCointreau, int DelayTimeCranberryJuice, int DelayTimeSprite, int DelayTimeLemonJuice, int DelayTimeCointreau ) {estado =0; atraso (800); digitalWrite (Vodka, LOW); atraso (DelayTimeVodka); digitalWrite (Vodka, HIGH); atraso (TimeBetweenPours); digitalWrite (Cointreau, LOW); atraso (DelayTimeCointreau); digitalWrite (Cointreau, HIGH); atraso (TimeBetweenPours); digitalWrite (CranberryJuice, LOW); atraso (DelayTimeCranberryJuice); digitalWrite (CranberryJuice, HIGH); atraso (TimeBetweenPours); digitalWrite (Sprite, LOW); atraso (DelayTimeSprite); digitalWrite (Sprite, HIGH); atraso (TimeBetweenPours); digitalWrite (LemonJuice, LOW); atraso (DelayTimeLemonJuice); digitalWrite (LemonJuice, HIGH); atraso (TimeBetweenPours); digitalWrite (SugarWater, LOW); atraso (DelayTimeSugarWater); digitalWrite (SugarWater, HIGH); atraso (TimeBetweenPours); digitalWrite (BlueCur, LOW); atraso (DelayTimeBlueCur); digitalWrite (BlueCur, HIGH); atraso (TimeBetweenPours); digitalWrite (Gin, LOW); atraso (DelayTimeGin); digitalWrite (Gin, HIGH); atraso (TimeBetweenPours); Serial.println ("A bebida está pronta!"); estado =0;} 
Arquivo de origem do aplicativo (não necessário para compilar) YAML
Este é um arquivo AIA que você pode carregar no MIT app inventor. Observe que sou novo no inventor de aplicativos, então talvez algumas coisas não sejam tão bem escritas, mas funcionam :-).
 Sem visualização (somente download). 

Esquemas

Use isto para soldar / conectar os fios Você deve instalar isso em seu telefone para conectar a coqueteleira e enviar comandos para preparar bebidas. cocktailmaker_JLYQqbd2dT.apk

Processo de manufatura

  1. Sanita portátil
  2. Tecido com Loção
  3. REWE International simplifica a IoT com hospedagem de aplicativos
  4. Construindo placas de ensaio Arduino sem fios de jumper
  5. Mapeamento do fluxo de temperatura doméstico com sensores baratos
  6. Monitorando a temperatura com Raspberry Pi
  7. Fácil detector de choro de bebê faça você mesmo com Raspberry Pi
  8. Guia de criação do Portable Raspberry Pi (Retropie Handheld) Parte 1
  9. Ajudando sua equipe a começar com um aplicativo CMMS móvel
  10. Design de aplicativo corporativo:iOS se adapta ao Android em termos de segurança?