Arduino Bluetooth RC auto
Obsah článku:
Předělejte si staré autíčko a ovládejte ho vlastním mobilem!
Pojďme si vytvořit jednoduché RC auto! 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 na RC auto
- podvozek nějakého RC auta nebo jakýkoliv jiný podvozek nebo DC motory
- 1 x Arduino UNO
- 2 x relé (Arduino friendly)
- 1 x micro servo
- Bluetooth modul HC-05 nebo HC-06
- baterie (zde 12V / 1200mAh)
- LED (červenou a bílou) a piezo bzučák
- šrouby M3 (4 x 25 mm a 6 x 15 mm) + matice M3
- power banka
- mobil s androidem
- + 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ě.
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).
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í.
Zapojení RC auta
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í).
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.
Po spárování telefonu s modulem se objeví následující:
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 RC autíčkem!
- 1. Arduino.cz Challenge – Dřevorubec - 3.4.2022
- Arduino Bluetooth RC auto - 21.3.2022
- Vytvořte si pro Arduino vlastní appku! - 24.7.2018
petammek
16.10.2019 at 10:23Čau prosim o bližší fotku připojení relé k motoru a desce ….. točí se mi motor pouze na jednu stranu a to furt ….díky
florian35
19.3.2019 at 14:17U programu fritzing jsem v zásobníku nenašel některé komponenty i když jsem zadal vše.Jak rozšířit zásobník nebo jak vložit např.motor controler L 298N nebo relé atd.Začínám a nějak mě schema auta klame a možná i hloupě se ptám nevidím napájení Arduina.Děkuji za odpověď.Florian
Zbyněk Daněk
19.3.2019 at 14:46Ahoj Floriáne, máš pravdu ve schématu není napájení Arduina z baterie. Normálně připoj baterii k Arduinu. Do fritzing jsem se nikdy nepokoušel přidávat další komponenty. Pokus se obrátit na vývojáře fritzing.
florian35
5.3.2019 at 17:00Dobrý den,
můžete mě poradit jakým způsobem vytváříte obrázek např.zapojení arduino blu.auta.Nebo i jiné podobné obrázky se zapojením arduina a komponentů.Používáte nějaký program?Děkuji Florian
Zbyněk Daněk
5.3.2019 at 21:52Ahoj Floriane používám program http://fritzing.org/home/
HrebCZa
25.9.2018 at 23:35Hjustne prosim pomoct..
video zde: https://goo.gl/Cfxusg
Toz ja jsem z toho debil..
Kdyz pripojim se pres bt tak zacne servo kmitat..
A jeste casto se odpojuje z bt :/
patas
23.11.2017 at 19:08Dobrý 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
24.11.2017 at 1:32Ahoj patriku. Již jsem motor shield použil. Kód dohledám a pošlu ti jej. Popřípadě ti pomůžu s úpravou.
zauri8
18.11.2019 at 19:32Dobrý den, mohl by jste zaslat upravený kód pro motor shield ? Děkuji
Zbyněk Daněk
20.11.2019 at 22:51Kód pro motor shield už nemám. V googleplay je odkaz na domovskou stránku tvůrce aplikace pro ovládání telefonem. Ten kód pro motor shield uvádí
Zbyněk Daněk
12.6.2017 at 11:22Př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:00Dobrý 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
6.4.2018 at 11:12Ahoj René tady je odkaz na kód https://sites.google.com/site/bluetoothrccar/home/6-Joystick-Control
RKR2018RKR
7.4.2018 at 11:23Dobrý 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:15Pěkný článek. Bohužel kód obsahuje pár chybiček. Mohli byste nahrát opravenou verzi? Díky.
Zbyněk Daněk
12.6.2017 at 4:22Ahoj. Co přesně se ti nelíbí? Nebo ti to nefunguje?
Přihlásit se | info@hwkitchen.cz
Bastlírnu provozuje e-shop HWkitchen.cz 2014-2024