Inhoudsopgave:

Bluetooth-robot: 4 stappen
Bluetooth-robot: 4 stappen

Video: Bluetooth-robot: 4 stappen

Video: Bluetooth-robot: 4 stappen
Video: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, November
Anonim
Bluetooth-robot
Bluetooth-robot
Bluetooth-robot
Bluetooth-robot
Bluetooth-robot
Bluetooth-robot

ARDUINO BLUETOOTH ROBOTWAGEN

Projectdatum: augustus 2018

Projectuitrusting:

1. 1 * Aangepast basisplatform.

2. 4 * DC-motor + wielen.

3. 3 * 18650-batterijen met 3 batterijhouders en 2 * 18650-batterijen met 2 batterijhouders.

4. 2 * Tuimelschakelaars.

5. 2 * Rode LED-lampjes met 220K-weerstanden in serie

6. 1 * kit met: 2 stuks SG90 servomotor + 1 stuks 2-assige servobeugel.

7. 1 * Arduino Uno R3

8. 1 * Arduino-sensorschild V5

9. 1 * L298N Dual Bridge DC Stappenmotor Driver

10. 1 * Ultrasone module HC-SR04

11. 1 * 8 led neo-pixelstrip ws2812b ws2812 slimme ledstrip RGB

12. 1 * BT12 Bluetooth-module BLE 4.0

13. 1 * 12V spanning 4-cijferig display:

14. 1 * 1602 LCD-scherm plus IIC seriële interface-adaptermodule:

15. Hot Glue, M3-afstandhouders, schroeven, ringen.

16. Overbruggingsdraden van man naar vrouw van 10 cm en 15 cm.

17. Effen draad van 1 mm ongeveer 50 cm.

18. Gereedschap inclusief: soldeerbout, miniatuurschroevendraaiers en tangen

19. USB naar Arduino-kabel.

OVERZICHT

Dit is het tweede op Arduino gebaseerde project dat ik heb ingediend bij Instructables, maar de hieronder beschreven robot is de vierde robot die ik heb gebouwd. Deze robot bouwt voort op een eerdere versie die gebaseerd was op WiFi, deze nieuwe versie heeft zowel WiFi- als Bluetooth-communicatie. De wifi zorgt ervoor dat de camera video rechtstreeks naar de Android-app kan streamen. en de Bluetooth voor eenvoudige bediening van de robot. De Arduino-code luistert naar de Bluetooth-opdrachten, ontvangt ze, decodeert de opdracht, reageert op de opdracht en stuurt ten slotte een antwoordbericht terug naar de Android-app. bevestigen dat de opdracht is uitgevoerd. Naast deze feedback op de Android App. de robot herhaalt de commando's ook op zijn eigen LCD 16x2 regeldisplay.

Mijn filosofie bij het bouwen van robots is ervoor te zorgen dat ze niet alleen werken zoals vereist, maar ook dat ze er esthetisch correct uitzien met strakke lijnen en goede constructiemethoden. Ik heb een aantal op internet gebaseerde bronnen gebruikt, zowel voor de elektronica als de Arduino-code, en daarvoor wil ik deze bijdragers bedanken.

De keuze van de 18650-batterijen was gebaseerd op hun vermogen en het gemak waarmee ze tweedehands batterijen van goede kwaliteit konden krijgen, meestal van oude laptops. Het Arduino-bord is een standaardkloon, net als de L298N Dual Bridge-motorcontroller. De DC-motoren zijn geschikt voor het project, maar ik had het gevoel dat grotere 6V DC-motoren met directe aandrijving beter zouden presteren, aangezien dit een mogelijke toekomstige upgrade van het project is.

Stap 1: Fritzing-diagram

Fritzing-diagram
Fritzing-diagram

Het Fritzing-diagram toont de verschillende verbindingen van de batterijen, via de tweepolige schakelaar, naar de Arduino Uno. Van de Arduino Uno tot de L298N Motor Driver, LCD 16X2 lijndisplay, Bluetooth BT12, HC-SR04 sonische zender en ontvanger, servo's voor de camera en sonische zender, en tenslotte van de L298N tot de DC-motoren.

Opmerking: het Fritzing-diagram toont geen van de GND-kabels

Stap 2: constructie

Bouw
Bouw
Bouw
Bouw
Bouw
Bouw

BOUW

De basisconstructie bestond uit een enkele basis van 240 mm x 150 mm x 5 mm met geboorde gaten voor de M3-afstandhouders, gaten voor de L298N, MPU-6050 en Arduino Uno-steunen. Een enkel gat van 10 mm werd in de basis geboord om bedieningskabels en stroomkabels door te laten. Met behulp van 10 mm afstandhouders werden de LCD-, Arduino Uno- en L298N-motorstuurprogramma's bevestigd en bedraad volgens het bovenstaande diagram.

De gelijkstroommotoren werden met hete lijm op de bodemplaat gemonteerd. Nadat ze waren gesoldeerd, werden de draden van elke motor aangesloten op de linker- en rechterconnectoren van de L298N-motordriver. De L298 motor driver jumper werd geïnstalleerd zodat een 5V voeding kon worden voorzien voor het Arduino Uno board. Vervolgens werden de 18650-batterijhouders aan de onderkant van de basis gelijmd en via een tweepolige schakelaar aangesloten op de Arduino Uno en de 12V- en Ground-ingangen van de L298-motordriver.

