Cuprins:

Robot controlat prin gesturi folosind Arduino: 7 pași
Robot controlat prin gesturi folosind Arduino: 7 pași

Video: Robot controlat prin gesturi folosind Arduino: 7 pași

Video: Robot controlat prin gesturi folosind Arduino: 7 pași
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Noiembrie
Anonim
Robot controlat prin gesturi folosind Arduino
Robot controlat prin gesturi folosind Arduino

Roboții sunt utilizați în multe sectoare, cum ar fi construcțiile, armata, producția, asamblarea etc. Roboții pot fi autonome sau semi-autonome. Roboții autonomi nu necesită nicio intervenție umană și pot acționa singuri în funcție de situație. Roboții semi-autonomi funcționează conform instrucțiunilor date de oameni. Aceste semi-autonome pot fi controlate de la distanță, telefon, gesturi etc. Am construit anterior puțini roboți bazați pe IoT, care pot fi controlați de pe serverul web.

În articolul de astăzi, vom construi un robot controlat prin gesturi folosind Arduino, accelerometru MPU6050, pereche de transceiver nRF24L01 și modulul driverului de motor L293D. Vom proiecta acest robot în două părți. Unul este Transmițătorul, iar celălalt este Receptorul. Secțiunea transmițător constă dintr-un Arduino Uno, accelerometru și giroscop MPU6050 și nRF24L01, în timp ce secțiunea Receptor este formată dintr-un Arduino Uno, nRF24L01, două motoare de curent continuu și un driver de motor L293D. Transmițătorul va acționa ca telecomandă pentru a controla robotul unde robotul se va deplasa conform gesturilor.

Pasul 1: Componente necesare

Componente necesare
Componente necesare
Componente necesare
Componente necesare
  • Arduino Uno (2)
  • NRF24L01 (2)
  • Motor MPU6050DC (2)
  • Modulul driverului de motor L293D
  • Aluat

Accelerometru și giroscop MPU6050 Modulul senzor MPU6050 este un sistem micro-electromecanic complet cu 6 axe (accelerometru cu 3 axe și giroscop cu 3 axe). Modulul senzor MPU6050 are și un senzor de temperatură pe cip. Are o interfață magistrală I2C și magistrală auxiliară I2C pentru a comunica cu microcontrolerele și alte dispozitive de senzori precum magnetometru pe 3 axe, senzor de presiune etc. Modulul senzor MPU6050 este utilizat pentru a măsura accelerația, viteza, orientarea, deplasarea și alte mișcări. -parametri înrudiți. Acest modul senzor are, de asemenea, un procesor de mișcare digital încorporat, care poate efectua calcule complexe.

NRF24L01 Modul Transceiver

nRF24L01 este un transceiver radio cu un singur cip pentru banda ISM la nivel mondial de 2,4 - 2,5 GHz. Transmițătorul este format dintr-un sintetizator de frecvență complet integrat, un amplificator de putere, un oscilator de cristal, un demodulator, un modulator și un motor de protocol ShockBurs îmbunătățit. Puterea de ieșire, canalele de frecvență și configurarea protocolului sunt ușor de programat printr-o interfață SPI. Gama de tensiune de funcționare a acestui modul Transceiver este de 1,9V până la 3,6V. Are moduri de oprire încorporate și de așteptare încorporate care îl fac economisitor de energie și ușor de realizat.

Pasul 2: Lucrul robotului controlat prin gesturi manuale folosind Arduino

Lucrul robotului controlat prin gesturi manuale folosind Arduino
Lucrul robotului controlat prin gesturi manuale folosind Arduino
Lucrul robotului controlat prin gesturi manuale folosind Arduino
Lucrul robotului controlat prin gesturi manuale folosind Arduino

Pentru a înțelege funcționarea acestei mașini de control al gesturilor Arduino, să împărțim acest proiect în două părți. Prima parte este partea transmițătorului (la distanță) în care senzorul accelerometrului MPU6050 trimite continuu semnale către receptor (robot) prin intermediul transmițătorului Arduino și nRF.

A doua parte este partea receptorului (mașină robot) în care receptorul nRF primește datele transmise și le trimite către Arduino, care le prelucrează în continuare și mută robotul în consecință.

Senzorul accelerometrului MPU6050 citește coordonatele X Y Z și trimite coordonatele către Arduino. Pentru acest proiect, avem nevoie doar de coordonate X și Y. Arduino verifică apoi valorile coordonatelor și trimite datele către emițătorul nRF. Datele transmise sunt primite de receptorul nRF. Receptorul trimite datele către Arduino din partea receptorului. Arduino transmite datele către driverul motor IC și driverul motorului rotește motoarele în direcția necesară.

Pasul 3: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului
Diagrama circuitului
Diagrama circuitului

Acest robot controlat prin gesturi manuale folosind hardware Arduino este împărțit în două secțiuni

  1. Transmiţător
  2. Receptor

Pasul 4: Circuitul emițătorului pentru mașina controlată prin gesturi Arduino

Circuitul emițătorului pentru mașina controlată prin gesturi Arduino
Circuitul emițătorului pentru mașina controlată prin gesturi Arduino
Circuitul emițătorului pentru mașina controlată prin gesturi Arduino
Circuitul emițătorului pentru mașina controlată prin gesturi Arduino
Circuit emițător pentru mașină controlată prin gesturi Arduino
Circuit emițător pentru mașină controlată prin gesturi Arduino

Secțiunea emițător a acestui proiect constă din accelerometru și giroscop MPU6050, transmițător nRF24L01 și Arduino Uno. Arduino primește continuu date de la MPU6050 și trimite aceste date către emițătorul nRF. Transmițătorul RF transmite datele în mediu.

Pasul 5: Circuitul receptorului pentru mașina controlată prin gesturi Arduino

Circuitul receptorului pentru mașina controlată prin gesturi Arduino
Circuitul receptorului pentru mașina controlată prin gesturi Arduino
Circuitul receptorului pentru mașina controlată prin gesturi Arduino
Circuitul receptorului pentru mașina controlată prin gesturi Arduino
Circuitul receptorului pentru mașina controlată prin gesturi Arduino
Circuitul receptorului pentru mașina controlată prin gesturi Arduino

Secțiunea receptor a acestui robot controlat prin gesturi este alcătuită din Arduino Uno, transmițător nRF24L01, 2 motoare de curent continuu și un modul driver de motor. Receptorul NRF24L01 primește datele de la transmițător și le trimite către Arduino. Apoi, conform semnalelor primite, Arduino mută motoarele de curent continuu.

Pasul 6: Explicația programului

Pentru robotul Gesture controlat care utilizează Arduino, codul complet este disponibil aici. Mai jos vă explicăm programul rând cu rând.

Programul emisorului

În acest program, Arduino citește datele de la MPU6050 și le trimite la transmițătorul nRF 24L01.

1. Începeți programul adăugând fișierele bibliotecii necesare. Puteți descărca fișierele bibliotecii din linkurile date.

SPI.h

nRF24L01.h

Sârmă.h

MPU6050.h

2. Apoi definiți variabilele pentru datele giroscopului și accelerometrului MPU6050. Aici vor fi utilizate doar datele accelerometrului.

3. Definiți adresele conductelor radio pentru comunicația și transmițătoarele nRF pinii CN și CSN.

4. În interiorul funcției de configurare nulă (), începeți monitorul serial. Și, de asemenea, inițializați comunicația prin fir și radio. radio.setDataRate este utilizat pentru a seta rata de transmisie a datelor.

5. Citiți datele senzorului MPU6050. Aici folosim doar datele accelerometrului de direcție X și Y.

6. În cele din urmă, transmiteți datele senzorului utilizând funcția radio.write.

Programul receptorului

1. Ca de obicei, porniți programul prin includerea fișierelor bibliotecii necesare.

2. Definiți adresele conductelor radio pentru comunicația și transmițătoarele nRF pinii CN și CSN.

3. Definiți pinii motorului continuu stânga și dreapta.

4. Acum verificați dacă radioul este disponibil sau nu. Dacă este, citiți datele.

5. Comparați acum datele primite și conduceți motoarele în funcție de condiții.

Pasul 7: Testarea robotului controlat prin gestul mâinii folosind Arduino

Odată ce hardware-ul este gata, conectați atât emițătorul, cât și receptorul Arduinos la laptop și încărcați codul. Apoi deplasați accelerometrul MPU6050 pentru a controla robotul Mașină.

Funcționarea completă a robotului controlat prin gesturi poate fi găsită în videoclip.

Recomandat: