Bouw een gebaren-gestuurde robot thuis met Arduino en MPU-6050
Onderdelen en benodigdheden
- Arduino UNO
- Arduino Nano R3
- HC-05 Bluetooth-module (2x)
- MPU-6050 3-as Gyroscoop/Accelerometer (SparkFun Triple Axis Accelerometer and Gyro Breakout)
- DC-motor 12V (2x)
- Rubber wielen
- L293D Dual H-Brug motordriver (Texas Instruments)
- 9V-batterij (generiek) (2x)
Benodigde tools en machines
- Solderbout (generiek)
- Solderdraad, loodvrij
- Schuimtape
- Multitool/schroevendraaier
Apps en online diensten
- Arduino IDE
Over dit project
Dit project laat zien hoe je een gebaren-gestuurde auto zelf kunt bouwen. Het is een eenvoudige toepassing van de MPU-6050 3-as gyroscoop en accelerometer. Door te begrijpen hoe je hem gebruikt, interfaceert met Arduino en de data via Bluetooth-modules overdraagt, kun je nog veel meer toepassingen bedenken. In deze handleiding focus ik op Bluetooth-naar-Bluetooth-communicatie tussen twee HC-05-modules.
Volg de video (in origineel project) voor het bouwen van het robot-lichaam en de aansluitingen.
Bluetooth-module configuratie
De HC-05 Bluetooth-module komt standaard als slave-module. Dat betekent dat we data naar de module kunnen sturen door hem gewoon in te pluggen – geen extra instellingen nodig om data van mobiele apparaten te ontvangen. Standaard wachtwoord: 1234 of 0000. Maar wat als we data vanuit de module willen sturen naar een andere module of mobiel apparaat?
In dit project sturen we data door de Bluetooth-module, verzameld door de MPU-6050 gyroscoop, naar een andere Bluetooth-module.
We moeten de twee Bluetooth-modules configureren zodat ze automatisch met elkaar koppelen na aanzetten. De eerste module fungeert als slave (ontvanger op de auto), de tweede als master (zender op de afstandsbediening).
Eerste module configureren als slave
- Sluit de module aan op de Arduino volgens het schema.
- Upload de "configure"-code (SoftwareSerial passthrough).
- Los module los, houd de knop op de module ingedrukt en sluit hem weer aan. De LED knippert langzaam (1x per 2 sec) → AT-commandomodus.
- Open Seriële Monitor: 9600 baud, "Both NL & CR". Type
AT→ moetOKantwoorden. - Voer volgende AT-commando's in:
AT+ORGL– fabrieksinstellingenAT+RMAAD– vorige koppeling wissenAT+UART?– huidige baudrate controlerenAT+UART=38400,0,0– baudrate instellen op 38400AT+ROLE?– rol checken (0=slave, 1=master)AT+ROLE=0– instellen als slaveAT+ADDR?– adres opvragen NOTEER DIT ADRES
Tweede module configureren als master
- Sluit tweede module aan, zet in AT-modus (zoals boven).
- Voer AT-commando's in:
AT+ORGLAT+RMAADAT+UART?AT+UART=38400,0,0AT+ROLE?AT+ROLE=1– instellen als masterAT+CMODE=0– enkel apparaat koppelen (standaard)AT+BIND="adres van slave module"– koppelen met slave
MPU-6050 bibliotheken en code
Installeer bibliotheken voor MPU-6050 en I2C-communicatie. Download bibliotheken en broncode van: MediaFire-link. Als je ze al hebt, sla over.
Auto-eenheid (car unit) programmeren
- Sluit auto-eenheid aan via USB.
- Selecteer juiste COM-poort en board-type.
- Upload programma "Gesture_controled_Robot__car_unit_" (batterij en Bluetooth-module niet aangesloten tijdens upload).
De code voor de auto-eenheid luistert via seriële poort (38400 baud) naar commando's 'F' (vooruit), 'B' (achteruit), 'L' (links), 'R' (rechts), 'S' (stop) en stuurt de L293D motordriver aan.
Afstandsbediening (remote unit) programmeren
- Open programma "remote" en upload naar de afstandsbediening (Arduino Nano + MPU-6050 + master Bluetooth).
De code initialiseert de MPU-6050 met DMP (Digital Motion Processor), leest yaw/pitch/roll-hoeken, en stuurt via Bluetooth de corresponderende commando's ('F','B','L','R','S') naar de auto-eenheid. Een knop op pin 8 schakelt de besturing aan/uit.
In bedrijf stellen
Plaats de slave Bluetooth-module op de auto-eenheid en de master-module op de afstandsbediening. Zet spanning op en het is klaar om te testen!
Hopelijk nuttig. Like, deel, reageer met vragen. Volg me voor meer projecten! Steun mijn werk en abonneer op mijn YouTube-kanaal.
Dank je!
Code
De code voor beide eenheden (remote en car) is beschikbaar in de originele projectpagina. De remote-eenheid gebruikt de I2Cdev en MPU6050_6Axis_MotionApps20 bibliotheken voor DMP-functionaliteit. De auto-eenheid is een eenvoudige motorsturing via seriële commando's.
Schema
Het schakelschema is beschikbaar als afbeelding.
Productieproces
- Een Arduino-aangedreven Robot Bouwen met Raspberry Pi: Een Stap-voor-Stap Gids
- Bouw je eigen DIY huiswerk-schrijfmachine thuis
- Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
- Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
- Maak een Aangepaste 'Punchable' Toetsenbordknop met Arduino: Stap-voor-Stap Handleiding
- Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids
- Maak Muzikale Tonen met Arduino: Stapsgewijze Handleiding
- Automatische deur met Arduino en ultrasone sensor bouwen
- Arduino robotarm besturen via speciale Android-app
- Bouw een Bluetooth-gecontroleerde Arduino Auto: Complete DIY Handleiding
- Slim Indoor Navigatie Robot Kit voor Arduino Projecten