Управление монетоприемником с помощью Arduino
Компоненты и расходные материалы
| | × | 1 | |
| | × | 1 | |
| 4-значный светодиодный дисплей TM1637 | | × | 1 | |
Приложения и онлайн-сервисы
Об этом проекте
Цель этого проекта - написать код для управления монетоприемником с помощью Arduino, чтобы его можно было использовать в другом проекте. Конкретный проект, который я имел в виду, состоял в том, чтобы построить копилку с учетом баланса для моей дочери.
Код
- Управление монетоприемником с помощью Arduino
Управление монетоприемником с помощью Arduino Arduino
// Идеи Марио // Управление монетоприемником с помощью Arduino # include #include #include // Выводы для подключения модуля (цифровые выводы) #define CLK 3 # define DIO 4TM1637Display display (CLK, DIO); // использование переменной для измерения интервалов между импульсами int i =0; // Количество обнаруженных импульсовint impulsCount =0; // Сумма всех вставленных монет float total_amount =0; void setup () { // pinMode (2, INPUT_PULLUP); Serial.begin (9600); display.setBrightness (0x0f); // Прерывание связано с PIN D2, выполняя функцию IncomingImpuls, когда сигнал переходит с HIGH на LOW attachInterrupt (0, incomingImpuls, FALLING); EEPROM.get (0, total_amount); display.clear ();} void incomingImpuls () {impulsCount =impulsCount + 1; я =0;} void loop () {я =я + 1; Serial.print ("я ="); Serial.print (i); Serial.print («Импульсы:»); Serial.print (impulsCount); Serial.print ("Всего:"); Serial.println (total_amount); если (i> =30 и impulsCount ==1) {total_amount =total_amount + 2; impulsCount =0; EEPROM.put (0, total_amount); } if (i> =30 и impulsCount ==2) {total_amount =total_amount + 1; impulsCount =0; EEPROM.put (0, total_amount); } if (i> =30 и impulsCount ==3) {total_amount =total_amount + 0,5; impulsCount =0; EEPROM.put (0, total_amount); } if (i> =30 и impulsCount ==4) {total_amount =total_amount + 0,2; impulsCount =0; EEPROM.put (0, total_amount); } if (i> =30 и impulsCount ==5) {total_amount =total_amount + 0,1; impulsCount =0; EEPROM.put (0, total_amount); } если (total_amount <10) display.showNumberDecEx (total_amount * 10, 0b10000000, true, 2, 2); иначе display.showNumberDecEx (total_amount * 10, 0b00100000, false, 4, 0);}
Схема