Aceitar moeda de controle com Arduino
Componentes e suprimentos
| | × | 1 | |
| | × | 1 | |
| Tela de LED TM1637 de 4 dígitos | | × | 1 | |
Aplicativos e serviços online
Sobre este projeto
O objetivo deste projeto é escrever código para controlar o aceitador de moedas com o arduino para que ele possa ser usado em outro projeto. O projeto específico que eu tinha em mente era construir um cofrinho com consciência de equilíbrio para minha filha.
Código
- Controlando o aceitador de moedas com Arduino
Controlando o aceitador de moedas com Arduino Arduino
// Idéias do Mario // Controlando o aceitador de moedas com o Arduino # include #include #include // Pinos de conexão do módulo (pinos digitais) #define CLK 3 # define DIO 4TM1637Display display (CLK, DIO); // variável usada para medir os intervalos entre os impulsosint i =0; // Número de impulsos detectadosint impulsCount =0; // Soma de todas as moedas insetedfloat total_amount =0; void setup () { // pinMode (2, INPUT_PULLUP); Serial.begin (9600); display.setBrightness (0x0f); // Interrupção conectada ao PIN D2 executando a função IncomingImpuls quando o sinal vai de HIGH para LOW attachInterrupt (0, EntryImpuls, FALLING); EEPROM.get (0, valor_total); display.clear ();} void entryImpuls () {impulsCount =impulsCount + 1; i =0;} loop vazio () {i =i + 1; Serial.print ("i ="); Serial.print (i); Serial.print ("Impulsos:"); Serial.print (impulsCount); Serial.print ("Total:"); Serial.println (total_amount); if (i> =30 e impulsCount ==1) {total_amount =total_amount + 2; impulsCount =0; EEPROM.put (0, quantidade_total); } if (i> =30 e impulsCount ==2) {total_amount =total_amount + 1; impulsCount =0; EEPROM.put (0, quantidade_total); } if (i> =30 e impulsCount ==3) {total_amount =total_amount + 0,5; impulsCount =0; EEPROM.put (0, quantidade_total); } if (i> =30 e impulsCount ==4) {total_amount =total_amount + 0,2; impulsCount =0; EEPROM.put (0, quantidade_total); } if (i> =30 e impulsCount ==5) {total_amount =total_amount + 0,1; impulsCount =0; EEPROM.put (0, quantidade_total); } if (total_amount <10) display.showNumberDecEx (total_amount * 10, 0b10000000, true, 2, 2); else display.showNumberDecEx (total_amount * 10, 0b00100000, false, 4, 0);}
Esquemas