Obsah:

Bluetooth RC auto s STM32F103C a L293D - lacné: 5 krokov
Bluetooth RC auto s STM32F103C a L293D - lacné: 5 krokov

Video: Bluetooth RC auto s STM32F103C a L293D - lacné: 5 krokov

Video: Bluetooth RC auto s STM32F103C a L293D - lacné: 5 krokov
Video: Как сделать автомобиль-робот с Bluetooth на Arduino 🔥 Самый маленький радиоуправляемый автомобиль своими руками [2 дюйма] 2024, November
Anonim
Image
Image
Zničte pojedača batérií!
Zničte pojedača batérií!

Vyrobil som auto Bluetooth Arduino, ako je tu znázornené, od Ardumotive_com. Problém, ktorý som mal, boli batérie a ich hmotnosť, ako aj ich náklady. Odvtedy sú lacné energetické banky pre mobilné telefóny veľmi dostupné. Jediné, čo som potreboval, bolo znížiť hmotnosť. Keďže som lacný, prešiel som na mikrokontrolér STM32F103C. Mikrokontrolér STM32F103C je možné kúpiť za menej ako 2 doláre a je oveľa menší ako Arduino. Trochu som zmenil kódovanie, aby fungovalo aj s STM32F103C.

Zásoby

  • Lacné auto na diaľkové ovládanie, ktoré žerie batérie. Áno, rovnako ako ten, ktorý používa Ardumotive_com. Vypnete systém a použijete namiesto toho powerbanku telefónu. Ak máte zdroje na stavbu vlastného podvozku, majte sa na to. Išiel som do obchodu s hračkami na ulici a kúpil som si lacné auto za menej ako 10 dolárov. Auto žerie batérie a diaľkové ovládanie žerie batérie-ideálne na zlepšenie.
  • Telefónna banka- Teraz sú super lacné. Vyrazte z powerbank, ktoré majú na boku vypínač. Nebudete môcť sledovať svoje auto a držať tlačidlo. To je hlúpe.
  • Čip L293D-Toto je dvojitý mostík H, ktorý bude ovládať elektromotory.
  • Modul Bluetooth HC-06
  • Prepínač- použil som jednoduchý vypínač.
  • Niektorý drôt -telefónny drôt by bol v poriadku, ale trochu väčší lankový rozchod 20 by bol lepší.
  • Doska Proto alebo kus plastu alebo lepenky na pripevnenie vašej modrej pilulky a L293D. Som lacný, takže som prišiel s trochu iným systémom s tenkou vlnitou lepenkou- ako zo škatule so žiarovkami.
  • Dva lacné nabíjacie káble USB-dajú sa kúpiť v Dollar Tree. Nepoužívajte svoj pekný programovací kábel. Jeden bude odpojený od vypínača a druhý bude nabíjať batériu.

Voliteľné

  • 4 LED diódy -ak chcete svetlomety a zadné svetlá.
  • 4 220 ohmové odpory- pre LED diódy na systéme 3,3 V.
  • Piezo alebo malý reproduktor na klaksón.

Nástroje

  • Spájkovačka a spájkovačka
  • Horúca lepiaca pištoľ- Moja dcéra je ninja s horúcou lepiacou pištoľou!
  • Odizolovače a strihače drôtov
  • POZNÁMKA: Ak používate radšej techniku z kartónu, akú používam ja, než protokol, budete potrebovať Dremel alebo malú vŕtačku

Krok 1: Zničte požierača batérií

Zničte pojedača batérií!
Zničte pojedača batérií!

Je čas sa pobaviť pri zničení pojedača batérie! Áno, DOKONALÉ VECI! Buďte hrdí na to, že prispievate k tomu, aby bol svet ekologickejší- OK, je to náročné, ale aj tak … Choďte do rámca.

Hore je rovnaká jednotka, akú som vyrobil pre verziu Arduino. Verzia Arduino používala značnú batériu, vďaka ktorej bolo auto ťažšie. Vzal som to teda späť do rámu. Pridal som niekoľko nárazníkov z plastovej fľaše a horúceho lepidla a upravil som telo. Viac o tele neskôr.

Akonáhle budete mať rám s motormi a riadením holý, zistite, ktoré strany svoriek motora sú ktoré. Na testovanie motora použite batériu alebo 5V nabíjačku.

Keď sa kolesá otáčajú doprava, na motore riadenia označte kladný vodič batérie „3“a záporný vodič „6“.

Keď sa kolesá otáčajú dopredu, na hnacom motore označte kladný vodič batérie „14“a záporný vodič „11“.

Krok 2: Kód v Arduino IDE

Kód v Arduino IDE
Kód v Arduino IDE
Kód v Arduino IDE
Kód v Arduino IDE

Najlepšie bude, ak najskôr prototypujete elektroniku svojho auta na doske.

Dobre, toto je jedna z chúlostivých častí. „Modrú pilulku“nie je možné naprogramovať cez port USB. Nenašiel som jednoduchšie programovacie vysvetlenie „modrej pilulky“ako video z YouTube od Joopa Brokkinga. Vysvetľuje všetko, čo potrebujete vedieť, vrátane knižnice STMduino Rogera Clarka. Existuje spôsob, ako nainštalovať bootloader, aby ste mohli použiť USB na naprogramovanie „modrej pilulky“, ale bootloader musíte naprogramovať prostredníctvom sériovej zbernice.

Sériovú zbernicu bohužiaľ používa aj adaptér Bluetooth. Program musí byť nainštalovaný cez piny Serial Bus, PA9 a PA10, najskôr cez FTDI, potom môžete skontrolovať všetky svoje nastavenia pomocou adaptéra Bluetooth.

Použite nepájivú dosku a rozložte všetko na doske rovnako ako mrazivú skicu vyššie. Odpojte linky Serial TX a RX adaptéra Bluetooth na kolíkoch PA9 a PA10 STM32F103C. Pripojte FTDI a program. Zaistite, aby boli prekrížené linky sériovej zbernice, od RX do Tx a Tx do RX. Jeden prijíma a druhý dáva.

Akonáhle je program načítaný, môžete otvoriť sériovú konzolu a odoslať

aby ste zistili, či svetlá fungujú. Ak svetlá fungujú, môžete odoslať

znova ich vypnite.

Položte auto na blok, aby ste zdvihli pneumatiky a odošlite

Kolesá by mali ísť dopredu. Ak nie, prepnite drôty. Pamätajte si, ako sme predtým označili vodiče. Zodpovedajúce piny L293D by mali byť zhodné.

Ak chcete zastaviť, pošlite

Pozrime sa na významné zmeny v kóde.

V sekcii s komentármi, na začiatku, by ste mali vidieť pôvodcu súborov od Ardumotive. Nasledujúcich niekoľko komentárov vysvetľuje, kde som sa trochu zmenil, aby odrážal STM32F103C.

/ * * Vytvoril Vasilakis Michalis // 12-12-2014 ver.2

* Projekt: Ovládajte RC auto cez Bluetooth so smartfónom Android * Viac informácií na https://www.ardumotive.com * * Tento kód bol zmenený tak, aby vyhovoval STM32F103 od Jim Garbe, [email protected] * Viac informácií na https:// github.com/jgarbe/RCCAR_STM32F103C*Všimnite si toho, že 8-bitové hodnoty 0-255 boli zmenené tak, aby*odrážali 16-bitové hodnoty 0-65535*//****************** **********Na modeli STM32 analógový zápis stále funguje pri 8-bitových 255,*Ale môžete získať plnú funkciu rozsahu PWM, 0-65535, deklarovaním kolíka ako PWM*A pomocou pwmWrite () namiesto analogWrite () **************************/

Najpozoruhodnejšie je, že kolíky nie sú medzi Arduino a STM32F103C pomenované rovnako. Piny deklarujeme pomocou ďalšej sady riadkov. Zostáva jeden kolík, ktorý je deklarovaný nadol v slučke. Na riadku 197 sa PA5 používa na čítanie stavu batérie.

//// Pripojenie L293

konštantný motorA1 = PB6; // na pin 15 L293 const int motorA2 = PB7; // na pin 10 L293 const int motorB1 = PB8; // na pin 7 L293 const int motorB2 = PB9; // na pin 2 L293 // LED diódy pripojené na STM32F103C Pin A12 const int svetla = PA12; // Bzučiak /Reproduktor k Arduino UNO Pin A8 const int bzučiak = PA8; // Bluetooth (HC-06 JY-MCU) Stavový pin na kolíku A11 STM32F103C konšt. Int BTState = PA11;

Tiež pomocou analogWrite (); bude stále fungovať na „BluePill“. Je však lepšie deklarovať piny PWM pomocou, pinMode (, PWM);

Potom použite

pwmWrite (,);

POZNÁMKA: 8-bit = 0-255, 16-bit = 0-65535

Riadky 32-44 sú zmeny vykonané na batérii. Ak sa chystáte používať kontrolu stavu batérie, musíte použiť rozdeľovač hlasovania pre batériu, ktorú máte. Táto časť nie je vyjadrená vo Fritzingovej skici. Existuje veľa vysvetlení, ako vytvoriť delič napätia na Youtube. Pretože STM32F103C je čip 3,3 V, opravil som kód tu, aby fyzicky používal delič napätia. Arduino môže tolerovať vyššie napätie prostredníctvom dodaných ADC, ale „modrá pilulka“nie.

/* Úroveň nabitia batérie sa skontroluje na pine PA5

* Zmenený nasledujúci riadok pre STM32F103C, pretože ADC nedokáže zvládnuť * čokoľvek nad 3,3 V * Práve som to komentoval * Musí sa vypočítať a použiť delič napätia pomocou dvoch odporov * na meranie vstupu ADC ďalej v kóde * príklad: * GND --- 2K odpor ----------------- 1K odpor ------ 5v * | * | * 3,3v */ // const float maxBattery = 3,3; // Zmeňte hodnotu na maximálnu úroveň napätia batérie!

Krok 3: Dajte to všetko dohromady

Dajte to všetko dohromady
Dajte to všetko dohromady
Dajte to všetko dohromady
Dajte to všetko dohromady
Dajte to všetko dohromady
Dajte to všetko dohromady
Dajte to všetko dohromady
Dajte to všetko dohromady

Obvykle používam proto-dosku na umiestnenie kúskov a spájku medzi otvory na pripojenie všetkého. Niekedy všetko „spojím“, aby som získal viac Frankensteinovho/3D zväzku spájkovacieho vzhľadu.

Vybral som si túto hybridnú metódu, aby bolo zariadenie čisté a ľahké- a samozrejme, LACNO!

Táto metóda umožňuje aj označovanie. Jedna z najhorších častí spájkovania mŕtveho hmyzu je, keď sa zospodu pozriete na IC čip a zabudnete, ktorý pin je čo.

Vyššie uvedené obrázky sú celkom samozrejmé. Myslím, že najťažšou vecou je nájsť dostatočne tenkú lepenku, aby sa dala vybaliť a zároveň bola pevná. Môžete použiť aj plast, ale označiť ho je o niečo ťažšie. Keď zatlačím čapy na dosku a označím jamky, pomocou otvoru Dremel vyvŕtam každý otvor pre kolíky.

Ak ste si to ešte nevšimli, svetlá mám na doske iba ako konektor príslušenstva. Nepoužívam indikátor batérie ani zvukový signál. Je to preto, že môj projekt má iný účel. Bude to zrejmé, keď uvidíte konečný výsledok s karosériou auta. … ale to prináša ďalšiu myšlienku, V tomto projekte je veľa nepoužitých kolíkov. Možno otvárač kufra, otvárač dverí v automobile, rozbuška s krakovaním, … … alebo dokonca mini-galvanický generátor rušenia éteru Galvani-Edisona!

Akonáhle je všetky spájkovanie dokončené, vyskúšajte si pred lepením spojov za tepla úľavu od napätia na drôtoch.

Použil som rovnakú aplikáciu pre Android ako Ardumotive, nájdete ju na

Keď vyskúšate funkcie auta, je čas vložiť batériu a prepnúť. Prejdite na ďalší krok.

Krok 4: Batéria a prepínač

Dobre, tu nemôžete presne sledovať môj plán.

Nejako budete musieť nájsť dobré miesto na uloženie batérie do auta, a to buď spôsobom, ako nabiť batériu z hardvérového kľúča, alebo spôsobom, ako priamo nabiť zástrčku batérie. V úvodnom videu som len prilepil batériu a mikrokontrolér k rámu a spustil ho. Keď som chcel zastaviť, práve som odpojil batériu. Problém tohto nastavenia je v tom, že sa zástrčky na kábli USB a/alebo napájacej banke rýchlo kazia. Je lepšie mať vypínač.

Budete tiež musieť nájsť dobré miesto pre vypínač, kam karoséria auta stále umožní prístup. Použil som obyčajný vypínač (nie dočasný) a namontoval som ho na spodok rámu, kde sa nachádza pôvodný priestor pre batériu.

Budete musieť prerušiť kábel USB na polovicu a prepnúť medzi batériou a portom USB STM32F103C. Áno, STM32F103C môžete napájať pomocou portu USB. Prostredníctvom portu USB ho jednoducho nemôžete naprogramovať. Opäť som použil Dremel na vyvŕtanie niekoľkých otvorov pre spájkovacie kolíky spínača. Po spájkovaní som použil Hot Glue, opäť na spevnenie spojov.

Krok 5: Položte karosériu na rám

OK, povedal som, že som prebudoval pôvodnú verziu tohto auta pre Arduino. Skutočným konečným výrobkom teda bola rekvizita baletu „Luskáčik“, ktorú predviedla naša miestna baletná spoločnosť. V úvodnej scéne behala po javisku myš s Drosselmeyerovou náhodnou mágiou. Použil som krysu IKEA a namontoval som ju na rám, Arduino a oveľa väčšiu batériu. Rekvizita bola ťažká a nedala sa nabíjať. Toto je oveľa lepšie!

Bavte sa so svojim autom. Pamätajte si, že na STM32F103C je oveľa viac pinov, ktoré je možné použiť. Možno skunk podobný tomu v "Toy Story 4"

Odporúča: