Efter at have udviklet nogle få populære robotprojekter som linjefølgerrobot, kantundgåelse af robot, DTMF-robot, gestusstyret robot osv. I dette projekt skal vi udvikle en Bluetooth-styret robobil. Her brugte vi et Bluetooth-modul til at styre bilen, og det er også en Android-baseret applikation.
Komponenter
- Arduino UNO
- DC-motorer
- Bluetooth-modul HC-05
- Motordriver L293D
- 9 volt batteri og 6 volt batteri
- Batteristik
- Legetøjsbil
Bluetooth-styret bil styres ved hjælp af Android-mobiltelefon i stedet for enhver anden metode som knapper, gestus osv. Her behøver kun at trykke på knappen i Android-telefonen for at kontrollere bilen i fremad, bagud, venstre og højre retning. Så her bruges Android-telefon som sendeenhed, og Bluetooth-modul placeret i bil bruges som modtager. Android-telefonen sender kommando ved hjælp af sin indbyggede Bluetooth til bilen, så den kan bevæge sig i den ønskede retning som at bevæge sig fremad, baglæns, dreje til venstre, dreje til højre og stoppe.
Bluetooth-modul
HC Bluetooth-modul består af to ting, det ene er det serielle Bluetooth-interface-modul og en Bluetooth-adapter. Bluetooth-seriemodul bruges til at konvertere seriel port til Bluetooth.
Hvordan betjenes Bluetooth-modul?
Du kan bruge Bluetooth-modulet direkte efter køb fra markedet, fordi der ikke er behov for at ændre nogen indstillinger for Bluetooth-modulet. Standard baudrate for det nye Bluetooth-modul er 9600 bps. Du skal bare tilslutte rx og tx til controller eller seriel konverter og give 5 volt jævnstrømsreguleret strømforsyning til modulet.
Bluetooth-modulet har to tilstande, den ene er hovedtilstand, og den anden er slave-tilstand. Brugeren kan indstille begge tilstande ved hjælp af nogle AT-kommandoer. Selv brugeren kan indstille modulets indstilling ved hjælp af AT-kommandoen. Her er nogle kommandoer anvendelser er givet:
Først og fremmest skal brugeren gå ind i AT-tilstand med 38400 bps baudrate ved at trykke på EN-knappen på Bluetooth-modulet eller ved at give HIGH niveau ved EN-pin. Bemærk: alle kommandoer skal slutte med \ r \ n (0x0d og 0x0a) eller ENTER KEY fra tastaturet.
Efter det, hvis du sender AT til modul, svarer modulet med OK
AT → Testkommando
AT + ROLE = 0 → Valg af slavefunktion
AT + ROLE = 1 → Valg af hovedtilstand
AT + NAME = xyz → Indstil Bluetooth-navn
AT + PSWD = xyz → Indstil adgangskode
AT + UART =
F.eks. AT + UART = 9600,0,0
Pin Beskrivelse af accelerometer
- STAT → Åbn
- Rx → Seriel modtagestift
- Tx → Seriel sendestift
- GND → jord
- Vcc → + 5 volt DC
- EN → for at gå ind i AT-tilstand
Arbejdsforklaring
I dette projekt har vi brugt en legetøjsbil til demonstration. Her har vi valgt en RF-legetøjsbil med bevægelig venstre højre styrefunktion. Efter at have købt denne bil har vi udskiftet dens RF-kredsløb med vores Arduino-kredsløb. Denne bil har to jævnstrømsmotorer på for- og bagsiden. Frontmotoren bruges til at give retning til bilen, dvs. dreje til venstre eller højre side (som ægte bilstyringsfunktion). Og bagmotoren bruges til at køre bilen fremad og bagud. Et Bluetooth-modul bruges til at modtage kommando fra Android-telefonen, og Arduino UNO bruges til at styre hele systemet.
Bluetooth-styret bil bevæger sig i henhold til knappen, der er berørt i Android Bluetooth-mobilappen. For at køre dette projekt først skal vi downloade Bluetooth-app fra Google Play Store. Vi kan bruge enhver Bluetooth-app, der understøtter eller kan sende data. Her er nogle apps navn, der muligvis fungerer korrekt.
- Bluetooth Spp pro
- Bluetooth-controller
Efter installation af app skal du åbne den og derefter søge på Bluetooth-enhed og vælge den ønskede Bluetooth-enhed. Og konfigurer derefter tasterne. Her i dette projekt har vi brugt Bluetooth-controller-app.
- Download og installer Bluetooth-controller.
- Tændt mobil Bluetooth.
- Åbn nu Bluetooth-controller-appen
- Tryk på scan
- Vælg den ønskede Bluetooth-enhed
- Indstil nu tasterne ved at trykke på sætknapperne på skærmen. For at indstille tasterne er vi nødt til at trykke på 'sæt knap' og indstil tasten i henhold til billedet nedenfor:
Efter indstilling af taster skal du trykke på ok.
Når vi berører fremad-knappen i Bluetooth-controller-appen, begynder bilen at bevæge sig fremad og bevæge sig fremad, indtil næste kommando kommer.
Når vi rører baglæns knap i Bluetooth-controller-appen, begynder bilen at bevæge sig i omvendt retning og bevæge sig baglæns, indtil næste kommando kommer.
Når vi berører venstre knap i Bluetooth-controller-appen, begynder bilen at bevæge sig i venstre retning og bevæge sig videre til venstre, indtil næste kommando kommer. I denne tilstand drejer frontmotoren forhjulene i venstre retning, og den bageste motor kører fremad.
Når vi berører højre knap i Bluetooth-controller-appen, begynder bilen at bevæge sig i den rigtige retning og bevæge sig videre til næste kommando kommer. I denne tilstand drejer frontmotoren fronthjulene i den rigtige retning, og den bageste motor kører i fremadgående retning.
Og ved at trykke på stopknappen kan vi stoppe bilen.
Kredsløbsdiagram og forklaring
Kredsløbsdiagram for Bluetooth-styret bil er vist i ovenstående figur. En motorchauffør er forbundet til arduino for at køre bilen. Motordriverens indgangsstifter 2, 7, 10 og 15 er forbundet til arduinos digitale pin nummer 12, 11, 10 og 9. Her har vi brugt to jævnstrømsmotorer til at føre bil, hvor den ene motor er tilsluttet ved udgangsstiften på motordriver 3 og 6, og en anden motor er tilsluttet ved 11 og 14. Et 6 volt batteri bruges også til at drive motordriveren til at køre motorer. Bluetooth-modulets rx- og tx-ben er direkte forbundet med tx og rx i Arduino. Og vcc og jordstift af Bluetooth-modul er tilsluttet ved +5 volt og Arndino. Og et 9 volt batteri bruges til at drive kredsløbet ved Arduinos Vin-pin
Programforklaring
I programmet har vi først og fremmest definerede outputstifter til motorer.
#define m11 11 // bageste motor #define m12 12 #define m21 10 // front motor #define m22 9
Og så i opsætningen gav vi anvisninger til pin.
ugyldig opsætning () {Serial.begin (9600); pinMode (m11, OUTPUT); pinMode (m12, OUTPUT); pinMode (m21, OUTPUT); pinMode (m22, OUTPUT); }
Herefter læser vi input ved hjælp af seriel kommunikationsformular Bluetooth-modul og udfører operationen i overensstemmelse hermed.
ugyldig sløjfe () {mens (Serial.available ()) {char ch = Serial.read (); str = ch; hvis (str == '1') {Serial.println ("Videresend"); frem(); i = 0; } ellers hvis (str == '2') {Serial.println ("Venstre"); ret(); i = 0; } ellers hvis (str == '3') {Serial.println ("Right"); venstre(); i = 0; }
Så har vi oprettet funktioner til forskellige retninger af bilen. Der er fem betingelser for denne Bluetooth-kontrollerede bil, der bruges til at give anvisningerne:
Berørt knap i Bluetooth-controller-appen |
Output til frontmotoren giver retning |
Output til bagmotor til at bevæge sig fremad eller tilbage |
|||
Knap |
M11 |
M12 |
M21 |
M22 |
Retning |
Hold op |
0 |
0 |
0 |
0 |
Hold op |
Frem |
0 |
0 |
0 |
1 |
Frem |
Baglæns |
0 |
0 |
1 |
0 |
Baglæns |
Ret |
1 |
0 |
0 |
1 |
Ret |
venstre |
0 |
1 |
0 |
1 |
Venstre |