How do I connect a Bluetooth car to my Arduino?

Byg din egen Arduino Bluetooth bil

09/12/2021

Rating: 4.72 (4846 votes)
Indholdsfortegnelse

Byg din egen Arduino Bluetooth styrede Bil: En Komplet Guide

I en verden, hvor DIY-projekter og robotteknologi bliver stadigt mere populære, er det at bygge sin egen fjernstyrede bil en fantastisk måde at dykke ned i elektronik og programmering. Dette projekt giver dig mulighed for at skabe en smart bil ved hjælp af en Arduino microcontroller, som kan styres trådløst via Bluetooth fra din smartphone. Uanset om du er nybegynder eller en erfaren entusiast, vil denne guide trin-for-trin vise dig, hvordan du samler og programmerer din egen Bluetooth-styrede bil med ekstra funktioner som lys og horn.

What is an Arduino Bluetooth controlled car?
In this section, introduce the project by explaining what an Arduino Bluetooth Controlled Car is. Highlight that it’s a smart car built using an Arduino microcontroller and controlled wirelessly via Bluetooth from a smartphone. Mention the popularity of DIY tech and robotics among beginners and enthusiasts.

Vi har tidligere introduceret et lignende projekt, men denne gang har vi tilføjet nye og spændende funktioner. Du kan nu styre horn og LED-lys direkte fra din mobilapp, hvilket giver din bil et mere realistisk og interaktivt præg. Vi deler alle nødvendige detaljer, herunder den komplette kode, kredsløbsdiagrammer og information om den medfølgende applikation. Hvis du er klar til at lære og bygge, er du kommet til det rette sted.

How to steer a car using arduinoblue?
Here the user can steer the car via stick on the "ArduinoBlue" app. By the way you can adjust the moving and turning speed with sliders (see picture: "ArduinoBlue"). Additionally the ultrasonic is meassuring if there are obstacles in the direction straight on (the servo engine is turned off in this mode).

Nødvendige Komponenter til din Bluetooth Bil

For at komme i gang med dit Arduino Bluetooth-styrede bilprojekt, skal du bruge en række specifikke komponenter. Her er en detaljeret liste over, hvad du skal bruge, samt en beskrivelse af hver komponents funktion:

KomponentBeskrivelse
Arduino Uno eller NanoDette er hjernen i din bil. Arduinoen behandler data fra Bluetooth-modulet og sender styresignaler til motorerne og andre komponenter.
HC-05 eller HC-06 Bluetooth ModulDette modul muliggør trådløs kommunikation mellem din smartphone og Arduinoen, så du kan styre bilen fra afstand. HC-05 fungerer som modtager og parrer sig med din telefons Bluetooth.
L298N Motor Driver ModulDette modul er essentielt for at styre DC-motorerne. Det kan håndtere op til 24V motorer og tilbyder PWM-kontrol for hastighedsjustering samt beskyttelse mod back-EMF.
4 DC Motor med HjulFor en stabil og manøvredygtig bil bruger vi fire gear-DC-motorer, der giver tilstrækkelig moment til at drive bilen. Hver motor er forbundet til et hjul.
Bil ChassisSelve rammen til din bil. Et robust metalchassis, der er designet til nem montering af motorer og andre komponenter.
Strømforsyning (12V LiPo batteri)Et genopladeligt 12V LiPo-batteri leverer strøm til alle bilens komponenter. Alternativt kan 18650 Li-ion batterier med en holder også anvendes.
Jumper Wires og BreadboardTil at skabe de nødvendige elektriske forbindelser mellem komponenterne.
LEDs (Front- og baglys)Tilføj lys til din bil for at give den et mere realistisk udseende og funktionalitet.
5V Buzzer (Horn)Tilføj en simpel hornfunktion til din bil.

Tips til komponentvalg: Når du vælger komponenter, skal du sikre dig, at de er kompatible. Arduino Uno eller Nano er standardvalg. HC-05 modulet er populært på grund af dets alsidighed. L298N motor driveren er et godt valg til at styre flere motorer. Sørg for, at batteriet kan levere tilstrækkelig strøm til alle fire motorer, især når de kører med fuld hastighed.

How to install arduno Board on car?
1.First design your car using Chassi, tyres, caster wheel and Motors. 2.Paste breadboard on car using double sided tape. 3.Now again using double sided tape fix Arduno board on breadoard. there is no restriction on setting up hardware in same way...these are just ideas... Do connections as shown in figure above.

Kredsløbsdiagram og Samling

Korrekt tilslutning af komponenterne er afgørende for projektets succes. Her er en detaljeret gennemgang af, hvordan du forbinder din Arduino, Bluetooth-modul og motor driver:

Forbindelsestabel

Følgende tabel viser de essentielle forbindelser mellem Arduino UNO, L298N Motor Driver og HC-05 Bluetooth Modul:

Arduino UNO PinL298N Motor DriverHC-05 Bluetooth Modul
Digital Pin 12IN1
Digital Pin 11IN2
Digital Pin 10IN3
Digital Pin 9IN4
Digital Pin 5ENA (Motor A PWM)
Digital Pin 6ENB (Motor B PWM)
5V+5VVCC
GNDGNDGND
Digital Pin 0 (RX)TX Pin
Digital Pin 1 (TX)RX Pin
9V Batteri (til L298N)+12V (til motor strøm)
Terminal A (Motor 1, 2)OUT1, OUT2
Terminal B (Motor 3, 4)OUT3, OUT4

Samlingstrin

  1. Motorer og Chassis: Monter de fire DC-motorer på bilens chassis. Sørg for, at de er solidt fastgjort og justeret korrekt for lige kørsel. Tilslut hjulene til motorakslen.
  2. L298N Motor Driver: Forbind motorerne til L298N motor driverens udgangsterminaler (OUT1, OUT2, OUT3, OUT4). Tilslut derefter motor driverens kontrol-pins (IN1, IN2, IN3, IN4, ENA, ENB) til de relevante digitale pins på Arduinoen, som angivet i tabellen ovenfor. Sørg for at forbinde ENA og ENB til 5V for at aktivere PWM-kontrol, eller til specifikke PWM-pins på Arduinoen for hastighedsstyring.
  3. HC-05 Bluetooth Modul: Forbind HC-05 modulet til Arduinoen. VCC til 5V, GND til GND. Forbind TXD-pinen på HC-05 til RX-pinen (Digital Pin 0) på Arduinoen, og RXD-pinen på HC-05 til TX-pinen (Digital Pin 1) på Arduinoen. Vigtigt: Afbryd RX og TX-forbindelsen, når du uploader kode til Arduinoen for at undgå fejl.
  4. LEDs og Buzzer: Tilslut LED'erne til Arduinoens digitale pins (f.eks. A0 for forlygter, A2 for baglygter) og ground. Tilslut buzzzeren til en anden digital pin (f.eks. A4) og ground.
  5. Strømforsyning: Tilslut 12V LiPo-batteriet eller 18650-batteripakken til L298N motor driverens strømindgang (+12V og GND). Sørg for, at batteriet er fuldt opladet. Brug en switch til at tænde og slukke for strømmen til bilen.

Wire Management: Organiser dine ledninger pænt med kabelbindere eller tape for at undgå, at de vikler sig ind i hjulene eller beskadiges. Korrekt wire management gør også fejlfinding lettere.

How to make a Bluetooth RC car using Arduino IDE?
You can download the Arduino code and open it directly through the Arduino IDE. After that, select the board and port and upload the code. If this is difficult to do, watch a tutorial video. This Bluetooth RC Car app works only on Android operating systems. It is not available on the Play Store. The file format is APK.

Programmering af Arduinoen

Nu hvor kredsløbet er samlet, er det tid til at programmere Arduinoen. Koden nedenfor er designet til at styre bilens bevægelser baseret på Bluetooth-kommandoer modtaget fra din smartphone. Du skal bruge Arduino IDE til at uploade koden.

Which motor drivers are used with Arduino?
The L298n and the L293D motor drivers are most commonly used with Arduino. All these drivers have an inbuilt H-Bridge inside in it for controlling the motors. Here is the Left and the Right side view of the Car. You can see the connection more clearly here. If you change the motor wires then the motor rotation will also change.

Arduino Kode

/* Arduino Bluetooth Kontrol Bil Styrer en bil via Bluetooth med Arduino og HC-05 Funktioner: Frem, Tilbage, Venstre, Højre, Lys, Horn, Hastighedskontrol */ // Biblioteker #include <AFMotor.h> // Til motor driver (hvis du bruger Adafruit Motor Shield) // Definer motorer (eksempel med L298N direkte pins) // Hvis du bruger Adafruit Motor Shield, skal du bruge AFMotor biblioteket som nedenfor. // Hvis du styrer direkte, skal du definere pins som vist i andre eksempler. // Eksempel med direkte pin-kontrol af L298N: #define ENA 5 // PWM pin for motor A hastighed #define IN1 7 // Kontrol pin 1 for motor A #define IN2 8 // Kontrol pin 2 for motor A #define IN3 12 // Kontrol pin 1 for motor B #define IN4 11 // Kontrol pin 2 for motor B #define ENB 6 // PWM pin for motor B hastighed // Lys og Horn #define FORLYS_VENSTRE 9 #define FORLYS_HØJRE 10 #define BAGLYS_VENSTRE 2 #define BAGLYS_HØJRE 3 #define HORN_BUZZER 4 char command; int motorSpeed = 200; // Standard hastighed (0-255) void setup() { Serial.begin(9600); // Start seriel kommunikation med Bluetooth // Initialiser motor pins som OUTPUT pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(ENB, OUTPUT); // Initialiser lys og horn pins pinMode(FORLYS_VENSTRE, OUTPUT); pinMode(FORLYS_HØJRE, OUTPUT); pinMode(BAGLYS_VENSTRE, OUTPUT); pinMode(BAGLYS_HØJRE, OUTPUT); pinMode(HORN_BUZZER, OUTPUT); // Sæt alle lys og horn til OFF initialt digitalWrite(FORLYS_VENSTRE, LOW); digitalWrite(FORLYS_HØJRE, LOW); digitalWrite(BAGLYS_VENSTRE, LOW); digitalWrite(BAGLYS_HØJRE, LOW); digitalWrite(HORN_BUZZER, LOW); } void loop() { if (Serial.available() > 0) { command = Serial.read(); // Sæt motorhastighed baseret på kommando (eksempel: '0' for lav, '9' for høj) if (command >= '0' && command <= '9') { motorSpeed = map(command - '0', 0, 9, 100, 255); } // Udfør handling baseret på kommando switch (command) { case 'F': // Frem goForward(motorSpeed); break; case 'B': // Tilbage goBackward(motorSpeed); break; case 'L': // Venstre turnLeft(motorSpeed); break; case 'R': // Højre turnRight(motorSpeed); break; case 'S': // Stop stopMotors(); break; case 'W': // Forlygter TÆND digitalWrite(FORLYS_VENSTRE, HIGH); digitalWrite(FORLYS_HØJRE, HIGH); break; case 'w': // Forlygter SLUK digitalWrite(FORLYS_VENSTRE, LOW); digitalWrite(FORLYS_HØJRE, LOW); break; case 'U': // Baglygter TÆND digitalWrite(BAGLYS_VENSTRE, HIGH); digitalWrite(BAGLYS_HØJRE, HIGH); break; case 'u': // Baglygter SLUK digitalWrite(BAGLYS_VENSTRE, LOW); digitalWrite(BAGLYS_HØJRE, LOW); break; case 'V': // Horn TÆND digitalWrite(HORN_BUZZER, HIGH); break; case 'v': // Horn SLUK digitalWrite(HORN_BUZZER, LOW); break; } } } // Funktioner til motorstyring void goForward(int speed) { // Motor A (venstre side) digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); analogWrite(ENA, speed); // Motor B (højre side) digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENB, speed); } void goBackward(int speed) { // Motor A (venstre side) digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); analogWrite(ENA, speed); // Motor B (højre side) digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENB, speed); } void turnLeft(int speed) { // Motor A (venstre side - baglæns) digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); analogWrite(ENA, speed); // Motor B (højre side - fremad) digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENB, speed); } void turnRight(int speed) { // Motor A (venstre side - fremad) digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); analogWrite(ENA, speed); // Motor B (højre side - baglæns) digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENB, speed); } void stopMotors() { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); analogWrite(ENA, 0); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); analogWrite(ENB, 0); } 

Download Kode: Du kan downloade den fulde Arduino-kode fra vores [GitHub repository](link-til-github-repo-her) eller direkte fra denne side.

What is an Arduino Bluetooth controlled car?
In this section, introduce the project by explaining what an Arduino Bluetooth Controlled Car is. Highlight that it’s a smart car built using an Arduino microcontroller and controlled wirelessly via Bluetooth from a smartphone. Mention the popularity of DIY tech and robotics among beginners and enthusiasts.

Upload Proces:

  1. Åbn Arduino IDE.
  2. Kopiér og indsæt koden ovenfor.
  3. Tilslut din Arduino til computeren via USB-kablet.
  4. Vigtigt: Afbryd RX- og TX-forbindelsen mellem Arduino og HC-05 modulet.
  5. Vælg den korrekte Arduino-boardtype (Arduino Uno) og COM-port under 'Værktøjer'-menuen.
  6. Upload koden til Arduinoen.
  7. Når upload er færdig, genopret forbindelsen mellem Arduino og HC-05.

Tip fra PCBWay: PCBWay tilbyder hurtig prototypefremstilling af printplader, hvilket kan være nyttigt til mere permanente og professionelle projekter. Deres service kan fremskynde udviklingsprocessen betydeligt.

Smartphone Kontrol App

For at styre din Arduino Bluetooth-bil skal du bruge en smartphone-app, der kan kommunikere via Bluetooth. Der findes flere gode muligheder:

  • Arduino Bluetooth Controller (Android): En populær og brugervenlig app, der giver dig mulighed for at oprette brugerdefinerede knapper og styreelementer.
  • Bluetooth Terminal (Android/iOS): En simpel app, der sender og modtager tekstdata via Bluetooth. Du kan sende kommando-bogstaverne ('F', 'B', 'L', 'R', osv.) manuelt.
  • MIT App Inventor: Hvis du vil opbygge din egen app fra bunden, er MIT App Inventor en fremragende platform, der tillader oprettelse af Android-apps med en visuel programmeringsgrænseflade.

Parring af Telefon og HC-05

Følg disse trin for at parre din smartphone med HC-05 modulet:

  1. Sørg for, at din Arduino med HC-05 modulet er tændt.
  2. På din smartphone, gå til Bluetooth-indstillingerne.
  3. Søg efter nye enheder og find 'HC-05' (eller et lignende navn) i listen.
  4. Vælg enheden og indtast parringskoden. Standardkoden er normalt '1234' eller '0000'.
  5. Når parret, vil HC-05 modulet ofte blinke langsommere eller have en konstant lysdiode.

Brug af Appen

Åbn den valgte app. Hvis du bruger 'Arduino Bluetooth Controller', skal du muligvis gå ind i appens indstillinger og forbinde til 'HC-05' enheden. Derefter kan du bruge knapperne eller sliderne i appen til at sende kommandoer:

  • 'F': Kør frem
  • 'B': Kør tilbage
  • 'L': Drej til venstre
  • 'R': Drej til højre
  • 'S': Stop
  • 'W'/'w': Tænd/sluk forlygter
  • 'U'/'u': Tænd/sluk baglygter
  • 'V'/'v': Tænd/sluk horn
  • '0'-'9': Juster motorhastighed

Test og Fejlfinding

Efter samling og programmering er det tid til at teste din Bluetooth-styrede bil. Gennemgå følgende punkter:

Testcheckliste

  • Motorrotation: Virker alle motorer som forventet? Hvis en motor kører baglæns i stedet for fremad, skal du blot bytte om på ledningerne fra den pågældende motor til L298N driveren.
  • Bluetooth-forbindelse: Kan din telefon parre sig med HC-05 modulet? Kan appen forbinde til modulet?
  • Kommandorespons: Reagerer bilen korrekt på kommandoerne sendt fra appen (frem, tilbage, drej, stop)?
  • Lys og Horn: Fungerer forlygter, baglygter og horn som de skal?
  • Hastighedskontrol: Kan du justere bilens hastighed med appen?

Almindelige Problemer og Løsninger

ProblemMulig ÅrsagLøsning
Motorer drejer ikkeForkert ledningsføring til motor driver; Utilstrækkelig strøm; KodefejlDobbelttjek ledninger til L298N. Sørg for, at batteriet er fuldt opladet. Verificer koden for korrekte pin-definitioner.
Bluetooth parrer ikkeForkert parringskode; HC-05 modul defekt; Arduino RX/TX forbundet under parringPrøv standardkoderne '1234' eller '0000'. Sørg for, at RX/TX er frakoblet under upload og forbundet korrekt bagefter. Test HC-05 med en anden enhed.
Forkerte strømtilslutningerOmvendt polaritet på batteri; Dårlige forbindelserKontroller batteriets + og - terminaler. Sørg for, at alle jumper wires sidder godt fast.
Forkert kommando genkendelseTX/RX pins byttet om på Arduino/HC-05; Baud rate mismatch; Kodefejl i switch-statementDobbelttjek TX til RX og RX til TX. Sørg for, at `Serial.begin(9600)` matcher HC-05's baud rate. Gennemgå switch-statement i koden.

Opgraderinger og Tilpasningsmuligheder

Når din grundlæggende Bluetooth-styrede bil fungerer, kan du overveje at tilføje flere funktioner for at gøre den endnu mere avanceret:

  • Ultralydssensor (HC-SR04): Integrer en ultralydssensor for at tilføje afstandsmåling og muliggøre automatisk undvigelse af forhindringer.
  • Brugerdefineret App med Joystick: Lav din egen app med MIT App Inventor, der inkluderer et virtuelt joystick for en mere intuitiv styring.
  • Stemmekommandoer: Udforsk mulighederne for stemmegenkendelse ved hjælp af en passende app eller et dedikeret modul.
  • Gesture Control: Implementer styring baseret på håndbevægelser ved hjælp af et gyroskop eller en bevægelsessensor.
  • Bedre Batteri: Overvej at bruge kraftigere Li-ion batterier med et dedikeret opladningsmodul (f.eks. TP4056) for længere driftstid og sikkerhed.

Konklusion

Tillykke! Du har nu bygget din egen Arduino Bluetooth-styrede bil. Dette projekt er en fremragende introduktion til robotteknologi, trådløs kommunikation og programmering med Arduino. Det er et belønnende og lærerigt projekt, der giver dig praktisk erfaring med elektronik og softwareintegration. Vi opfordrer dig til at dele dine egne kreationer, stille spørgsmål i kommentarerne og abonnere for flere spændende DIY-tutorials. God fornøjelse med at udforske og videreudvikle din smarte bil!

Hvis du vil læse andre artikler, der ligner Byg din egen Arduino Bluetooth bil, kan du besøge kategorien Elektronik.

Go up