Obsah:

Robotické auto s Bluetooth, kamerou a aplikací MIT Inventor2: 12 kroků (s obrázky)
Robotické auto s Bluetooth, kamerou a aplikací MIT Inventor2: 12 kroků (s obrázky)

Video: Robotické auto s Bluetooth, kamerou a aplikací MIT Inventor2: 12 kroků (s obrázky)

Video: Robotické auto s Bluetooth, kamerou a aplikací MIT Inventor2: 12 kroků (s obrázky)
Video: Adel ukazala prso 2024, Červenec
Anonim
Image
Image
Díly a software
Díly a software

Chtěli jste někdy postavit vlastní robotické auto? No … toto je vaše šance !!

V tomto Instructable vás provedu, jak vyrobit robotické auto ovládané pomocí Bluetooth a MIT App Inventor2. Uvědomte si, že jsem nováček a že se jedná o moji první instituci, proto buďte prosím ve svých komentářích jemní.

Existuje mnoho instrukcí, ale v tomto jsem se pokusil zkombinovat mnoho funkcí, jako jsou: streamování kamery, vyhýbání se překážkám, ultrazvukový senzor dosahu, Larsonův skener (s charlieplexováním) a monitorování baterie do aplikace pro Android !!

Pojďme tedy začít a setkat se s Frankiem (používá nápady z mnoha míst …. Proto Robo Frankenstein)

Krok 1: Součásti a software

Díly a software
Díly a software
Díly a software
Díly a software

Tady, v mém rodném městě, je těžké sehnat všechny díly, proto jsem většinu z nich mohl získat z www.aliexpress.com

Odhaduji, že projekt lze postavit za 25 - 30 USD, aniž bychom brali v úvahu starý mobil.

  • Podvozek automobilu: 3 kola, 2 motory 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3 až 4 USD)
  • Řidič motoru L293D k pohonu motorů kol (1,50 USD za šarži 5 kusů)
  • Starý mobilní telefon s kamerou a Wi-Fi
  • Ultrazvukový senzor HC-SR04 pro měření na blízký objekt (1 USD)
  • 6 LED pro skener Larson
  • ATtiny85 pro skener Larson (1 USD)
  • Breadboard (1 USD)
  • Dráty
  • Rezistor 100K Ohm (4)
  • 1K ohmový rezistor (2)
  • Rezistor 2K Ohm (1)
  • Odpor 270 ohmů (3)
  • Bzučák

Software:

  • Arduino IDE
  • Webová kamera IP (pro starý mobilní Android)
  • MIT App Inventor2: Tato aplikace je skvělá, ale funguje pouze pro operační systém Android (žádné telefony… omlouváme se!)

Krok 2: Stavební proces

Stavební proces
Stavební proces
Stavební proces
Stavební proces
Stavební proces
Stavební proces
Stavební proces
Stavební proces

Montáž podvozku automobilu je velmi snadná; má 2 motory 6V, které pohání zadní kola a 4 baterie.

Automobil Robot se ovládá pomocí Bluetooth a Wi-Fi. Bluetooth řídí sériovou komunikaci mezi aplikací Car a MIT App inventor2 a Wi-Fi slouží ke komunikaci s kamerou (starým mobilním telefonem) nainstalovanou před vozidlem.

Pro tento projekt jsem použil dvě sady baterií: arduino je napájeno 9V baterií a motory automobilů 6V (čtyři 1,5V AA baterie).

Arduino Nano je mozkem tohoto projektu, který ovládá auto, bzučák, ultrazvukový senzor dosahu HC-SR04, Bluetooth HC-05, Larsonův skener (ATtiny85) a monitoruje baterie. 9V baterie jde na Vin (pin 30) a pin 27 Arduina poskytuje 5V regulované napájení na prkénko. Potřebujete spojit všechny uzemnění ze všech integrovaných obvodů a baterií dohromady.

Připojené schéma zapojení je v Excelu (Omlouvám se …. Příště zkusím Fritzing). Všechno jsem připojil pomocí prkénka a konektorů z mužského na mužský drát, moje vypadá jako krysí hnízdo.

Krok 3: Ovladač motoru L293D

Ovladač motoru L293D
Ovladač motoru L293D
Ovladač motoru L293D
Ovladač motoru L293D

L293D je čtyřnásobný vysokonapěťový poloviční H driver navržený tak, aby poskytoval obousměrné budicí proudy až 600 mA při napětí 4,5 V až 36 V. Slouží k pohonu kol auta.

Je napájen 6V baterií (čtyři 1,5V AA) pro motory a používá 5V pro logiku, která pochází z regulovaných 5V (pin 27) v Arduino Nano. Připojení jsou uvedena v přiloženém schématu.

Nebylo nutné jej instalovat do chladiče.

Krok 4: HC-05 Bluetooth

Bluetooth HC-05
Bluetooth HC-05

