Inhoudsopgave:

Gebaargestuurde robot met Arduino - Ajarnpa
Gebaargestuurde robot met Arduino - Ajarnpa

Video: Gebaargestuurde robot met Arduino - Ajarnpa

Video: Gebaargestuurde robot met Arduino - Ajarnpa
Video: Robot frees werk op de gebogen vliesgevels 175mm 2024, November
Anonim
Gebaargestuurde robot met behulp van Arduino
Gebaargestuurde robot met behulp van Arduino

Robots worden in veel sectoren gebruikt, zoals de bouw, het leger, de productie, de assemblage, enz. Robots kunnen autonoom of semi-autonoom zijn. Autonome robots vereisen geen menselijke tussenkomst en kunnen afhankelijk van de situatie zelfstandig handelen. Semi-autonome robots werken volgens instructies van mensen. Deze semi-autonoom kunnen worden bestuurd door afstandsbediening, telefoon, gebaren, enz. We hebben eerder enkele op IoT gebaseerde robots gebouwd, die vanaf de webserver kunnen worden bestuurd.

In het artikel van vandaag gaan we een gebarengestuurde robot bouwen met Arduino, MPU6050 Accelerometer, nRF24L01 Transceiver-paar en L293D-motorstuurmodule. We zullen deze robot in twee delen ontwerpen. De ene is de zender en de andere is de ontvanger. Het zendergedeelte bestaat uit een Arduino Uno, MPU6050 versnellingsmeter en gyroscoop, en nRF24L01, terwijl het ontvangergedeelte bestaat uit een Arduino Uno, nRF24L01, twee gelijkstroommotoren en een L293D-motorstuurprogramma. De zender zal fungeren als afstandsbediening om de robot te besturen waar de robot zal bewegen volgens de gebaren.

Stap 1: Vereiste componenten

Vereiste componenten
Vereiste componenten
Vereiste componenten
Vereiste componenten
  • Arduino Uno (2)
  • NRF24L01 (2)
  • MPU6050DC-motor (2)
  • L293D Motorbesturingsmodule
  • Beslag

MPU6050 Accelerometer en Gyroscoop De MPU6050 sensormodule is een compleet 6-assig (3-assige versnellingsmeter en 3-assige gyroscoop) micro-elektromechanisch systeem. MPU6050 sensormodule heeft ook een on-chip temperatuursensor. Het heeft een I2C-bus en een Auxiliary I2C-businterface om te communiceren met de microcontrollers en andere sensorapparaten zoals een 3-assige magnetometer, een druksensor, enz. De MPU6050-sensormodule wordt gebruikt om versnelling, snelheid, oriëntatie, verplaatsing en andere bewegingen te meten -gerelateerde parameters. Ook heeft deze sensormodule een ingebouwde Digital Motion Processor die complexe berekeningen kan uitvoeren.

NRF24L01 Zendontvangermodule

nRF24L01 is een radiozendontvanger met één chip voor de wereldwijde 2,4 - 2,5 GHz ISM-band. De transceiver bestaat uit een volledig geïntegreerde frequentiesynthesizer, een eindversterker, een kristaloscillator, een demodulator, een modulator en een Enhanced ShockBurs-protocolengine. Uitgangsvermogen, frequentiekanalen en protocolconfiguratie zijn eenvoudig programmeerbaar via een SPI-interface. Het bedrijfsspanningsbereik van deze Transceiver-module is 1,9 V tot 3,6 V. Het heeft ingebouwde uitschakel- en stand-by-modi die het energiebesparend en gemakkelijk realiseerbaar maken.

Stap 2: Werking van handgebaargestuurde robot met behulp van Arduino

Werking van handgebaargestuurde robot met behulp van Arduino
Werking van handgebaargestuurde robot met behulp van Arduino
Werking van handgebaargestuurde robot met behulp van Arduino
Werking van handgebaargestuurde robot met behulp van Arduino

Laten we dit project in twee delen verdelen om de werking van deze Arduino-gebaarbesturingsauto te begrijpen. Het eerste deel is het zenderdeel (remote) waarin de MPU6050 Accelerometer sensor continu signalen naar de ontvanger (Robot) stuurt via Arduino en nRF zender.

Het tweede deel is het ontvangergedeelte (robotauto) waarin de nRF-ontvanger de verzonden gegevens ontvangt en naar Arduino stuurt, die ze verder verwerkt en de robot overeenkomstig beweegt.

De MPU6050 Accelerometer-sensor leest de X Y Z-coördinaten en stuurt de coördinaten naar de Arduino. Voor dit project hebben we alleen X- en Y-coördinaten nodig. Arduino controleert vervolgens de waarden van coördinaten en stuurt de gegevens naar de nRF-zender. De verzonden gegevens worden ontvangen door de nRF-ontvanger. De ontvanger stuurt de gegevens naar de Arduino van de ontvanger. Arduino geeft de gegevens door aan het Motor Driver IC en de motordriver draait de motoren in de gewenste richting.

Stap 3: Schakelschema

Schakelschema
Schakelschema
Schakelschema
Schakelschema

Deze handgebaargestuurde robot die Arduino-hardware gebruikt, is verdeeld in twee secties:

  1. Zender
  2. Ontvanger

Stap 4: Zendercircuit voor Arduino Gesture Controlled Car

Zendercircuit voor Arduino Gesture Controlled Car
Zendercircuit voor Arduino Gesture Controlled Car
Zendercircuit voor Arduino Gesture Controlled Car
Zendercircuit voor Arduino Gesture Controlled Car
Zendercircuit voor Arduino Gesture Controlled Car
Zendercircuit voor Arduino Gesture Controlled Car

Het zendergedeelte van dit project bestaat uit MPU6050 Accelerometer en Gyroscope, nRF24L01Transceiver en Arduino Uno. De Arduino krijgt continu data van de MPU6050 en stuurt deze data naar de nRF Transmitter. RF-zender verzendt de gegevens naar de omgeving.

Stap 5: Ontvangercircuit voor Arduino Gesture Controlled Car

Ontvangercircuit voor Arduino Gesture Controlled Car
Ontvangercircuit voor Arduino Gesture Controlled Car
Ontvangercircuit voor Arduino Gesture Controlled Car
Ontvangercircuit voor Arduino Gesture Controlled Car
Ontvangercircuit voor Arduino Gesture Controlled Car
Ontvangercircuit voor Arduino Gesture Controlled Car

Het ontvangergedeelte van deze door gebaren bestuurde robot bestaat uit Arduino Uno, nRF24L01 Transceiver, 2 DC-motoren en een motordrivermodule. De NRF24L01-ontvanger ontvangt de gegevens van de zender en stuurt deze naar Arduino. Vervolgens beweegt Arduino volgens ontvangen signalen de gelijkstroommotoren.

Stap 6: Programma Uitleg

Voor gebarengestuurde robots die Arduino gebruiken, is de volledige code hier beschikbaar. Hieronder lichten we het programma regel voor regel toe.

Zijprogramma zender

In dit programma leest Arduino de gegevens van de MPU6050 en stuurt deze naar de nRF 24L01-zender.

1. Start het programma door de vereiste bibliotheekbestanden toe te voegen. U kunt de bibliotheekbestanden downloaden via de gegeven links.

SPI.h

nRF24L01.h

Draad.h

MPU6050.h

2. Definieer vervolgens de variabelen voor MPU6050-gyroscoop- en versnellingsmetergegevens. Hier worden alleen Accelerometer-gegevens gebruikt.

3. Definieer de radiopijpadressen voor de communicatie- en nRF-zenders CN en CSN-pinnen.

4. Start de seriële monitor in de functie void setup(). En initialiseer ook de draad- en radiocommunicatie. radio.setDataRate wordt gebruikt om de datatransmissiesnelheid in te stellen.

5. Lees de MPU6050-sensorgegevens. Hier gebruiken we alleen versnellingsmetergegevens in de X- en Y-richting.

6. Verzend tot slot de sensorgegevens met behulp van de radio.write-functie.

Programma aan de kant van de ontvanger

1. Start het programma zoals gewoonlijk door de vereiste bibliotheekbestanden op te nemen.

2. Definieer de radiopijpadressen voor de communicatie- en nRF-zenders CN en CSN-pinnen.

3. Definieer de linker en rechter DC-motorpinnen.

4. Controleer nu of de radio beschikbaar is of niet. Als dat zo is, lees dan de gegevens.

5. Vergelijk nu de ontvangen gegevens en drijf de motoren aan volgens de voorwaarden.

Stap 7: De handgebaargestuurde robot testen met Arduino

Zodra de hardware gereed is, sluit u zowel de zender- als ontvangerzijde Arduino's aan op uw laptop en uploadt u de code. Beweeg vervolgens de MPU6050-versnellingsmeter om de robotauto te besturen.

De volledige werking van de door gebaren bestuurde robot is te vinden in de video.

Aanbevolen: