Münzprüfer mit Arduino steuern
Komponenten und Verbrauchsmaterialien
| | × | 1 | |
| | × | 1 | |
| 4-stelliges TM1637-LED-Display | | × | 1 | |
Über dieses Projekt
Der Zweck dieses Projekts besteht darin, Code zu schreiben, um den Münzprüfer mit Arduino zu steuern, damit er in anderen Projekten verwendet werden kann. Das besondere Projekt, das ich im Sinn hatte, war, für meine Tochter ein bilanzbewusstes Sparschwein zu bauen.
Code
- Münzprüfer mit Arduino steuern
Münzprüfer mit Arduino steuernArduino
//Mario's Ideas//Münzprüfer mit Arduino steuern#include #include #include // Modulanschlusspins (Digital Pins)#define CLK 3#define DIO 4TM1637Display display (CLK, DIO); // Variable Verwendung zum Messen der Intervalle zwischen den Impulsenint i=0; // Anzahl der erkannten Impulseint impulsCount=0; // Summe aller Münzen insetedfloat total_amount=0;void setup () { // PinMode (2, INPUT_PULLUP); Serial.begin (9600); display.setBrightness(0x0f); // Mit PIN D2 verbundener Interrupt, der die IncomingImpuls-Funktion ausführt, wenn das Signal von HIGH auf LOW wechselt attachInterrupt (0,incomingImpuls, FALLING); EEPROM.get(0, total_amount); display.clear();}IncomingImpuls() ungültig machen { impulsCount=impulsCount+1; i=0;}void loop() { i=i+1; Serial.print("i="); Serial.print (i); Serial.print ("Impulse:"); Serial.print (impulsCount); Serial.print("Gesamt:"); Serial.println (total_amount); if (i>=30 und impulsCount==1){ total_amount=total_amount+2; Impulszahl=0; EEPROM.put(0, total_amount); } if (i>=30 und impulsCount==2) { total_amount=total_amount+1; Impulszahl=0; EEPROM.put(0, total_amount); } if (i>=30 und impulsCount==3) { total_amount=total_amount+0.5; Impulszahl=0; EEPROM.put(0, total_amount); } if (i>=30 und impulsCount==4) {total_amount=total_amount+0.2; Impulszahl=0; EEPROM.put(0, total_amount); } if (i>=30 und impulsCount==5) { total_amount=total_amount+0.1; Impulszahl=0; EEPROM.put(0, total_amount); } if(total_amount<10) display.showNumberDecEx(total_amount*10, 0b10000000, true, 2, 2); else display.showNumberDecEx(total_amount*10, 0b00100000, false, 4, 0);}
Schaltpläne