Sommario:

Auto con controllo gestuale MPU6050 e NRF24L01: 4 passaggi
Auto con controllo gestuale MPU6050 e NRF24L01: 4 passaggi

Video: Auto con controllo gestuale MPU6050 e NRF24L01: 4 passaggi

Video: Auto con controllo gestuale MPU6050 e NRF24L01: 4 passaggi
Video: DIY All Direction Gesture Control Car Using ESP NOW 2024, Luglio
Anonim

Il robot di controllo gestuale è un tipo comune di progetti realizzati dagli hobbisti. Il concetto alla base è semplice: l'orientamento del palmo controlla il movimento dell'auto robot. MPU6050 per rilevare l'orientamento del polso e trasmetterlo all'arduino in valore digitale. L'intervallo di valori va da -32768 a +32767 per ogni asse. Modulo basato sul chip NRF24L01 con comunicazione bidirezionale sulla banda a 2,4 GHz. Il circuito ha un'antenna incorporata. Il modulo comunica con i microcontrollori tramite riferimento SPI. La portata di un tale modulo in teoria è fino a 100 metri. Inoltre, è possibile controllare la potenza del trasmettitore per ridurre il consumo energetico. I motori sono controllati dal modulo L298N alimentato da sei batterie AA/R6.

Passaggio 1: elenca gli elementi

Elenca elementi
Elenca elementi

Passaggio 2: schema trasmettitore e codice

Schema trasmettitore e codice
Schema trasmettitore e codice

Schizzo SCARICA

Passaggio 3: ricevitore e codice dello schema

Ricevitore e codice dello schema
Ricevitore e codice dello schema

Schizzo SCARICA

Passaggio 4: configurazione

Dopo aver caricato gli schizzi su Arduino, collega il ricevitore al computer e apri il MONITOR SERIALE. Accendi il trasmettitore e vedrai che vedi i valori dell'asse X e dell'asse Y. Ora imposta i valori per ogni direzione di marcia. Valore STOP: se il valore FORWARD è AcX 6000. Il valore STOP sarà l'intervallo tra questi valori AcX -6000.

Fai lo stesso per l'asse Y. Se il tuo ricevitore è ora ben configurato, rimuovi questo pezzo di codice e carica il programma.

// ELIMINA // -----------------------------

Serial.print ("AcX:");

Stampa.seriale (ACX);

Serial.print ("");

Serial.print ("AcY:");

Stampa seriale (ACY);

ritardo (300);

// -----------------------------

Consigliato: