- Componenti richiesti
- Fare la struttura per Arduino Coin Sorter
- Schema elettrico
- Programmazione di Arduino
- Funzionamento del conta monete Arduino
Abbiamo già costruito una macchina per il conteggio di valuta cartacea basata su Arduino utilizzando un sensore di colore. Ora in questo progetto stiamo costruendo una macchina per il conteggio Arduino utilizzando sensori IR. Questa macchina conta e classifica le monete in diverse sezioni con l'aiuto di un sensore a infrarossi. Qui, viene presa una disposizione in cui i sensori IR sono posizionati per rilevare monete diverse e Arduino UNO viene utilizzato per elaborare i dati e mostrare il valore del conteggio totale su LCD 16x2.
Componenti richiesti
- Arduino UNO
- Sensore IR
- Breadboard
- LCD alfanumerico 16 * 2
- Modulo I2C per LCD alfanumerico 16x2 (1602)
- Collegamento dei cavi
Fare la struttura per Arduino Coin Sorter
Passaggio 1: prendere un foglio di cartone e contrassegnare le diverse dimensioni delle monete come mostrato nella figura sottostante. Quindi tagliare con cura le parti contrassegnate. Il taglio di queste porzioni deve essere eseguito accuratamente; in caso contrario, il progetto potrebbe non funzionare perfettamente.
Passaggio 2: posizionare la disposizione sopra in una struttura inclinata come nell'immagine mostrata di seguito. Dopo aver effettuato la disposizione, verificarla inserendo diverse monete sulla pendenza per assicurarsi che la disposizione sia perfettamente funzionante. Se la moneta non si inserisce correttamente, aumentare leggermente la dimensione del foro in base alla moneta e ricontrollare fino al corretto funzionamento.
Passaggio 3: posizionare i sensori IR vicino al percorso di uscita delle singole monete. È molto importante posizionare correttamente i sensori e calibrarli utilizzando il loro potenziometro. Quindi inserire nuovamente le monete per verificare il funzionamento del sensore. Scopri di più sul circuito del sensore IR qui.
Schema elettrico
Di seguito è riportato lo schema del circuito per la macchina per il conteggio Arduino:
Qui, i sensori IR sono posizionati in diversi percorsi di uscita della macchina smistatrice di monete per rilevare le monete. Quando una moneta viene inserita in questo conta monete Arduino, entra nel percorso dedicato come da progetto meccanico e il rispettivo sensore IR rileva la moneta e fornisce un valore di uscita ALTO ad Arduino che può essere letto dai pin analogici di Arduino. Il sensore IR che sta dando un valore ALTO, decide il valore della moneta come Rupie 2/5/10.
Qui un LCD alfanumerico 16x2 è interfacciato con Arduino tramite un modulo I2C, per visualizzare il numero di monete inserite nella scatola. Questo LCD può anche essere collegato direttamente ad Arduino senza utilizzare il modulo I2C, ma ciò richiede un numero maggiore di connessioni. Quindi, per renderlo più semplice, viene utilizzato un modulo I2C insieme a LCD, che utilizza solo 2 pin, cioè SCL, SDA per il collegamento di LCD con Arduino. Per alimentare Arduino, viene utilizzato un adattatore AC-DC 12VDC, 1 AMP, che può essere collegato direttamente al jack di alimentazione di Arduino.
Dopo un piccolo ritocco, la configurazione completa per l' ordinatore di monete basato su Arduino apparirà come segue:
Programmazione di Arduino
Dopo aver eseguito correttamente le connessioni hardware, ora è il momento di programmare Arduino. Il codice completo per Arduino è fornito nella parte inferiore di questo tutorial. Di seguito viene fornita la spiegazione graduale del codice:
La prima cosa da fare nel programma è includere tutte le librerie richieste. Qui nel mio caso, ho incluso la libreria " LiquidCrystal_I2C.h" per l'utilizzo dell'interfaccia I2C di un LCD e " Wire.h " per l'utilizzo della funzionalità I2C su Arduino.
#includere
All'interno di setup (), i comandi LCD sono scritti per visualizzare un messaggio di benvenuto sull'LCD.
lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("BASATO SU ARDUINO"); lcd.setCursor (0,1); lcd.print ("COIN SORTING"); ritardo (2000); lcd.clear ();
All'interno di loop (), la funzione analogRead viene utilizzata per leggere i valori del sensore a infrarossi, da diversi canali analogici di Arduino e memorizzarli in diverse variabili.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Quindi, il codice seguente viene scritto per rilevare le monete e aumentare i valori del contatore di monete. Qui viene utilizzato un valore di flag f1 per evitare più conteggi delle monete.
se (s1> = 200 && f1 == 0) {f1 = 1; } altrimenti se (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Infine, i valori di conteggio vengono visualizzati sul display LCD, utilizzando i comandi seguenti.
lcd.setCursor (0,0); lcd.print ("RS10 RS2 RS5"); lcd.setCursor (1,1); lcd.print (c1); lcd.setCursor (7,1); lcd.print (c2); lcd.setCursor (14,1); lcd.print (c3);
Funzionamento del conta monete Arduino
Dopo la configurazione completa e il caricamento del codice, accendere l'alimentazione 12V DC. Dapprima verrà visualizzato un messaggio di benvenuto sul display LCD e dopo pochi secondi verrà visualizzata una schermata con il numero di tutte le monete disponibili sul display LCD. All'inizio, mostrerà zero poiché non abbiamo ancora inserito monete.
Quindi, inserisci una moneta qualsiasi (Rs. 2/5/10) nella parte superiore della macchina dove è scritto " Insert Coin ". Ora vedrai che il valore del conteggio delle monete deve essere aggiornato sul display LCD. Quindi inserire più monete di valori diversi e controllare il conteggio delle rispettive monete sul display LCD.
Di seguito viene fornito il codice completo insieme a un video.