HC-05 Bluetooth je napájen 5V (arduino pin 27), ale je důležité si uvědomit, že logická úroveň je 3,3V, tj. Komunikace (Tx a Rx) s 3,3V. Proto musí být Rx konfigurován s maximem 3,3 V, čehož lze dosáhnout pomocí převodníku řadiče úrovně nebo, jako v tomto případě, pomocí děliče napětí pomocí odporů 1K a 2K, jak je vidět v obvodu.

Krok 5: Monitor baterie

Abych mohl sledovat úrovně baterie, nastavil jsem děliče napětí, abych snížil úrovně napětí pod 5 V (maximální rozsah Arduina). Dělič napětí snižuje měřené napětí v rozsahu analogových vstupů Arduino.

Používají se analogové vstupy A4 a A6 a používají se vysoké odpory (100 K ohmů), aby se při měření příliš nevybíjely baterie. Musíme udělat kompromis, pokud jsou odpory příliš nízké (10K ohmů), menší zatěžovací účinek, čtení napětí je přesnější, ale větší odběr proudu; pokud jsou příliš vysoké (1M ohmů), větší zatěžovací účinek, čtení napětí je méně přesné, ale menší odběr proudu.

Monitorování baterie se provádí každých 10 sekund a zobrazuje se přímo v mobilním telefonu ovladače.

Jsem si jistý, že v této části je velký prostor pro zlepšení, protože čtu ze dvou analogových pinů a interní MUX se mezi nimi přepíná. Neprůměruji více měření a možná to je to, co bych měl dělat.

Vysvětlím následující vzorec:

// Odečtěte napětí z analogového pinu A4 a proveďte kalibraci pro Arduino:

napětí1 = (analogové čtení (A4)*5,0/1024,0)*2,0; // 8,0V

Deska Arduino nano obsahuje 8kanálový 10bitový převodník analogového signálu na digitální. Funkce analogRead () vrací číslo mezi 0 a 1023, které je úměrné množství napětí aplikovaného na pin. Výsledkem je rozlišení mezi hodnotami: 5 voltů / 1024 jednotek nebo 0,0049 voltů (4,9 mV) na jednotku.

Dělič napětí snižuje napětí na polovinu a aby se dosáhlo skutečného napětí, je třeba jej vynásobit 2 !!

DŮLEŽITÉ: Jsem si jistý, že existuje účinnější způsob napájení arduina než způsob, jakým to dělám !! Jako nováček jsem se naučil tvrdou cestou. Arduino Vin pin používá lineární regulátor napětí, což znamená, že s 9V baterií spálíte velkou část energie v samotném lineárním regulátoru! Špatný. Udělal jsem to tímto způsobem, protože to bylo rychlé a jen proto, že jsem nevěděl lépe … ale buďte si jisti, že v Robo Frankie verze 2.0 to určitě udělám jinak.

Přemýšlím (nahlas), že lepší cestou by mohlo být zvýšení stejnosměrného proudu na stejnosměrný proud a dobíjecí baterie Li-ion. Váš laskavý návrh bude více než vítán …

Krok 6: Ultrazvukový snímač rozsahu HC-SR04

Ultrazvukový snímač rozsahu HC-SR04
Ultrazvukový snímač rozsahu HC-SR04

HC-SR04 je ultrazvukový snímač dosahu. Tento senzor poskytuje měření od 2 cm do 400 cm s rozsahem přesnosti až 3 mm. V tomto projektu se používá k vyhýbání se překážkám, když dosáhne 20 cm nebo méně, a také k měření vzdálenosti od jakéhokoli předmětu, který je odeslán zpět do vašeho mobilního telefonu.

Na obrazovce vašeho mobilního telefonu je tlačítko, na které je třeba kliknout, aby bylo možné požadovat vzdálenost od blízkého objektu.

Krok 7: Larson Scanner

Larsonův skener
Larsonův skener
Larsonův skener
Larsonův skener
Larsonův skener
Larsonův skener

Chtěl jsem zahrnout něco zábavného, proto jsem zahrnul Larsonův skener, který připomíná K. I. T. T. od Knight Ridera.

Pro skener Larson jsem použil ATtiny85 s charlieplexováním. Charlieplexing je technika pro řízení multiplexovaného displeje, ve které je k ovládání řady LED diod použito relativně málo I/O pinů na mikrokontroléru. Tato metoda využívá schopnosti třístavové logiky mikrokontrolérů, aby získala účinnost oproti tradičnímu multiplexování.

V tomto případě používám 3 piny od ATtiny85 k rozsvícení 6 LED !!

LED diody „X“můžete rozsvítit pomocí N. Pomocí následujícího vzorce odvodíte, kolik LED diod můžete řídit:

X = N (N-1) LED s N piny:

3 piny: 6 LED diod;

4 piny: 12 LED diod;

5 pinů: 20 LED diod … dostanete nápad;-)

Proud teče z kladného (anoda) na záporný (katoda). Špička šipky je katoda.

Je důležité si uvědomit, že pin 1 (v kódu Arduino IDE) odkazuje na fyzický pin 6 v ATtiny85 (viz připojený pinout).

V příloze najdete kód, který je třeba nahrát do ATtiny85, který ovládá Larsonův skener. Nepopisuji, jak nahrát kód do ATtiny85, protože existuje spousta instruktabilních programů, které to dělají jako tento.

Krok 8: Kód

Kód
Kód

Přikládám kód, který je potřeba nahrát do ATtiny85, který ovládá Larsonův skener a kód pro Arduino nano.

Pokud jde o Arduino nano, použil jsem část kódů z jiných instructables (zde) a provedl změny, aby vyhovovaly mým potřebám. Zahrnul jsem vývojový diagram (také ve slově pro jasnější obrázek) kódu, abych lépe porozuměl tomu, jak Switch - Case funguje.

Důležité: Chcete-li nahrát kód CarBluetooth do Arduino nano, musíte odpojit Rx a Tx od modulu Bluetooth HC-05!

Krok 9: Fotoaparát

Fotoaparát
Fotoaparát
Fotoaparát
Fotoaparát

Aplikaci IP Webcam je třeba stáhnout z obchodu Play a nainstalovat do starého mobilního telefonu. Zkontrolujte předvolby videa, podle toho upravte rozlišení a nakonec přejděte na poslední příkaz „Spustit server“, aby se zahájil přenos. Nezapomeňte zapnout Wi-Fi v mobilu !!

Krok 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 je cloudový nástroj, který pomáhá vytvářet aplikace ve vašem webovém prohlížeči. Tuto aplikaci (pouze pro mobilní telefony se systémem Android) lze poté nahrát do vaší buňky a ovládat vaše robotické auto.

Přikládám kód.apk a.aia, abyste viděli, co jsem udělal, a mohli jej libovolně upravit. Použil jsem kód z internetu (aplikace MIT) a provedl jsem vlastní úpravy. Tento kód řídí pohyb auta robota, přijímá signál z ultrazvukového senzoru, zapíná světla a pípá bzučák. Přijímá také signál z baterií, který nás informuje o úrovni napětí.

S tímto kódem budeme schopni přijímat dva různé signály z auta: 1) vzdálenost k blízkému objektu a 2) napětí z baterií motoru a arduina.

Abych identifikoval přijatý sériový řetězec, vložil jsem do kódu Arduina příznak, který určuje typ odeslaného řetězce. Pokud Arduino odešle vzdálenost měřenou od ultrazvukového senzoru, pak odešle před řetězec znak „A“. Kdykoli Arduino odešle úrovně baterie, odešle příznak se znakem „B“. V kódu MIT App inventors2 jsem analyzoval sériový řetězec pocházející z Arduina a zkontroloval tyto příznaky. Jak jsem řekl, jsem nováček a jsem si jistý, že existují účinnější způsoby, jak toho dosáhnout, a doufám, že mě někdo dokáže osvětlit lepším způsobem.

Odešlete Arduino_Bluetooth_Car.apk do svého mobilního telefonu (prostřednictvím e -mailu nebo Disku Google) a nainstalujte jej.

Krok 11: Připojte svůj mobilní telefon k RC autu

Připojte svůj mobilní telefon k RC autu
Připojte svůj mobilní telefon k RC autu
Připojte svůj mobilní telefon k RC autu
Připojte svůj mobilní telefon k RC autu

Nejprve zapněte wi-fi ve starém mobilu (ten v RC robotu).

V mobilním telefonu ovladače zapněte wi-fi, Bluetooth a otevřete Arduino_Bluetooth_Car.apk, který jste právě nainstalovali. Na konci obrazovky (pokud ji nevidíte, přejděte dolů) uvidíte dvě tlačítka: Zařízení a PŘIPOJIT. Klikněte na Zařízení a vyberte Bluetooth z vašeho RC auta (mělo by to být něco HC 05), poté klikněte na PŘIPOJIT a v levé dolní části obrazovky by se vám měla zobrazit zpráva PŘIPOJENO. Při prvním zadání budete požádáni o heslo (zadejte 0000 nebo 1234).

Existuje pole, do kterého musíte zadat IP adresu své staré buňky (mobil, který je ve vašem RC autě), v mém případě je to

Toto IP číslo lze zjistit ve vašem Wi-Fi routeru. Musíte se dostat do konfigurace směrovače, vybrat seznam zařízení (nebo něco takového v závislosti na značce směrovače) a měli byste vidět své staré mobilní zařízení, kliknout na něj a do tohoto pole zadat toto číslo IP.

Poté vyberte CAMERA a měli byste začít sledovat streamování kamery z vašeho RC auta.

Krok 12: Jste hotovi

Jsi hotov!
Jsi hotov!

Jsi hotov! Začněte si s tím hrát

Budoucí změny: Vyměním 9V baterii za lithium-iontovou baterii, abych je dobil, a použiji regulátor napětí DC-DC, rovněž chci vylepšit monitor baterie zahrnutím vyhlazování (zprůměrování) analogových hodnot. Neplánuje zahrnout A. I. dosud …;-)

Přihlásil jsem se do své první soutěže, kterou lze instruovat … tak prosím hlasujte;-)

Doporučuje: