Betaalbare Draagbare Cocktailmaker met Slimme App-besturing
Onderdelen en benodigdheden
| Arduino UNO | × | 1 |
| Draadjes (standaard) | × | 10 |
| Mannelijke/Vrouwelijke draadjes | × | 10 |
| Relaismodule 8-kanaals 5V | × | 1 |
| Breadboard (standaard) | × | 1 |
| Bluetooth-module HC-05 | × | 1 |
| 6m siliconen slang 6x9mm | × | 1 |
| 0,1µF condensatoren | × | 8 |
| Draden in rood en zwart 0,75mm² | × | 1 |
| Weerstand 1k ohm | × | 1 |
| Doorvoerweerstand, 2 kohm | × | 1 |
| Pomp 12V DC | × | 8 |
Nodige tools en machines
| Solderbout (standaard) |
| Soldeerdraad, Loodvrij |
| Draadstripper & Knipper, 18-10 AWG / 0.75-4mm² |
| Boormachine / Schroevendraaier, 20V |
| Multitool, Schroevendraaier |
| Boorkop voor hout 28mm diameter |
Apps en online diensten
| MIT App Inventor 2 |
Over dit project
Ik werd geïnspireerd om een barbot te maken na het zien van vergelijkbare projecten op YouTube. Het vaardigheidsniveau en de hoeveelheid onderdelen van de meeste barbots deden me denken dat ik dit kon vereenvoudigen door pompen te gebruiken. Andere ontwerpen met pompen pompen erg langzaam (meer dan een minuut voor een klein drankje) en de pompen die ik gebruik zijn geweldig voor deze toepassing.
Hier is een video die mijn voortgang op het project toont:
Bouw van de frame
Ik begon met het maken van een frame uit houten panelen die ik nog had liggen. Ik zaagde 4 stukken van 16,5cm x 33cm en verbond er twee met schroeven zoals in de foto:

Toen zaagde ik nog een stuk hout naar de afmetingen van de binnenkant van het vierkant als je alle platen samenvoegt. En boorde gaten erin met de 28mm boorkop. Zorg dat de middelpunten van de gaten 5cm uit elkaar liggen zodat er voldoende ruimte is voor de pompen.

Ik schroefde de platen samen zoals te zien is. Zorg dat je een kleine boor gebruikt voor de voorboring van de schroefgaten. Dit voorkomt dat het hout scheurt.

Elektronica aansluiten
Dan was het tijd om de Arduino Uno te verbinden met de Bluetooth-module en het relaisbord. Je hoeft de pompen nog niet aan te sluiten. Gebruik het bedradingsschema.
We willen controleren of het circuit van het relaisbord, de Bluetooth-module en de Arduino Uno werkt. Download daarom de code naar de Arduino Uno.
Nu raad ik aan om het circuit te testen. Download eerst de app en verbind de Bluetooth-module. Zorg dat de Bluetooth-module aanstaat en knippert.
Volg dan deze videogids:
Let op: Ik maakte de app zo dat je langer op een knop moet drukken om ongelukken te minimaliseren. Dus druk 2-3 seconden op de knoppen.
Bij het indrukken van een cocktail moet je de relais horen aan- en uitschakelen. Je kunt ook de lampjes op het relaisbord checken. Een goede manier om alle pompen te testen is het schoonmaakprogramma te draaien. Elk relais moet 5 seconden lang één voor één geactiveerd worden.
Je moet de 0,1µF condensator solderen. Dit is nodig omdat anders de radiofrequentiestoor van de borstels van de DC-motor de Bluetooth-module zal laten loskoppelen en andere ongewensde effecten veroorzaken.

Na dit kun je de voeding en de pomp aansluiten. Plaats de pompen in de gaten die we eerder boorden. Je moet het extra ronde schermcomponent eraf halen. Dat klapt gemakkelijk af. Houd er een apart want we gaan het later gebruiken.

Nu kun je de voeding, het relaisbord en de pompen verbinden met het bedradingsschema. Daarna kun je met de app checken of de pompen werken. Als je problemen hebt met de Bluetooth-communicatie, check dan of een van de condensatoren los is gekomen.
Instellen voor echte drankjes
Eerst raad ik aan om alle pompen schoon te maken. Haal een grote kan of emmer met schoon water en zet alle zuigslangen in de emmer. Op de drukside van de slangen (waar later de cocktailglazen komen) zet je ook een lege kan of emmer. Nu kun je het schoonmaakprogramma draaien en checken of alle pompen werken.
Daarna kun je dingen instellen voor je eerste cocktails. Je moet de slangen in de juiste fles zetten. Als je alles volgens het bedradingsschema hebd aangesloten, is Pomp 1 (verbonden met relais 1 en pin 2) wodka. Pomp 2 is cranberrysap, enzovoort...
// Definiëren van de pinnen voor elk drankje, je kunt dit veranderen afhankelijk van hoe je de pompen en drankjes verbindt.
int Vodka = 2;
int Cointreau = 3;
int CranberryJuice = 4;
int Sprite = 5;
int LemonJuice = 6;
int SugarWater = 7;
int BlueCur = 8;
int Gin = 9;
Als je iets gewijzigd hebt, kun je de pinnummers in de code corrigeren.
Er is een knop "Alles instellen" die alle pompen kort activeert om de slangen en pompen te vullen. Voor de eerste keer raad ik aan om elke pomp apart in te stellen zodat je zeker weet dat hij aan de juiste fles zit.
Begin met "Wodka instellen" en werk je door alle flessen heen tot je weet dat het oké is.
Als dit allemaal oké is, kun je beginnen met je eerste cocktail. Ik heb het geprogrammeerd voor grote glazen, dus zorg dat je een groot glas gebruikt ;-).
Als je de verhoudingen van de drankjes niet lekker vindt, kun je ze in de code aanpassen:
// Cosmo
if (state == 'c') {
Serial.println("Cosmo in the making");
Mix(2500,1500,3800,0,1200,1200,0,0);
// Vodka, Triple Sec, Cranberrysap, Sprite, Limonsap, Suikerwater, Blue Curacao, Gin
}
De waarden tussen haakjes zijn de tijden dat elke pomp werkt in milliseconden. Als je de hoeveelheid suikerwater wilt veranderen van 1,2 seconden naar 2 seconden, verander dan Mix(2500,1500,3800,0,1200,1200,0,0) in Mix(2500,1500,3800,0,1200,2000,0,0).
Je kunt dit met alle waarden doen en zo afstemmen op je smaak.
Als je vragen hebt, laat dan een reactie achter.
UPDATE → Ik heb er nog een gemaakt met een iets ander lay-out.
Ondersteun mijn werk door me een koffie te kopen.
Code
- Arduino cocktailmaker met Bluetooth
- App-bronbestand (niet nodig voor bouwen)
Arduino cocktailmaker met BluetoothC/C++
Om via Bluetooth verbinding te maken en de cocktailmaker drankjes te laten maken.
// created by Seafoxc
//#include <SoftwareSerial.h>
//SoftwareSerial EEBlue(0, 1); // RX | TX
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;
int TimeBetweenPours = 500;
void setup() {
Serial.begin(9600);
Serial.println("The bluetooth gates are open.\n Connect to HC-05 from any other bluetooth device with 1234 as pairing key!");
pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT);
pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT);
pinMode(8, OUTPUT); pinMode(9, OUTPUT);
// Mijn relaisbord is "low true". Output laag = relais aan.
// Je wilt niet dat ze allemaal aanspringen bij inschakelen...
digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH);
digitalWrite(5,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH);
digitalWrite(8,HIGH); digitalWrite(9,HIGH);
}
void loop() {
if(Serial.available() > 0){
state = Serial.read();
Serial.println(state);
}
// Cocktails:
if (state == 'a') { Serial.println("Vodka Sprite in the making"); Mix(3000,0,0,0,5000,0,0,0); }
if (state == 'b') { Serial.println("Blue Lagoon in the making"); Mix(2000,0,0,5000,1800,1000,1800,0); }
if (state == 'c') { Serial.println("Cosmo in the making"); Mix(2500,1500,3800,0,1200,1200,0,0); }
if (state == 'd') { Serial.println("Lemon drop in the making"); Mix(1500,1500,0,0,1800,1200,0,0); }
if (state == 'e') { Serial.println("Blue Moon in the making"); Mix(2000,0,3000,0,1800,1200,1200,0); }
if (state == 'f') { Serial.println("Blue Gin Moon in the making"); Mix(0,0,3000,0,1800,1200,1200,2000); }
if (state == 'i') { Serial.println("Double Strike in the making"); Mix(2000,0,3000,0,1800,0,1200,0); }
if (state == 'h') { Serial.println("Tom Collins in the making"); Mix(0,0,0,4000,1800,1800,0,2200); }
if (state == 'g') { Serial.println("Flying Dutchman in the making"); Mix(0,2000,0,0,1200,1000,0,2000); }
if (state == 'j') { Serial.println("London Cosmo in the making"); Mix(0,2000,5000,1800,0,0,0,2000); }
if (state == 'k') { Serial.println("Vodka Cranberry in the making"); Mix(2000,0,5000,0,0,1200,0,0); }
if (state == 'l') { Serial.println("Cranberry Gin in the making"); Mix(0,0,5000,0,2000,0,0,2200); }
// Test en onderhoud
if (state == 'm') { Serial.println("Set-up Vodka"); Mix(1100,0,0,0,0,0,0,0); }
if (state == 'n') { Serial.println("Set-up Tripple Sec"); Mix(0,1100,0,0,0,0,0,0); }
if (state == 'o') { Serial.println("Set-up Cranberry juice"); Mix(0,0,1000,0,0,0,0,0); }
if (state == 'p') { Serial.println("Set-up Sprite"); Mix(0,0,0,1000,0,0,0,0); }
if (state == 'q') { Serial.println("Set-up Lime juice"); Mix(0,0,0,0,1100,0,0,0); }
if (state == 'v') { Serial.println("Set-up Sugar water"); Mix(0,0,0,0,0,1200,0,0); }
if (state == 'r') { Serial.println("Set-up Blue curacao"); Mix(0,0,0,0,0,0,800,0); }
if (state == 's') { Serial.println("Set-up Gin"); Mix(0,0,0,0,0,0,0,1000); }
if (state == 't') { Serial.println("Cleaning"); Mix(4000,4000,4000,4000,4000,4000,4000,4000); }
if (state == 'u') { Serial.println("Set-up All"); Mix(800,800,800,800,1000,1600,800,800); }
}
void Mix(int DelayTimeVodka, int DelayTimeCointreau, int DelayTimeCranberryJuice, int DelayTimeSprite,
int DelayTimeLemonJuice, int DelayTimeSugarWater, int DelayTimeBlueCur, int DelayTimeGin) {
state = 0;
delay(800);
digitalWrite(Vodka, LOW); delay(DelayTimeVodka); digitalWrite(Vodka, HIGH); delay(TimeBetweenPours);
digitalWrite(Cointreau, LOW); delay(DelayTimeCointreau); digitalWrite(Cointreau, HIGH); delay(TimeBetweenPours);
digitalWrite(CranberryJuice, LOW); delay(DelayTimeCranberryJuice); digitalWrite(CranberryJuice, HIGH); delay(TimeBetweenPours);
digitalWrite(Sprite, LOW); delay(DelayTimeSprite); digitalWrite(Sprite, HIGH); delay(TimeBetweenPours);
digitalWrite(LemonJuice, LOW); delay(DelayTimeLemonJuice); digitalWrite(LemonJuice, HIGH); delay(TimeBetweenPours);
digitalWrite(SugarWater, LOW); delay(DelayTimeSugarWater); digitalWrite(SugarWater, HIGH); delay(TimeBetweenPours);
digitalWrite(BlueCur, LOW); delay(DelayTimeBlueCur); digitalWrite(BlueCur, HIGH); delay(TimeBetweenPours);
digitalWrite(Gin, LOW); delay(DelayTimeGin); digitalWrite(Gin, HIGH); delay(TimeBetweenPours);
Serial.println("Drink is done!");
state = 0;
}
App-bronbestand (niet nodig voor bouwen)YAML
Dit is een AIA-bestand dat je in MIT App Inventor kunt uploaden. Let op: ik ben nieuw met App Inventor, dus misschien zijn sommige dingen niet zo goed geschreven maar het werkt :-).
Geen preview (alleen downloaden).
Schema's
Gebruik dit om de draden te solderen/verbinden:

Je moet dit op je telefoon installeren om de cocktailmaker te verbinden en commando's te sturen om drankjes te maken.
cocktailmaker_JLYQqbd2dT.apk
Productieproces
- Veldefficiëntie versnellen: Uw mobile CMMS-app deployen
- Draagbare Toilet: Geschiedenis, Ontwerp en Milieueffect
- Zachtmakende Doekjes: Hoe Lotion Comfort & Prestaties Verbeteren
- Kosteneffectieve Binnen Temperatuur Mapping Met Laagkost Sensoren
- Accurate temperatuurbewaking in een serverkast met Raspberry Pi
- Een Budget-vriendelijke Raspberry Pi Babyhuil-detector Bouwen – DIY Handleiding
- Een Draagbare Raspberry Pi RetroPie Handheld Bouwen – Deel 1
- Bouw je eigen UFO Attack Game met Arduino UNO & MAX7219 Display
- Jumper Wires Elimineren: Hoe BreadShield Arduino Direct Met Breadboards Verbindt
- REWE International Gebruikt Cisco Catalyst App Hosting Om IoT-implementaties Te Stroomlijnen
- iOS vs. Android: Welk platform biedt superieure enterprise app-beveiliging?