I robot stanno giocando un ruolo importante nell'automazione in tutti i settori come edile, militare, medico, manifatturiero, ecc. Dopo aver realizzato alcuni robot di base come il robot con inseguitore di linea, robot controllato da computer, ecc., Abbiamo sviluppato questo robot controllato da gesti basato su accelerometro utilizzando arduino uno. In questo progetto abbiamo utilizzato il movimento della mano per guidare il robot. A questo scopo abbiamo utilizzato l'accelerometro che lavora sull'accelerazione.
Componenti richiesti
- Arduino UNO
- Motori DC
- Accelerometro
- HT12D
- HT12E
- Coppia RF
- Driver del motore L293D
- Batteria da 9 Volt
- Connettore batteria
- cavo USB
- Robot Chasis
RF Coppia:
Un robot controllato tramite gesti viene controllato utilizzando la mano al posto di qualsiasi altro metodo come pulsanti o joystick. Qui è sufficiente muovere la mano per controllare il robot. Nella tua mano viene utilizzato un dispositivo di trasmissione che contiene un trasmettitore RF e un accelerometro. Questo trasmetterà il comando al robot in modo che possa svolgere l'attività richiesta come andare avanti, indietro, girare a sinistra, girare a destra e fermarsi. Tutte queste attività verranno eseguite utilizzando il gesto della mano.
Qui il componente più importante è l'accelerometro. L'accelerometro è un dispositivo di misurazione dell'accelerazione a 3 assi con una gamma di + -3g. Questo dispositivo è realizzato utilizzando un sensore di superficie in polisilicio e un circuito di condizionamento del segnale per misurare l'accelerazione. L'uscita di questo dispositivo è di natura analogica e proporzionale all'accelerazione. Questo dispositivo misura l'accelerazione statica di gravità quando lo incliniamo. E dà un risultato sotto forma di movimento o vibrazione.
Secondo la scheda tecnica della struttura adxl335 in polisilicio micro - lavorata posizionata sulla parte superiore del wafer di silicio. Le molle in polisilicio sospendono la struttura sulla superficie del wafer e forniscono una resistenza contro le forze di accelerazione. La flessione della struttura viene misurata utilizzando un condensatore differenziale che incorpora piastre fisse indipendenti e piastre attaccate alla massa in movimento. Le piastre fisse sono guidate da onde quadre sfasate di 180 °. L'accelerazione devia la massa in movimento e sbilancia il condensatore differenziale risultando in un'uscita del sensore la cui ampiezza è proporzionale all'accelerazione. Le tecniche di demodulazione sensibile alla fase vengono quindi utilizzate per determinare l'entità e la direzione dell'accelerazione.
Pin Descrizione dell'accelerometro
- L'alimentazione Vcc 5 volt dovrebbe essere collegata a questo pin.
- X-OUT Questo pin fornisce un'uscita analogica in direzione x
- Y-OUT Questo pin fornisce un'uscita analogica in direzione y
- Z-OUT Questo pin fornisce un'uscita analogica in direzione z
- GND Ground
- ST Questo pin utilizzato per impostare la sensibilità del sensore
Schema del circuito e spiegazione
Gesture Controlled Robot è diviso in due sezioni:
- Parte del trasmettitore
- Parte ricevente
Nella parte trasmettitore viene utilizzato un accelerometro e un'unità trasmettitore RF. Come abbiamo già discusso, l'accelerometro fornisce un'uscita analogica, quindi qui dobbiamo convertire questi dati analogici in digitali. A questo scopo abbiamo utilizzato un circuito comparatore a 4 canali al posto di qualsiasi ADC. Impostando la tensione di riferimento otteniamo un segnale digitale e quindi applichiamo questo segnale all'encoder HT12E per codificare i dati o convertendolo in forma seriale e quindi inviamo questi dati utilizzando il trasmettitore RF nell'ambiente.
All'estremità del ricevitore abbiamo utilizzato il ricevitore RF per ricevere i dati e quindi applicato al decoder HT12D. Questo decodificatore IC converte i dati seriali ricevuti in parallelo e quindi letti utilizzando arduino. In base ai dati ricevuti, guidiamo il robot utilizzando due motori CC in avanti, indietro, sinistra, destra e stop.
Lavorando
Il robot controllato da gesti si muove in base al movimento della mano quando posizioniamo il trasmettitore nella nostra mano. Quando incliniamo la mano sul lato anteriore, il robot inizia a muoversi in avanti e continua ad andare avanti fino a quando non viene dato il comando successivo.
Quando incliniamo la mano all'indietro, il robot cambia stato e inizia a muoversi all'indietro fino a quando non viene dato un altro comando.
Quando lo incliniamo sul lato sinistro, il robot gira a sinistra fino al comando successivo.
Quando incliniamo la mano nel lato destro, il robot è girato a destra.
E per fermare il robot teniamo la mano stabile.
Schema del circuito per la sezione del trasmettitore
Schema del circuito per la sezione del ricevitore
Il circuito per questo robot controllato da gesti della mano è abbastanza semplice. Come mostrato nei diagrammi schematici sopra, una coppia RF viene utilizzata per la comunicazione e collegata ad arduino. Il driver del motore è collegato ad arduino per eseguire il robot. Il pin di ingresso 2, 7, 10 e 15 del driver del motore è collegato rispettivamente al pin numero 6, 5, 4 e 3 di arduino digital. Qui abbiamo utilizzato due motori CC per guidare il robot in cui un motore è collegato al pin di uscita del driver del motore 3 e 6 e un altro motore è collegato a 11 e 14. Una batteria da 9 volt viene utilizzata anche per alimentare il driver del motore per guidare i motori.
Spiegazione del programma
Nel programma abbiamo innanzitutto definito i pin di uscita per i motori.
E poi nel setup abbiamo dato le indicazioni per appuntare.
Dopodiché leggiamo l'input usando 'if statement' ed eseguiamo l'operazione relativa.
Ci sono un totale di cinque condizioni per questo robot controllato tramite gesti che vengono fornite di seguito:
Movimento della mano |
Ingresso per Arduino dal gesto |
||||
Lato |
D3 |
D2 |
D1 |
D0 |
Direzione |
Stabile |
0 |
0 |
0 |
0 |
Fermare |
Inclina a destra |
0 |
0 |
0 |
1 |
Girare a destra |
Inclina a sinistra |
0 |
0 |
1 |
0 |
Gira a sinistra |
Inclina indietro |
1 |
0 |
0 |
0 |
Indietro |
Inclinazione frontale |
0 |
1 |
0 |
0 |
Inoltrare |
Abbiamo redatto il programma completo secondo le condizioni della tabella sopra. Di seguito il codice completo.