Servokabels van de camera waren aangesloten op pinnen 12 en 13, HC-SR04-servokabel was aangesloten op pin 3. Pinnen 5, 6, 7, 8, 9 en 11 waren aangesloten op de L298N-motordriver. De BT12 Bluetooth-module was verbonden met de Arduino Sensor Shield V5 Bluetooth-pin-outs, VCC, GND, TX en RX, met TX- en RX-kabels omgekeerd. De URF01-pinnenset werd gebruikt om de HC-SR04-, VCC-, GND-, Trig- en Echo-pinnen te bevestigen, terwijl de IIC-pinnenset werd gebruikt om de LCD VCC-, GND-, SCL- en SCA-pinnen aan te sluiten. Ten slotte waren de 8 LED-lichtset-pinnen VCC, GND en DIN verbonden met pin 4 en de bijbehorende VCC- en GND-pinnen.

Omdat beide accu's en hun stroomschakelaars onder de basis waren gemonteerd, werd een enkele rode LED en 220K-weerstand parallel met de aan / uit-schakelaar toegevoegd, zodat deze zou oplichten wanneer de aan / uit-schakelaar werd ingeschakeld.

De bijgevoegde foto's tonen de bouwfasen van de robot, te beginnen met de M3-stand-offs die worden bevestigd aan de Arduino Uno en L298N, waarna beide items aan de basis worden bevestigd. Extra M3-afstandhouders worden samen met de koperen plaat gebruikt om een platform te bouwen waarop de HC-SR04 en cameraservo's worden gemonteerd. Extra foto's tonen de bedrading en constructie van de motoren, batterijhouders en Neo pixel lichtstrip.

Stap 3: Arduino- en Android-codering

Arduino- en Android-codering
Arduino- en Android-codering
Arduino- en Android-codering
Arduino- en Android-codering

ARDUINO-codering:

Met behulp van de Arduino 1.8.5-ontwikkelsoftware is het volgende programma aangepast en vervolgens via een USB-verbinding naar het Arduino Uno-bord gedownload. Het was nodig om de volgende bibliotheekbestanden te vinden en te downloaden:

· LMotorController.h

· Draad.h

· LiquidCrystal_IC2.h

· Servo.h

· NieuwPing.h

· Adafruit_NeoPixel

(Al deze bestanden zijn beschikbaar op de

De bovenstaande foto toont een eenvoudige oplossing om de Arduino-code te downloaden naar het Arduino Uno-bord. Terwijl de BT12-module was aangesloten op de TX- en RX-pinnen, zou het downloadprogramma altijd mislukken, dus heb ik een eenvoudige verbreekverbinding op de TX-lijn toegevoegd die werd verbroken terwijl de code werd gedownload en vervolgens opnieuw werd gemaakt om de BT12-communicatie te testen. Nadat de robot volledig was getest, heb ik deze breekbare schakel verwijderd.

Het Arduino- en Android-broncodebestand vindt u aan het einde van deze pagina

ANDROID-codering:

Android Studio build 3.1.4 gebruiken. en de hulp van vele internetbronnen van informatie, waarvoor ik mijn dank betuig, heb ik een app ontwikkeld waarmee de gebruiker een wifi-bron voor de camera en een Bluetooth-bron kan selecteren en verbinden om de acties van de robot te besturen. De gebruikersinterface wordt hierboven getoond en de twee volgende links tonen video van de robot en camera in actie. De tweede schermafbeelding toont de wifi- en Bluetooth-scan- en verbindingsopties, dit scherm zal ook controleren of de app de nodige rechten heeft om toegang te krijgen tot zowel het wifi- als het Bluetooth-netwerk en apparaten. De App kan worden gedownload via de onderstaande link, maar ik kan niet garanderen dat deze zal werken op een ander platform behalve een Samsung 10.5 Tab 2. Momenteel gaat de App ervan uit dat het Bluetooth-apparaat "BT12" wordt genoemd. De Android-app stuurt eenvoudige opdrachten van één teken naar de robot, maar ontvangt daarvoor opdrachtbevestigingsreeksen.

Stap 4: Tot slot

You Tube-video van de basiswerking van de robot is te zien op:

You Tube-video van Obstacle Avoidance van de robot is te zien op:

Wat ik heb geleerd:

De Bluetooth-communicatie is absoluut de beste methode om de robot te besturen, zelfs met het maximale bereik van 10 meter dat de BT12 heeft. Het gebruik van de 18650-batterijen, een set om de motoren van stroom te voorzien en een tweede set om de Arduino, schild, servo's, BT12 en LCD van stroom te voorzien, helpt de levensduur van de batterij aanzienlijk te verlengen. Ik was onder de indruk van de NEO Pixel-lichtstrip, RGB-LED's zijn helder en gemakkelijk te bedienen, net als de BT12 Bluetooth-module die sinds ontvangst feilloos heeft gefunctioneerd.

Wat is het volgende:

Dit project ging altijd over het gebruik van Bluetooth-communicatie. Nu ik een werkend model heb en de robot kan besturen via de Android-app, ben ik klaar om het volgende project te starten dat het meest complexe zal zijn dat ik heb geprobeerd, namelijk een zesbenige, 3 DOM per been, Hexapod die zal worden bestuurd door Bluetooth en in staat zijn om realtime video te streamen via zijn kop die zelf verticaal en horizontaal kan bewegen. Ik verwacht ook dat de robot obstakels kan vermijden.

Aanbevolen: