Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
Onderdelen en benodigdheden
| Arduino Nano R3 | 1 |
| Muntenacceptor | 1 |
| 4-digit TM1637 LED-display | 1 |
Apps en online diensten
- Arduino IDE
Over dit project
Het doel van dit project is code te schrijven om een muntenacceptor met Arduino te besturen, zodat het in andere projecten gebruikt kan worden. Het specifieke project dat ik in gedachten had was een balansbewuste spaarpot voor mijn dochter.
Code
// Mario's Ideas
// Muntenacceptor besturen met Arduino
#include
#include
#include
// Module-aansluitpinnen (digitale pinnen)
#define CLK 3
#define DIO 4
TM1637Display display(CLK, DIO);
// Variabelen voor impulsmeting
int i = 0; // Interval tussen impulsen
int impulsCount = 0; // Aantal gedetecteerde impulsen
float total_amount = 0; // Totaal bedrag ingegooide munten
void setup() {
Serial.begin(9600);
display.setBrightness(0x0f);
// Interrupt op pin D2 (interrupt 0) bij vallende flank
attachInterrupt(0, incomingImpuls, FALLING);
EEPROM.get(0, total_amount);
display.clear();
}
void incomingImpuls() {
impulsCount++;
i = 0;
}
void loop() {
i++;
Serial.print("i=");
Serial.print(i);
Serial.print(" Impulsen:");
Serial.print(impulsCount);
Serial.print(" Totaal:");
Serial.println(total_amount);
// Na 30 loops (ongeveer 30ms per loop) evalueren we het aantal impulsen
if (i >= 30 && impulsCount == 1) {
total_amount += 2.0; // 2 euro
impulsCount = 0;
EEPROM.put(0, total_amount);
}
if (i >= 30 && impulsCount == 2) {
total_amount += 1.0; // 1 euro
impulsCount = 0;
EEPROM.put(0, total_amount);
}
if (i >= 30 && impulsCount == 3) {
total_amount += 0.5; // 50 cent
impulsCount = 0;
EEPROM.put(0, total_amount);
}
if (i >= 30 && impulsCount == 4) {
total_amount += 0.2; // 20 cent
impulsCount = 0;
EEPROM.put(0, total_amount);
}
if (i >= 30 && impulsCount == 5) {
total_amount += 0.1; // 10 cent
impulsCount = 0;
EEPROM.put(0, total_amount);
}
// Weergave op 4-digit display met decimaal punt
if (total_amount < 10)
display.showNumberDecEx(total_amount * 10, 0b10000000, true, 2, 2);
else
display.showNumberDecEx(total_amount * 10, 0b00100000, false, 4, 0);
}
Schema
Productieproces
- Arduino Power Control Center: N-FET, P-FET, Relais & RTC Kit
- Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
- Twee Stappenmotors Sturen met Arduino Nano & Joystick – Simpele Tutorial
- ThimbleKrox: Vingergemonteerde Muizenbesturing met Arduino Micro & MPU-6050
- Accurate zonnestralingsmeting met Arduino UNO en Ethernet Shield
- DIY Arduino Kakerlakbesturingssysteem – Bouw voor minder dan $30
- Arduino Uno & Bluetooth voor afstandsbediening van auto: stap-voor-stap handleiding
- Arduino robotarm besturen via speciale Android-app
- Arduino-aangedreven HID UPS: Upgrade je dummy voeding naar USB-compatibele backup
- 25 kHz 4-pins PWM-ventilatorbesturing met Arduino Uno – Bouw, Code & Test