Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-Snack-Automat – Design & Bauanleitung

Komponenten und Materialien

Komponente Menge Hinweise
Arduino UNO 1 Besser: Arduino Mega (mehr I/Os)
Sensor Shield 1
DC-Motor 6V mit Rad 3 Für 3 Spirale/Ausgabefächer
Infrarot-Reflexionssensor / Liniensensor 3 Produkterkennung beim Ausgeben
Näherungssensor (induktiv) 1 Münzsensor 1
Lichtschranke (Infrarot/Optokoppler) 1 Münzsensor 2
Netzteil 6V für DC-Motoren 1
Relais (4-Kanal) 1 Motoren ansteuern
LCD (Nokia 5110) 1 Monochrom-Display
LED (weiß) 2
Taster (Rot, Gelb, Grün) 3 Produktwahl

Apps & Online-Dienste

Über dieses Projekt

Hallo aus Indonesien! Dieser Snack-Automat war mein Abschlussprojekt (fertiggestellt Ende 2015). Ziel: Ein Münz-automatisierter Snack-Automat mit Arduino, gebaut aus „günstigen, lokal verfügbaren“ Komponenten.

Das folgende Video zeigt den finalen Test: Münzeinwurf, Produktwahl, Ausgabe.

Schritt 1: Konzept skizzieren

Alles beginnt mit dem Konzept. Meine erste Skizze: Snack-Automat, Münzeinwurf, Acryl-Gehäuse. Konzept wählen und durchdenken – alle Szenarien, Bedingungen, Fehlerfälle bedenken. Alles skizzieren, egal wie unschön die Zeichnung. Der richtige Zeitpunkt für das „Undenkbare“ ist vor Projektstart.

Schritt 2: 3D-Modell erstellen

Für mich essenziell. Vollständiges SolidWorks-Modell: Abmessungen der Snack-Packungen, Münzgrößen (akzeptiert/abgelehnt), Münzschacht, Münzrampe, Taster, Arduino-Platzierung, Sensorpositionen, LCD-Platzierung, Schraublöcher für alle Teile.

Gehäuse aus Acryl, Laserschnitt. Je präziser das Modell, desto passgenauer das Gehäuse.

Schritt 3: Münzschacht designen

Zwei Filterstufen:

  1. Schachtbreite bestimmt, welche Münzdurchmesser überhaupt eintreten können.
  2. Rampenlänge filtert nach Durchmesser: Zu kleine Münzen fallen durch die Rampenlücke und werden abgelehnt; korrekte Münzen rollen in den Münzhalter.

Bildlegende: Links = zu groß (passt nicht in Schacht), Mitte = zu klein (fällt durch, abgelehnt), Rechts = akzeptiert (rollt in Halter).

Schritt 4: Jede Komponente vorbereiten & testen

Arduino ready machen, alles testen: LCD, Taster, Relais, LED. Logiken und Code ausprobieren, Grenzen austesten (aber nicht kaputtmachen). Warum Vorwiderstand? Was passiert bei X? Warum schwanken Sensorwerte? Welcher Wert wird tatsächlich gelesen?

Ergebnis: Induktiver Näherungssensor lieferte „unruhiges“ Signal – Pull-down-Widerstand beruhigte es. Infrarotsensor funktionierte bei direkter Sonne sehr schlecht – Lösung: Duktape um den Empfängerteil wickeln zur Abschirmung.

Schritt 5: Spiralmechanismus bauen

Kernstück der Ausgabe. Spiralmechanismus aus 2 mm Aludraht, manuell um 9 cm PVC-Rohr gewickelt. Spirale mit Kabelbindern am Motorrad befestigt. Motor an → Rad dreht → Spirale dreht. Drehbewegung wird in Linearbewegung des Produkts umgewandelt.

Schritt 6: Münzerkennungs-Mechanismus bauen

Zwei Sensoren im Münzlauf:

Wichtig: Nicht zu viele Magnete am Münzlauf – sonst klemmt die Münze. Wir brauchen freie Passage für exakte Zeitmessung. Die „Reisezeit“ (ms) identifiziert den Münzwert:

if (Reisezeit >= yyy ms) dann Münze "aaa" else Münze "bbb"

Schritt 7: Produkterkennung bauen

3 Infrarotsensoren erkennen, wenn ein Produkt nach Spiraldrehung herunterfällt. Auslösung → Signal an Relais → Motor stoppt.

Schritt 8: LCD für Informationen nutzen

Nokia 5110 zeigt (in Indonesischer Währung):

Schritt 9: Fertigstellung & Test

Nach ca. 3 Monaten: Finaler Test (Münze, Auswahl, Ausgabe). Video im Originalprojekt.

Hoffe, dieses Projekt inspiriert zum Nachbau eigener Arduino-Automaten.

Schritt 10: Verbesserungspotenzial

Besonderer Dank: ITENAS Bandung, Fakultät für Maschinenbau.

Code

Quellcode für Snack-Automat (Arduino)

// Zustandsdefinitionen
const byte SIAP = 0;
const byte KOIN_MASUK1 = 1; // ... bis KOIN_MASUK7 = 7
const byte SALDO_500 = 8;   // ... diverse Saldo-Zustände bis SALDO_1000500500 = 21
const byte KOIN_KELUAR = 22;

byte state = SIAP;
const float jeda_waktu = 876; // Schwellenwert Reisezeit (ms)
unsigned long time1...time7;

// Nokia 5110 LCD Pins
#define PIN_SCE 7
#define PIN_RESET 6
#define PIN_DC 5
#define PIN_SDIN 4
#define PIN_SCLK 3
#define LCD_C LOW
#define LCD_D HIGH
#define LCD_X 84
#define LCD_Y 48

// ASCII-Font-Tabelle (gekürzt)
static const byte ASCII[][5] = { ... };

// LCD-Funktionen: LcdWrite, LcdCharacter, LcdClear, LcdInitialise, LcdString

void setup() {
  // Pin-Modes für Sensoren (A0-A5), Relais (8-10,13), Buzzer (2), Buttons (11,12,14-19)
  Serial.begin(9600);
  LcdInitialise();
  LcdClear();
  LcdString(" Masukkan Koin Rp500 atau Koin Rp1000 @ Rp2000");
  delay(500);
}

void loop() {
  // Zustandsautomat für Münzerkennung (2-Sensor-Zeitmessung)
  // Saldo-Verwaltung (verschiedene SALDO_-Zustände)
  // Produktauswahl per Taster (Pins 17,18,19)
  // Motoransteuerung über Relais (Pins 8,9,10)
  // Produkterkennung via IR-Sensoren (Pins 11,15,16)
  // Rückgabe in Startzustand nach Transaktion
}

Vollständiger Code im Originalprojekt (sehr umfangreicher Zustandsautomat).

Custom Parts / Gehäuse

SolidWorks 3D-Modell-Screenshots im Originalprojekt.

Herstellungsprozess

  1. Automaten: Eine 36,6-Milliarden-Dollar-Industrie in den USA
  2. K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
  3. Digitales Stadiometer bauen: Körpergröße messen mit Arduino & Lasersensor VL53L0X
  4. DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
  5. Sensorturm mit Arduino Cloud: Temperatur, Bewegung & Gase überwachen
  6. Intelligente, bewegungsaktivierte Wasserpistole mit Arduino Nano
  7. Reverse Vending Machine (RVM): DIY Smart Recycling System Kit
  8. How to Sell Your Used Industrial Equipment Online: Private Treaty, Auction, and Tender Tips
  9. Frischmilch-Automaten (Milch-Tankstellen): Komfortabel, Günstig, Ökologisch
  10. Nudel-Automaten entdecken: Funktionsweise und Angebot