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

Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern

Komponenten und Materialien

Arduino Nano R3 × 1
Münzprüfer (Coin Acceptor) × 1
4-stelliges TM1637 LED-Display × 1

Apps und Online-Dienste

Über dieses Projekt

Ziel: Code schreiben, um einen Münzprüfer mit Arduino zu steuern – wiederverwendbar für andere Projekte. Konkreter Anwendungsfall: ein kontostandsbewusstes Sparschwein für meine Tochter.

Code

Münzprüfer-Steuerung mit Arduino

// Mario's Ideas
// Controlling coin acceptor with Arduino
#include <Arduino.h>
#include <TM1637Display.h>
#include <EEPROM.h>

// Modul-Anschlüsse (Digital Pins)
#define CLK 3
#define DIO 4
TM1637Display display(CLK, DIO);

// Variablen für Impulsauswertung
int i = 0;               // Intervall-Zähler zwischen Impulsen
int impulsCount = 0;     // Anzahl erkannter Impulse
float total_amount = 0;  // Summe aller eingeworfenen Münzen

void setup() {
  Serial.begin(9600);
  display.setBrightness(0x0f);
  // Interrupt an Pin D2 (Interrupt 0) bei fallender Flanke
  attachInterrupt(0, incomingImpuls, FALLING);
  EEPROM.get(0, total_amount); // Gespeicherten Stand laden
  display.clear();
}

void incomingImpuls() {
  impulsCount++;
  i = 0;
}

void loop() {
  i++;
  Serial.print("i="); Serial.print(i);
  Serial.print(" Impulses:"); Serial.print(impulsCount);
  Serial.print(" Total:"); Serial.println(total_amount);

  // Nach 30 Zyklen ohne weiteren Impuls: Münzwert zuordnen
  if (i >= 30 && impulsCount == 1) { total_amount += 2;   impulsCount = 0; EEPROM.put(0, total_amount); }
  if (i >= 30 && impulsCount == 2) { total_amount += 1;   impulsCount = 0; EEPROM.put(0, total_amount); }
  if (i >= 30 && impulsCount == 3) { total_amount += 0.5; impulsCount = 0; EEPROM.put(0, total_amount); }
  if (i >= 30 && impulsCount == 4) { total_amount += 0.2; impulsCount = 0; EEPROM.put(0, total_amount); }
  if (i >= 30 && impulsCount == 5) { total_amount += 0.1; impulsCount = 0; EEPROM.put(0, total_amount); }

  // Anzeige: Betrag in Eurocent (×10 für eine Dezimalstelle)
  if (total_amount < 10)
    display.showNumberDecEx(total_amount * 10, 0b10000000, true, 2, 2); // führende Nullen, Dezimalpunkt
  else
    display.showNumberDecEx(total_amount * 10, 0b00100000, false, 4, 0);
}

Schaltplan

Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern

Hinweis: Der Münzprüfer sendet Impulse proportional zum Münzwert (z.B. 1 Impuls = 2€, 2 Impulse = 1€, 3 = 50ct, 4 = 20ct, 5 = 10ct). Der Code zählt Impulse innerhalb eines Zeitfensters (30 Loop-Zyklen) und addiert den entsprechenden Wert. Der Gesamtbetrag wird im EEPROM persistent gespeichert.

Herstellungsprozess

  1. Arduino Power Control Center: N-FET, P-FET, Relais & RTC Kit
  2. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  3. DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
  4. Zwei Schrittmotoren mit Arduino Nano & Joystick steuern – Einfaches Tutorial
  5. ThimbleKrox: Fingermontierte Maussteuerung mit Arduino Micro & MPU-6050
  6. Präzise Solareinstrahlungsmessung mit Arduino UNO & Ethernet Shield
  7. DIY Arduino Kakerlaken-Steuerung – Bauen für unter 30 €
  8. Arduino Uno & Bluetooth: Fernsteuerung eines Autos – Schritt-für-Schritt-Anleitung
  9. Arduino Roboterarm per Android-App & Bluetooth steuern
  10. 25-kHz-4-Pin-PWM-Lüftersteuerung mit Arduino Uno – Bau, Code & Test