Na het ontwikkelen van enkele populaire robotprojecten zoals lijnvolgerrobot, randvermijdende robot, DTMF-robot, gebarengestuurde robot, etc. gaan we in dit project een bluetooth-gestuurde robo-auto ontwikkelen. Hier hebben we een Bluetooth-module gebruikt om de auto te besturen, en het is ook een op Android gebaseerde applicatie.
Componenten
- Arduino UNO
- DC-motoren
- Bluetooth-module HC-05
- Motorbesturing L293D
- 9 Volt batterij en 6 volt batterij
- Batterijconnector
- Speelgoedauto
De Bluetooth-gestuurde auto wordt bestuurd door een Android-mobiele telefoon te gebruiken in plaats van elke andere methode zoals knoppen, gebaren enz. Hier hoeft u alleen de knop in de Android-telefoon aan te raken om de auto vooruit, achteruit, links en rechts te besturen. Dus hier wordt de Android-telefoon gebruikt als zendapparaat en wordt de Bluetooth-module die in de auto is geplaatst, gebruikt als ontvanger. Android-telefoon verzendt het commando met behulp van de ingebouwde Bluetooth naar de auto, zodat deze in de gewenste richting kan bewegen, zoals vooruit, achteruit, linksaf, rechtsaf en stop.
Bluetooth-module
HC Bluetooth-module bestaat uit twee dingen: een Bluetooth seriële interfacemodule en een Bluetooth-adapter. Bluetooth seriële module wordt gebruikt voor het converteren van seriële poort naar Bluetooth.
Hoe de Bluetooth-module te bedienen?
U kunt de Bluetooth-module direct gebruiken na aankoop op de markt, omdat het niet nodig is om een instelling van de Bluetooth-module te wijzigen. De standaard baudrate van de nieuwe Bluetooth-module is 9600 bps. U hoeft alleen rx en tx aan te sluiten op de controller of seriële converter en 5 volt dc gereguleerde voeding aan de module te geven.
Bluetooth-module heeft twee modi, de ene is de mastermodus en de tweede is de slavemodus. De gebruiker kan beide modi instellen met behulp van enkele AT-opdrachten. Zelfs de gebruiker kan de module-instelling instellen met behulp van het AT-commando. Hier zijn enkele commando's die worden gebruikt:
Allereerst moet de gebruiker de AT-modus openen met een baudrate van 38400 bps door op de EN-knop op de Bluetooth-module te drukken of door het HIGH-niveau op de EN-pin te geven. Let op: alle commando's moeten eindigen op \ r \ n (0x0d en 0x0a) of ENTER TOETS van toetsenbord.
Als u daarna AT naar de module stuurt, zal de module reageren met OK
AT → Testopdracht
AT + ROLE = 0 → Slave-modus selecteren
AT + ROLE = 1 → Master Mode selecteren
AT + NAME = xyz → Bluetooth-naam instellen
AT + PSWD = xyz → Wachtwoord instellen
AT + UART =
Bijv. AT + UART = 9600,0,0
Pin Beschrijving van accelerometer
- STATE → Open
- Rx → Seriële ontvangstpin
- Tx → Seriële verzendingspin
- GND → aarde
- Vcc → + 5volt gelijkstroom
- NL → om in AT-modus te komen
Werkende uitleg
In dit project hebben we een speelgoedauto gebruikt voor demonstratie. Hier hebben we een RF-speelgoedauto geselecteerd met een bewegende stuurfunctie naar links en rechts. Na aanschaf van deze auto hebben we het RF circuit vervangen door ons Arduino circuit. Deze auto heeft aan de voor- en achterkant twee gelijkstroommotoren. Motor aan de voorkant wordt gebruikt om richting te geven aan de auto, door naar links of rechts te draaien (zoals een echte auto-stuurfunctie). En de motor aan de achterkant wordt gebruikt om de auto vooruit en achteruit te rijden. Een Bluetooth-module wordt gebruikt om het commando van een Android-telefoon te ontvangen en Arduino UNO wordt gebruikt om het hele systeem te besturen.
Bluetooth-gestuurde auto beweegt volgens de knop die is aangeraakt in de Android Bluetooth mobiele app. Om dit project uit te voeren, moeten we eerst de Bluetooth-app downloaden uit de Google Play Store. We kunnen elke Bluetooth-app gebruiken die gegevens ondersteunt of kan verzenden. Hier zijn de namen van enkele apps die mogelijk correct werken.
- Bluetooth Spp pro
- Bluetooth-controller
Na het installeren van de app moet je deze openen en vervolgens een Bluetooth-apparaat zoeken en het gewenste Bluetooth-apparaat selecteren. En configureer vervolgens de sleutels. Hier in dit project hebben we de Bluetooth-controller-app gebruikt.
- Download en installeer Bluetooth Controller.
- Mobiele Bluetooth ingeschakeld.
- Open nu de Bluetooth-controller-app
- Druk op scan
- Selecteer het gewenste Bluetooth-apparaat
- Stel nu sleutels in door op de instelknoppen op het scherm te drukken. Om sleutels in te stellen, moeten we op 'set-knop' drukken en de sleutel instellen volgens onderstaande afbeelding:
Druk na het instellen van de toetsen op ok.
Wanneer we de vooruitknop in de Bluetooth-controller-app aanraken, begint de auto in voorwaartse richting te bewegen en gaat vooruit totdat het volgende commando komt.
Wanneer we de achteruitknop in de Bluetooth-controller-app aanraken, begint de auto in omgekeerde richting te bewegen en gaat de beweging achteruit totdat het volgende commando komt.
Wanneer we de linkerknop in de Bluetooth-controller-app aanraken, begint de auto naar links te bewegen en gaat het verder naar links totdat het volgende commando komt. In deze toestand draait de motor aan de voorkant de wielen aan de voorkant naar links en de motor aan de achterkant draait in voorwaartse richting.
Wanneer we de rechterknop in de Bluetooth-controller-app aanraken, begint de auto in de goede richting te bewegen en gaat het verder naar rechts totdat het volgende commando komt. In deze toestand draait de motor aan de voorkant de voorste wielen in de juiste richting en de motor aan de achterkant draait in voorwaartse richting.
En door de stopknop aan te raken, kunnen we de auto stoppen.
Schakelschema en uitleg
Het schakelschema voor een bluetooth-gestuurde auto wordt weergegeven in de bovenstaande afbeelding. Een motorbestuurder is verbonden met arduino om de auto te besturen. De ingangspennen 2, 7, 10 en 15 van de motordriver zijn respectievelijk verbonden met de digitale pennen 12, 11, 10 en 9 van Arduino. Hier hebben we twee gelijkstroommotoren gebruikt om een auto te besturen, waarbij één motor is aangesloten op de uitgangspen van motoraandrijving 3 en 6 en een andere motor is aangesloten op 11 en 14. Een 6 volt batterij wordt ook gebruikt om de motoraandrijving van stroom te voorzien voor het aandrijven van motoren.. De rx- en tx-pinnen van de Bluetooth-module zijn rechtstreeks verbonden met tx en rx van Arduino. En vcc en aardingspin van de Bluetooth-module is aangesloten op +5 volt en gnd van Arduino. En een 9 volt batterij wordt gebruikt om het circuit op de Vin-pin van Arduino van stroom te voorzien
Programma-uitleg
In het programma hebben we allereerst uitgangspennen voor motoren gedefinieerd.
#define m11 11 // achterste motor #define m12 12 #define m21 10 // voorste motor #define m22 9
En toen gaven we bij het instellen aanwijzingen om te pinnen.
void setup () {Serial.begin (9600); pinMode (m11, OUTPUT); pinMode (m12, OUTPUT); pinMode (m21, OUTPUT); pinMode (m22, OUTPUT); }
Hierna lezen we de invoer met behulp van seriële communicatie van de Bluetooth-module en voeren we de bewerking dienovereenkomstig uit.
void loop () {while (Serial.available ()) {char ch = Serial.read (); str = ch; if (str == '1') {Serial.println ("Doorsturen"); vooruit(); i = 0; } else if (str == '2') {Serial.println ("Left"); Rechtsaf(); i = 0; } else if (str == '3') {Serial.println ("Right"); links(); i = 0; }
Vervolgens hebben we functies gemaakt voor verschillende richtingen van de auto. Er zijn vijf voorwaarden voor deze Bluetooth-gestuurde auto die worden gebruikt om de aanwijzingen te geven:
Raak de knop aan in de Bluetooth-controller-app |
Uitgang voor motor aan voorzijde om richting te geven |
Uitgang voor motor aan de achterkant om vooruit of achteruit te gaan |
|||
Knop |
M11 |
M12 |
M21 |
M22 |
Richting |
Hou op |
0 |
0 |
0 |
0 |
Hou op |
Vooruit |
0 |
0 |
0 |
1 |
Vooruit |
Achteruit |
0 |
0 |
1 |
0 |
Achteruit |
Rechtsaf |
1 |
0 |
0 |
1 |
Rechtsaf |
links |
0 |
1 |
0 |
1 |
Links |