Indholdsfortegnelse:

Gestusstyret robot ved hjælp af Arduino: 7 trin
Gestusstyret robot ved hjælp af Arduino: 7 trin

Video: Gestusstyret robot ved hjælp af Arduino: 7 trin

Video: Gestusstyret robot ved hjælp af Arduino: 7 trin
Video: Leap Motion SDK 2024, November
Anonim
Gestusstyret robot ved hjælp af Arduino
Gestusstyret robot ved hjælp af Arduino

Robotter bruges i mange sektorer som byggeri, militær, fremstilling, samling osv. Robotter kan være autonome eller semi-autonome. Autonome robotter kræver ingen menneskelig indgriben og kan handle på egen hånd i henhold til situationen. Semi-autonome robotter arbejder efter instruktioner fra mennesker. Disse semi-autonome kan styres af fjernbetjening, telefon, bevægelser osv. Vi har tidligere bygget få IoT-baserede robotter, som kan styres fra webserveren.

I dagens artikel skal vi bygge en gestusstyret robot ved hjælp af Arduino, MPU6050 Accelerometer, nRF24L01 Transceiver-par og L293D-motordrivermodul. Vi vil designe denne robot i to dele. Den ene er senderen, og den anden er modtageren. Sendersektionen består af et Arduino Uno, MPU6050 Accelerometer og Gyroscope og nRF24L01, mens modtagersektionen består af en Arduino Uno, nRF24L01, to DC -motorer og en L293D -motordriver. Senderen fungerer som fjernbetjening til at styre robotten, hvor robotten bevæger sig i henhold til bevægelserne.

Trin 1: Komponenter påkrævet

Komponenter påkrævet
Komponenter påkrævet
Komponenter påkrævet
Komponenter påkrævet
  • Arduino Uno (2)
  • NRF24L01 (2)
  • MPU6050DC Motor (2)
  • L293D -motordrivermodul
  • Batter

MPU6050 Accelerometer og gyroskop MPU6050 sensormodulet er et komplet 6-akset (3-akset accelerometer og 3-akset gyroskop) mikro-elektro-mekanisk system. MPU6050 sensormodul har også en on-chip temperatursensor. Den har en I2C-bus og en ekstra I2C-busgrænseflade til at kommunikere med mikrokontrollerne og andre sensorenheder som 3-akset magnetometer, tryksensor osv. MPU6050-sensormodulet bruges til at måle acceleration, hastighed, orientering, forskydning og andre bevægelser -relaterede parametre. Dette sensormodul har også en indbygget digital bevægelsesprocessor, der kan udføre komplekse beregninger.

NRF24L01 Transceiver Modul

nRF24L01 er en single -chip radiotransceiver til det verdensomspændende 2,4 - 2,5 GHz ISM -bånd. Transceiveren består af en fuldt integreret frekvenssynthesizer, en effektforstærker, en krystaloscillator, en demodulator, en modulator og en Enhanced ShockBurs -protokolmotor. Udgangseffekt, frekvenskanaler og protokolopsætning er let programmerbare via et SPI -interface. Driftsspændingsområdet for dette transceivermodul er 1,9V til 3,6V. Det har indbygget Power Down og Standby-tilstand, der gør det strømbesparende og let realiserbart.

Trin 2: Arbejde med håndbevægelseskontrolleret robot ved hjælp af Arduino

Arbejde med håndbevægelse kontrolleret robot ved hjælp af Arduino
Arbejde med håndbevægelse kontrolleret robot ved hjælp af Arduino
Arbejde med håndbevægelse kontrolleret robot ved hjælp af Arduino
Arbejde med håndbevægelse kontrolleret robot ved hjælp af Arduino

For at forstå, hvordan denne Arduino gestus -kontrolbil fungerer, lad os dele dette projekt i to dele. Den første del er transmitterdelen (fjernbetjening), hvor MPU6050 Accelerometer -sensoren kontinuerligt sender signaler til modtageren (Robot) gennem Arduino og nRF -sender.

Den anden del er modtagerdelen (robotbil), hvor nRF -modtageren modtager de transmitterede data og sender dem til Arduino, som yderligere behandler dem og flytter robotten i overensstemmelse hermed.

MPU6050 Accelerometer -sensoren læser X Y Z -koordinaterne og sender koordinaterne til Arduino. Til dette projekt har vi kun brug for X- og Y -koordinater. Arduino kontrollerer derefter koordinaternes værdier og sender dataene til nRF -senderen. De overførte data modtages af nRF -modtageren. Modtageren sender dataene til modtagersidens Arduino. Arduino videregiver dataene til motordriverens IC, og motorføreren drejer motorerne i den nødvendige retning.

Trin 3: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram

Denne håndbevægelsesstyrede robot ved hjælp af Arduino -hardware er opdelt i to sektioner

  1. Senderen
  2. Modtager

Trin 4: Senderkredsløb til Arduino Gesture -kontrolleret bil

Senderkredsløb til Arduino Gesture -kontrolleret bil
Senderkredsløb til Arduino Gesture -kontrolleret bil
Senderkredsløb til Arduino Gesture -kontrolleret bil
Senderkredsløb til Arduino Gesture -kontrolleret bil
Senderkredsløb til Arduino Gesture -kontrolleret bil
Senderkredsløb til Arduino Gesture -kontrolleret bil

Sendersektionen i dette projekt består af MPU6050 Accelerometer og Gyroscope, nRF24L01Transceiver og Arduino Uno. Arduinoen får løbende data fra MPU6050 og sender disse data til nRF -senderen. RF -sender sender dataene til miljøet.

Trin 5: Modtagerkredsløb til Arduino Gesture -kontrolleret bil

Modtagerkredsløb til Arduino Gesture Controlled Car
Modtagerkredsløb til Arduino Gesture Controlled Car
Modtagerkredsløb til Arduino Gesture -kontrolleret bil
Modtagerkredsløb til Arduino Gesture -kontrolleret bil
Modtagerkredsløb til Arduino Gesture Controlled Car
Modtagerkredsløb til Arduino Gesture Controlled Car

Modtagersektionen af denne gestusstyrede robot består af Arduino Uno, nRF24L01 Transceiver, 2 DC -motorer og et motordrivermodul. NRF24L01 modtager modtager data fra senderen og sender dem til Arduino. I henhold til modtagne signaler flytter Arduino derefter DC -motorerne.

Trin 6: Forklaring af programmet

For gestusstyret robot ved hjælp af Arduino er den komplette kode tilgængelig her. Nedenfor forklarer vi programmet linje for linje.

Sendersideprogram

I dette program læser Arduino dataene fra MPU6050 og sender dem til nRF 24L01 sender.

1. Start programmet ved at tilføje de nødvendige biblioteksfiler. Du kan downloade biblioteksfilerne fra de givne links.

SPI.h

nRF24L01.h

Wire.h

MPU6050.h

2. Definér derefter variablerne for MPU6050 -gyroskop- og accelerometer -data. Her vil kun Accelerometer -data blive brugt.

3. Definer radiorøradresserne til kommunikations- og nRF -transmitterne CN- og CSN -ben.

4. Inden i void setup () -funktionen starter den serielle skærm. Og initialiser også tråd- og radiokommunikation. radio.setDataRate bruges til at indstille dataoverførselshastigheden.

5. Læs sensordataene fra MPU6050. Her bruger vi kun X- og Y -retningsaccelerometerdata.

6. Send til sidst sensordataene ved hjælp af funktionen radio.write.

Modtager -sideprogram

1. Som sædvanlig skal du starte programmet ved at inkludere de nødvendige biblioteksfiler.

2. Definer radiorøradresserne til kommunikations- og nRF -transmitterne CN- og CSN -ben.

3. Definer venstre og højre DC -motorstifter.

4. Kontroller nu, om radioen er tilgængelig eller ej. Hvis det er det, skal du læse dataene.

5. Sammenlign nu de modtagne data, og kør motorerne i henhold til betingelserne.

Trin 7: Test af håndbevægelseskontrolleret robot ved hjælp af Arduino

Når hardwaren er klar, skal du slutte både sender og modtager side Arduinos til din bærbare computer og uploade koden. Flyt derefter MPU6050 accelerometeret for at styre robotbilen.

Den fulde funktion af den gestusstyrede robot kan findes i videoen.

Anbefalede: