Close

Arduino Bluetooth auto

Arduino bluetooth vozítko

Předělejte si staré autíčko a ovládejte ho vlastním mobilem!

Asi každý z nás má doma staré již nepoužívané autíčko, a to buď odložené a zapomenuté ještě z dětství, nebo zničené s odpálenou elektronikou v důsledku opravdu aktivního hraní. V mém případě se jedná o druhý uvedený příklad. V tomto článku se budu věnovat postupu, jak si předělat v podstatě jakékoliv autíčko na ovládání smartphonem přes Bluetooth pomocí Arduina. Postup i kód celého projektu jsou velmi jednoduché, a tak jsem přesvědčen, že tento upgrade zvládne vytvořit každý z vás.

Potřebné součásti

  1. podvozek nějakého RC auta
  2. 1 x Arduino UNO
  3. 2 x relé (Arduino friendly)
  4. 1 x micro servo
  5. Bluetooth modul HC-05 nebo HC-06
  6. baterie (zde 12V / 1200mAh),
  7. LED (červenou a bílou) a piezo bzučák
  8. šrouby M3 (4 x 25 mm a 6 x 15 mm) + matice M3
  9. power banka
  10. mobil s androidem
  11. + ještě pár drobností uvedených v článku

Jdeme na to!

Stáhněte si aplikaci „Arduino Joystick Controller“ dostupnou na: https://play.google.com/store/apps/details?id=com.andico.control.joystick

V této apce je mimo jiné 7 tlačítek sloužících na: zapínání světel, klaksonu a řízení serv namontované kamery. Jsou k dispozici také 3 tlačítka (A,B,C) pro libovolné obsazení uživatelem (např. maják, světelná rampa). Ale o těch někdy příště.

Arduino Joystick Controller

Arduino Joystick Controller

Ještě potřebujeme destičku, která bude rozměrově sedět k velikosti auta. Na tuto desku budeme vše montovat a následně ji umístíme na šasi (podvozek) auta. Já používám 2 mm silné plexisklo. Dá se koupit v každém hobby marketu a jedna plotna o velikosti 25 x 50 cm se prodává asi za 80 Kč. Tuto destičku jsem si nařezal na potřebné rozměry pomocí plátku do ruční pilky. Na destičku jsem si přiložil Arduino součástky, relátka a BT modul a fixou jsem si poznačil jejich umístění a přes dírky tenkým fixem označil tečky pro vrtání děr. Součástky, které nemají díru uchytíme pomocí stahovacího pásku. V mém případě jsem pomocí stahovacího pásku uchytil Bluetooth modul.

Na obrázku vidíte namontované komponenty na plexiskle (bez světel a klaksonu).

Arduino Bluetooth auto - zapojené součásti

Arduino Bluetooth auto – zapojené součásti

Vybereme také vhodné místo pro servo, a pomocí šroubů nebo pásků (jako v mém případě) připevníme servo na tyč řízení.

Arduino Bluetooth auto - detail serva

Arduino Bluetooth auto – detail serva

Zapojení

Vše zapojíme dle následujícího schématu. Baterii dáme původní nebo s podobným napětím (baterie na schématu je pouze orientační).

Elektrické zapojení Arduino Bluetooth auta

Zapojení Arduino Bluetooth auta

Arduino program

Spustíme si Arduino IDE a stáhneme si zdrojový kód ZDE.

Otevřeme zdrojový kód a zvolíme COM port a vývojovou desku (já mám: ARDUINO UNO na COM5). Zkompiluj a nahraj do Arduina.

Otevři sériový monitor. Objeví se informace, že BT modul není připojen. Znamená to, že program čeká na spárování s telefonem.

Připojení Bluetooth modulu

Připojení Bluetooth modulu

Po spárování telefonu s modulem se objeví následující:

Spárování Bluetooth modulu s telefonem

Spárování Bluetooth modulu s telefonem

Jednotlivé hodnoty nám udávají směr, rychlost, úhel zatočení, příkazy pro světla, klakson a tlačítka.

Určitě jste byli při konstrukci a montování úspěšní a už si vesele jezdíte s vašim novým Arduino autíčkem!

Zbyněk Daněk

Zbyněk Daněk

Kreativní tvůrce pro Arduino platformu. Zaměření strojírenství a automatizace. Arduino je moje hobby!
Zbyněk Daněk

Latest posts by Zbyněk Daněk (see all)

9 Comments on “Arduino Bluetooth auto

[…] blízkosti stánku do vás občas narazilo i Arduino Bluetooth auto, vytvořené podle tohoto […]

patas
23.11.2017 at 19:08

Dobrý den,
velice se mi líbil váš projekt.Tak jsem si ho chtěl také postavit, ale místo relé jsem použil Motor Shield L293D a nedaří se mi upravit program. Chtěl bych se zeptat zda nevíte jak by se to měl program upravit.
Děkuji moc Patrik

Zbyněk Daněk
Zbyněk Daněk
24.11.2017 at 1:32

Ahoj patriku. Již jsem motor shield použil. Kód dohledám a pošlu ti jej. Popřípadě ti pomůžu s úpravou.

Zbyněk Daněk
Zbyněk Daněk
12.6.2017 at 11:22

Při nahrávání kódu na server došlo k chybě, text kódu byl z části smazán a některé úseky byly přeházené. Což zkušení uživatelé poznali a nahlásili. Za vzniklé problémy se omlouvám. Vše jsme již napravili.
Nyní si už s autem určitě zajezdíte.

RKR2018RKR
6.4.2018 at 11:00

Dobrý den, měl bych prosbu, jestli bys Te mi mohl zaslat kompletní kód na to auto, abych mohl využít přední zadní světla, klakson a tlačítka A,B,C předem děkuji Krejčík

Zbyněk Daněk
Zbyněk Daněk
6.4.2018 at 11:12
RKR2018RKR
7.4.2018 at 11:23

Dobrý den, mám prosbu o doplnění kódu ,abych mohl využít tlačítka A, B, C
předem moc děkuji

#include
#include
SoftwareSerial bt(0,1); // (RX,TX)
Servo myservo;
bool posledni=false;
int a[4]; //proměná pro příkazy

void setup() {
myservo.attach(9);
Serial.begin(9600);
bt.begin(9600);

pinMode(6,OUTPUT);
pinMode(7,OUTPUT);

digitalWrite(6,LOW);
digitalWrite(7,LOW);

}

void loop() {

if (bt.available()>4)
{
a[0]=bt.read(); // směr
a[1]=bt.read(); // rychlost
a[2]=bt.read(); // úhel zatáčení
a[3]=bt.read(); // zříkazy pro troubení, světla a tlačítka A,B,C

myservo.write(a[2]);
Serial.print(a[0]);
Serial.print(“ „);
Serial.print(a[1]);
Serial.print(“ „);
Serial.print(a[2]);
Serial.print(“ „);
Serial.print(a[3]);
Serial.println(“ „);
posledni=false;

}

if (bt.available()<1)
{

myservo.write(93);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);

if(posledni==false)

{
Serial.print("BT modul neni pripojen!");
Serial.println("zkontroluj pripojeni");
posledni=true;
}
}

if(a[0]==241)
{
digitalWrite(7,LOW);
}
else
{
digitalWrite(7,HIGH);
}

if(a[0]==242)
{
digitalWrite(6,LOW);
}
else
{
digitalWrite(6,HIGH);
}
}

Michal Pelousek
11.6.2017 at 14:15

Pěkný článek. Bohužel kód obsahuje pár chybiček. Mohli byste nahrát opravenou verzi? Díky.

Zbyněk Daněk
Zbyněk Daněk
12.6.2017 at 4:22

Ahoj. Co přesně se ti nelíbí? Nebo ti to nefunguje?

Napsat komentář