Arduino-gestuurde 6-Shooter Drank Mixstation – Bouw je eigen Cocktail Automaat
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| RobotGeek Geekduino (of Arduino UNO) | 1 |
| RobotGeek Sensor Shield | 1 |
| RobotGeek Duino Mount | 1 |
| RobotGeek Mega Workbench | 1 |
| RobotGeek 4-regelige I2C LCD-bedieningspaneel | 1 |
| RobotGeek Drink Station | 1 |
| RobotGeek NeoPixel Ring - 16 x WS2812 5050 RGB LED | 1 |
| RobotGeek 12V DC vloeistofpomp | 1 |
| RobotGeek Solenoid klep | 7 |
| RobotGeek Relais | 8 |
| RobotGeek 12V/10A voeding | 1 |
| RobotGeek 6V/2A voeding | 1 |
| RobotGeek DC Power Squid | 2 |
| RobotGeek Silicone slang | 1 |
| RobotGeek 3-pins koppeling | 1 |
| RobotGeek Standoff variantenpakket | 1 |
| RobotGeek 3-pins sensor kabel | 1 |
| Terugslagklep | 1 |
| 6-uitgang verdeelklep | 1 |
Apps en online diensten
- Arduino IDE
Over dit project
Inleiding
Wil je drankjes mixen met één druk op de knop? De 6-Shooter kan combinaties van 6 verschillende dranken mixen met slechts één pomp! Selecteer je drankje uit de lijst, druk op de knop, en de machine schenkt je drankje in, met een lightshow als bonus. In deze tutorial bouwen we iets vergelijkbaars als de Somabar. Let op: dit is een tamelijk duur project, maar het is een echte blikvanger op feestjes. Wil je er zelf een bouwen? Laten we beginnen!
Stap 1: Bedrading
De bedrading ziet er ingewikkeld uit, maar het is eigenlijk herhaling van hetzelfde proces. Hieronder de stappen voor het aansluiten van de solenoidkleppen en de pomp aan de relais:
- Maak een draad vast van de solenoidklep aan de mittenterminal van het relais.
- Sluit de massa-aarde van de DC-jack aan op de NO (Normaal Open) terminal van het relais.
- Verbinden de andere aansluiting van de solenoidklep met de spanning-draad van de DC-jack, met een draadmoer of gesoldeerd (solderen geeft een betere verbinding).
Hetzelfde geldt voor de pomp: de negatieve (zwarte) draad gaat naar de mittenterminal van het relais, de positieve (rode) naar de spanning-draad van de DC-jack.
Bouw eerst het LCD-bedieningspaneel en de RobotGeek Drink Station voordat je begint met bedraden.
Componenten aansluiten op de Sensor Shield:

Stap 2: Montage
Plaats de componenten zo dat de draden niet op spanning staan en de elektronica veilig is voor vloeistoffen. Houd de draadwar tussen de twee werkbankplaten. Controleer de afbeeldingen voor inspiratie en het schema voor de juiste oriëntatie van de vloeistoflijnen.




Stap 3: Programmeren en testen
Je hebt de RobotGeek Libraries en Tools nodig. Download de zip, plaats in je Arduino-map, open de IDE en laad:
File → Sketchbook → RobotGeekSketches → Demos → drinkStation
Bekijk de code om de drankenlijst, pomptijd en LCD-adres aan te passen:
// Selecties
String selectionLine[14] = { " ", "1. Rood ", "2. Groen ", "3. Blauw ", "4. Geel ", "5. Wit ", "6. Zwart ", "7. Rood & Geel ", "8. Groen & Blauw ", "9. Zwart & Wit ", "10. Zwart & Geel ", " ", " ", "Einde van lijst " };
int PUMP_TIME = 2500; // Pomptijd in milliseconden
LiquidCrystal_I2C lcd(0x27, 20, 4); // LCD adres 0x27 (of 0x3F)
// Voorbeeld case voor drankje 1 (Rood)
if ( debounce[2].fell() ) {
switch (drinkSelectCounter) {
case 1: // Rood
lcd.setCursor(0, 0);
lcd.print(promptLine[2]);
colorWipe(strip.Color(255, 0, 0), 50); // Rood licht
digitalWrite(PUMP_RELAY_PIN, HIGH); // Pomp aan
digitalWrite(SELECTED_RELAY_PIN[0], HIGH); // Klep 1 open
delay(PUMP_TIME);
digitalWrite(SELECTED_RELAY_PIN[0], LOW); // Klep 1 dicht
digitalWrite(CLEAN_RELAY_PIN, HIGH); // Schoonmaakklep open
delay(PUMP_TIME);
digitalWrite(CLEAN_RELAY_PIN, LOW); // Schoonmaakklep dicht
digitalWrite(PUMP_RELAY_PIN, LOW); // Pomp uit
break;
}
}
Upload de code, test eerst met water. Controleer elke klep apart voordat je mengsels test. Daarna: feest!
Stap 4: Feest!
Nu heb je een geautomatiseerde barman! Je gasten zullen verbijsterd zijn. Mogelijke uitbreidingen: Bluetooth-app voor bestellingen, robotarm voor serveren, of een droid die rondrijdt. Deel je creaties!
Code
De volledige code is te vinden op GitHub: RobotGeek Libraries & Tools
Code fragment: Drankenlijst
// Selections
String selectionLine[14] = { " ", "1. Red ", "2. Green ", "3. Blue ", "4. Yellow ", "5. White ", "6. Black ", "7. Red & Yellow ", "8. Green & Blue ", "9. Black & White ", "10. Black & Yellow ", " ", " ", "End of List " };
Code fragment: Drankje selectie logica
if ( debounce[2].fell() ) {
switch (drinkSelectCounter) {
case 1: // Red
lcd.setCursor(0, 0);
lcd.print(promptLine[2]);
colorWipe(strip.Color(255, 0, 0), 50);
digitalWrite(PUMP_RELAY_PIN, HIGH);
digitalWrite(SELECTED_RELAY_PIN[0], HIGH);
delay(PUMP_TIME);
digitalWrite(SELECTED_RELAY_PIN[0], LOW);
digitalWrite(CLEAN_RELAY_PIN, HIGH);
delay(PUMP_TIME);
digitalWrite(CLEAN_RELAY_PIN, LOW);
digitalWrite(PUMP_RELAY_PIN, LOW);
break;
}
}
Productieproces
- Bouw een DCC-commando station voor modelspoor met Arduino – gratis app inclusief
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- DIY Arduino USB Gaming Controller – Bouw Je Eigen High-Performance Gamepad
- Pixel Chaser: Interactieve één-tik LED-spel met Arduino Nano
- Arduino-gebaseerde Afstotende Magnetische Levitatie: Eenvoudige Schakeling & DIY Handleiding
- Bouw een $10 Draagbare Arduino Weerstation (AWS) – Eenvoudige DIY met Nano, DHT22, BMP180 & LCD
- Alexa-ingeschakelde Arduino Thuiscontroller: Slimme Automatisering Made Simple
- NeoPixel Matrix Pong op Arduino Nano: Bouw je eigen neon Pong-spel
- Realtime Weerstation met Arduino & ThingSpeak IoT
- Arduino Nano Weerstation: Sensor Kit & OLED Display
- DIY LED Roulette-spel – Bouw Eenpersoons Arcade Met Arduino Nano