Tartalomjegyzék:
- 1. lépés: Alkatrészek és szoftverek
- 2. lépés: Építési folyamat
- 3. lépés: L293D motorvezérlő
- 4. lépés: HC-05 Bluetooth
- 5. lépés: Akkumulátor -monitor
- 6. lépés: HC-SR04 ultrahangos tartományérzékelő
- 7. lépés: Larson szkenner
- 8. lépés: Kód
- 9. lépés: Kamera
- 10. lépés: MIT App Inventor2
- 11. lépés: Csatlakoztassa mobiltelefonját RC autójához
- 12. lépés: Kész
Videó: Robot autó Bluetooth, fényképezőgép és MIT App Inventor 2: 12 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Szeretett volna valaha saját robotkocsit építeni? Nos… ez a lehetőség !!
Ebben az utasításban elmagyarázom, hogyan lehet robotkocsit Bluetooth és MIT App Inventor2 segítségével vezérelni. Légy tudatában annak, hogy kezdő vagyok, és hogy ez az első instabilitásom, ezért kérlek, légy szelíd a megjegyzéseidben.
Sok oktatható eszköz létezik, de ebben számos olyan funkciót próbáltam kombinálni, mint például: a kamera streamingje, az akadályok elkerülése, az ultrahangos tartományérzékelő, a Larson -szkenner (charlieplexeléssel) és az akkumulátorfigyelés egy Android -alkalmazással !!
Kezdjük tehát és ismerkedjünk meg Frankie -vel (sok helyről származó ötleteket használ… innen Robo Frankenstein)
1. lépés: Alkatrészek és szoftverek
Itt, szülővárosomban nehéz beszerezni az összes alkatrészt, ezért a legtöbbet a www.aliexpress.com webhelyről szerezhettem be
Becsléseim szerint a projekt 25-30 dollárért építhető meg a régi mobiltelefon figyelembevétele nélkül.
- Autó alváz: 3 kerék, 2 motor 6V (9 USD)
- Arduino Nano (2 USD)
- Bluetooth HC-05 (3-4 USD)
- L293D motorhajtó hajtókerék -motorokhoz (1,50 USD 5 darabos tételért)
- Régi mobiltelefon kamerával és Wi-Fi-vel
- HC-SR04 ultrahangos érzékelő a közeli objektumhoz történő méréshez (1 USD)
- 6 LED a Larson szkennerhez
- ATtiny85 Larson szkennerhez (1 USD)
- Breadboard (1 USD)
- Vezetékek
- 100K ohmos ellenállás (4)
- 1K ohmos ellenállás (2)
- 2K ohmos ellenállás (1)
- 270 ohmos ellenállás (3)
- Berregő
Szoftver:
- Arduino IDE
- IP -webkamera (régi Androidos mobiltelefonokhoz)
- MIT App Inventor2: Ez az alkalmazás nagyszerű, de csak Android operációs rendszerhez működik (nincs iPhone … sajnálom!)
2. lépés: Építési folyamat
Az autó alvázát nagyon könnyű összeszerelni; 2 6V -os motorja van, amely a hátsó kerekeket táplálja, és 4 akkumulátor.
A robotkocsit Bluetooth és Wi-Fi vezérli. A Bluetooth vezérli az autó és az MIT App feltalálója2 közötti soros kommunikációt, és a Wi-Fi-vel kommunikálnak az autó elé telepített kamerával (régi mobiltelefon).
Ehhez a projekthez két elemkészletet használtam: az arduino -t 9 V -os akkumulátor, az autó motorjait pedig 6 V -os (négy 1,5 V -os AA elem) táplálja.
Az Arduino Nano ennek a projektnek az agya, amely vezérli az autót, a zümmögőt, a HC-SR04 ultrahangos tartományérzékelőt, a Bluetooth HC-05-öt, a Larson-szkennert (ATtiny85) és figyeli az akkumulátorokat. A 9 V -os akkumulátor Vin -hez kerül (30 -as érintkező), Arduino 27 -es tüskéje pedig 5 V -os szabályozott áramellátást biztosít a kenyértáblának. Össze kell kötni az összes IC -t és akkumulátort.
Csatolva, a kapcsolási rajz Excelben készült (elnézést…. Legközelebb megpróbálom a Fritzing -t). Mindent kenyérsütő deszkával és hímmel összekötöttem a hím vezetékekkel, az enyém patkányfészeknek tűnik.
3. lépés: L293D motorvezérlő
Az L293D egy négyszeres nagyáramú, fél-H meghajtó, amelyet úgy terveztek, hogy akár 600 mA-es kétirányú meghajtóáramot biztosítson 4,5 V és 36 V közötti feszültségen. Az autó kerekeinek meghajtására szolgál.
A motorok 6 V -os akkumulátorral (négy 1,5 V AA) működnek, és 5 V -ot használ az Arduino Nano szabályozott 5 V -os (27 -es érintkező) logikájához. A csatlakozásokat a mellékelt vázlat mutatja.
Nem kellett hűtőbordába telepíteni.
4. lépés: HC-05 Bluetooth
A HC-05 Bluetooth tápellátása 5 V (arduino pin 27), de fontos megérteni, hogy a logikai szint 3,3 V, azaz a kommunikáció (Tx és Rx) 3,3 V-al. Ezért az Rx -et maximum 3,3 V feszültséggel kell konfigurálni, ami szintváltó átalakítóval érhető el, vagy mint ebben az esetben, feszültségosztóval 1K és 2K ellenállások használatával, amint az az áramkörben látható.
5. lépés: Akkumulátor -monitor
Az akkumulátor töltöttségi szintjének figyelése érdekében feszültségosztókat állítottam be annak érdekében, hogy a feszültség szintje 5 V alá csökkenjen (Arduino maximális tartománya). A feszültségosztó csökkenti a mért feszültséget az Arduino analóg bemenetek tartományába.
Az A4 és A6 analóg bemeneteket használják, és nagy ellenállásokat (100K ohm) használnak annak érdekében, hogy a mérési folyamat során ne merítse le túlságosan az elemeket. Kompromisszumot kell kötnünk, ha az ellenállások túl alacsonyak (10K ohm), kisebb a terhelési hatás, a feszültség leolvasása pontosabb, de nagyobb áramfelvétel; ha túl magasak (1M ohm), nagyobb terhelési hatás, a feszültség leolvasása kevésbé pontos, de kevesebb áramfelvétel.
Az akkumulátor figyelése 10 másodpercenként történik, és közvetlenül a vezérlő mobiltelefonján jelenik meg.
Biztos vagyok benne, hogy ezen a részen még van mit javítani, mivel két analóg érintkezőből olvasok, és a belső MUX cserélődik közöttük. Nem számolok átlagokat, és talán ezt kell tennem.
Hadd magyarázzam meg a következő képletet:
// Olvassa le a feszültséget az analóg A4 -es tűről, és végezze el az Arduino kalibrálását:
feszültség1 = (analóg olvasott (A4)*5,0/1024,0)*2,0; //8.0V
Az Arduino nano kártya 8 csatornás, 10 bites analóg-digitális átalakítót tartalmaz. Az analogRead () függvény 0 és 1023 közötti számot ad vissza, amely arányos a csapra adott feszültséggel. Ez felbontást eredményez a leolvasások között: 5 volt / 1024 egység, vagy 0,0049 volt (4,9 mV) egységenként.
A feszültségosztó felére csökkenti a feszültséget, és ahhoz, hogy valódi feszültséget kapjon, meg kell szoroznia 2 -vel !!
FONTOS: Biztos vagyok benne, hogy van egy hatékonyabb módja az arduino áramellátásának, mint én! Kezdőként megtanultam a nehéz utat. Az Arduino Vin csap lineáris feszültségszabályozót használ, ami azt jelenti, hogy egy 9 V -os akkumulátorral a lineáris szabályozó teljesítményének nagy részét égetheti el! Nem jó. Ezt azért tettem, mert gyors volt, és csak azért, mert nem tudtam jobban… de biztos lehetsz benne, hogy a Robo Frankie 2.0 verziójában minden bizonnyal másképp fogom csinálni.
Arra gondolok (hangosan), hogy a DC DC fokozható kapcsolóüzemű tápegysége és a Li-ion újratölthető akkumulátor jobb megoldás lehet. Szíves javaslatát szívesen fogadjuk…
6. lépés: HC-SR04 ultrahangos tartományérzékelő
A HC-SR04 egy ultrahangos tartományérzékelő. Ez az érzékelő 2–400 cm közötti mérést tesz lehetővé, 3 mm -es tartományban. Ebben a projektben arra használják, hogy elkerüljék az akadályokat, amikor eléri a 20 cm -t vagy annál kevesebbet, és mérik a távolságot bármely tárgytól, amelyet visszaküldenek a mobiltelefonjára.
A mobiltelefon képernyőjén van egy gomb, amelyre kattintani kell, hogy távolságot kérhessen a közeli objektumtól.
7. lépés: Larson szkenner
Valami szórakoztatót szerettem volna belefoglalni, ezért belekerült a Larson szkenner, amely hasonlít a K. I. T. T. Knight Rider -től.
A Larson szkennerhez ATtiny85 -öt használtam charlieplexeléssel. A Charlieplexing egy technika multiplexelt kijelző meghajtására, amelyben a mikrokontroller viszonylag kevés I/O érintkezőjét használják egy sor LED meghajtására. A módszer a mikrovezérlők háromállapotú logikai képességeit használja fel a hagyományos multiplexeléssel szembeni hatékonyság növelése érdekében.
Ebben az esetben 3 tűt használok az ATtiny85 -től 6 LED világítására !!
Az "X" LED -eket N tűvel meggyújthatja. A következő képlet segítségével számolja ki, hány LED -et vezethet:
X = N (N-1) LED N tűvel:
3 tű: 6 LED;
4 tű: 12 LED;
5 tű: 20 LED … érti az ötletet;-)
Az áram pozitív (anód) és negatív (katód) között áramlik. A nyíl csúcsa a katód.
Fontos megjegyezni, hogy az 1. tüske (Arduino IDE kódban) az ATtiny85 fizikai 6. tűjére utal (kérjük, olvassa el a csatolt pinoutot).
Mellékelten megtalálja a Larson szkennert vezérlő ATtiny85 -re feltöltendő kódot. Nem írom le, hogyan kell feltölteni egy kódot az ATtiny85 -be, mivel rengeteg olyan utasítás található, amelyek ezt teszik.
8. lépés: Kód
Mellékelem a Larson szkennert vezérlő ATtiny85 -re feltöltendő kódot és az Arduino nano kódját.
Ami az Arduino nano -t illeti, más utasítások kódjait használtam (itt), és az igényeimnek megfelelően módosítottam. A kód folyamatábráját (szóval is, a tisztább kép érdekében) mellékeltem, hogy jobban megértsük a Switch - Case működését.
Fontos: Annak érdekében, hogy a CarBluetooth kódot fel tudja tölteni az Arduino nanóba, le kell választania az Rx és a Tx csatlakozót a HC-05 Bluetooth modulról!
9. lépés: Kamera
Az IP webkamera alkalmazást le kell tölteni a Play Áruházból, és telepíteni kell a régi mobiltelefonjára. Ellenőrizze a videóbeállításokat, ennek megfelelően állítsa be a felbontást, és végül menjen le az utolsó „Szerver indítása” parancsra az átvitel elindításához. Ne felejtse el bekapcsolni a Wi-Fi-t a mobiltelefonban !!
10. lépés: MIT App Inventor2
Az MIT App inventor2 felhőalapú eszköz, amely segít alkalmazások létrehozásában a webböngészőben. Ezt az alkalmazást (csak android alapú mobiltelefonokhoz) ezután feltöltheti a cellájába, és irányíthatja robotkocsiját.
Csatolok.apk és.aia kódokat, hogy láthassa, mit tettem, és tetszés szerint módosíthassa. Az internetről származó kódot (MIT App) használtam, és saját módosításokat végeztem. Ez a kód vezérli a robotkocsi mozgását, jelet fogad az ultrahangos érzékelőtől, felkapcsolja a lámpákat és hangjelzést ad. Ezenkívül jelzést kap az elemektől, és tudatja velünk a feszültség szintjét.
Ezzel a kóddal két különböző jelet tudunk fogadni az autótól: 1) távolság a közeli tárgytól és 2) feszültség a motor és az arduino akkumulátoroktól.
A kapott soros karakterlánc azonosítása érdekében az Arduino kódjába zászlót illesztettem, amely meghatározza a küldött karakterlánc típusát. Ha az Arduino elküldi az ultrahangos érzékelőtől mért távolságot, akkor „A” karaktert küld a karakterlánc elé. Amikor az Arduino elküldi az akkumulátor töltöttségi szintjét, egy „B” karakterrel ellátott zászlót küld. Az MIT App inventors2 kódjában elemeztem az Arduino -ból származó soros karakterláncot, és ellenőriztem ezeket a jelzőket. Mint mondtam, kezdő vagyok, és biztos vagyok benne, hogy vannak hatékonyabb módszerek erre, és remélem, valaki jobban megvilágosíthat.
Küldje el az Arduino_Bluetooth_Car.apk fájlt a mobiltelefonjára (e -mailben vagy a Google Drive -on), és telepítse.
11. lépés: Csatlakoztassa mobiltelefonját RC autójához
Először is kapcsolja be a Wi-Fi-t a régi mobiltelefonban (az RC robotban).
A vezérlő mobiltelefonjában kapcsolja be a Wi-Fi-t, a Bluetooth-ot, és nyissa meg az Arduino_Bluetooth_Car.apk alkalmazást, amelyet éppen telepített. A képernyő végén (görgessen lefelé, ha nem látja) két gombot fog látni: Eszközök és CONNECT. Kattintson az Eszközök elemre, és válassza ki a Bluetooth -ot az RC Car -ból (valami HC 05 legyen), majd kattintson a CSATLAKOZTATÁS gombra, és látnia kell a CSATLAKOZTAT üzenetet a képernyő bal alsó sarkában. Az első alkalommal jelszót kell kérni (írja be a 0000 vagy az 1234 értéket).
Van egy doboz, ahol be kell írnia a régi cella IP -címét (az RC Car -ban lévő mobiltelefon), az én esetemben ez a
Ez az IP-szám észlelhető a Wi-Fi Routerben. Be kell lépnie az útválasztó konfigurációjába, ki kell választania az Eszközök listáját (vagy valami hasonlót az útválasztó márkájától függően), és látnia kell a régi cellaeszközt, kattintson rá, és írja be ezt az IP -számot ebbe a mezőbe.
Ezután válassza a CAMERA lehetőséget, és kezdje el nézni a kamera streamingjét az RC Car -ból.
12. lépés: Kész
Kész vagy! Kezdj el játszani vele
Jövőbeni változások: A 9 V-os akkumulátort Li-ion akkumulátorokra cserélem, hogy újratölthessem őket, és DC-DC fokozódó feszültségszabályozót használok, továbbá szeretném javítani az akkumulátor monitorát az analóg leolvasások simításával (átlagolásával). Nem tervezi az A. I. még…;-)
Beléptem az első tanulságos versenyemre… szóval kérem szavazzon;-)
Ajánlott:
Készítse el saját motoros fényképezőgép csúszkáját: 6 lépés (képekkel)
Készítse el saját motoros fényképezőgép csúszkáját: Ebben a projektben megmutatom, hogyan alakítottam át két régi kameraállványt egy motoros kameracsúszda létrehozásához. A mechanikus rendszer többnyire alumíniumból és rozsdamentes acélból áll, ami a csúszkát masszívvá és szép megjelenésűvé teszi. Az
Puha játék Bluetooth kocka és Android játék fejlesztése az MIT App Inventor segítségével: 22 lépés (képekkel)
Puha játék Bluetooth kocka és Android játék fejlesztése az MIT App Inventor segítségével: A kockajátéknak különböző módszerei vannak 1) Hagyományos játék fa vagy sárgaréz kockákkal. 2) Játssz mobilon vagy PC -n a mobil vagy a PC által véletlenszerűen létrehozott kockával. fizikailag játszani a kockával, és mozgatni az érmét a mobilon vagy a számítógépen
RaspberryPI fényképezőgép - MagicBox: 13 lépés (képekkel)
RaspberryPI Fényképezőgép - MagicBox: Egy ideje eszembe jutott ez az őrült ötlet, hogy egy Raspberry PI -ből fényképészeti gépet készítsek. A városomban volt egy kis műsor, ahol az emberek elmentek és megmutatták, mit készítenek vagy készítettek elektronika, számítógép stb. Segítségével … Olyan voltam, mint egy szegény ember
DIY képérzékelő és digitális fényképezőgép: 14 lépés (képekkel)
DIY képérzékelő és digitális fényképezőgép: Sok oktatóanyag található az interneten a saját filmkamera építéséről, de nem hiszem, hogy van ilyen a saját képérzékelő létrehozásáról! A polcról érkező képérzékelők sok cégtől érhetők el online, és ezek használata tervezést jelentene
Pc szinkronizáló csatlakozó hozzáadása a Nikon Sc-28 TTL kábelhez (használja az automatikus beállításokat a fényképezőgép vakujának bekapcsolásához és a fényképezőgép villanásainak kikapcsolásához !!): 4 lépés
Pc szinkronizáló csatlakozó hozzáadása a Nikon Sc-28 Ttl kábelhez (használja az automatikus beállításokat a fényképezőgép vakuján, és a kioldó fényképezőgépek villanásait !!): ebben az utasításban megmutatom, hogyan távolítsa el az egyik bosszantó, saját, 3 tűs TTL csatlakozót a egy Nikon SC-28 kikapcsolt fényképezőgép TTL kábelének oldalát, és cserélje ki egy szabványos PC szinkronizáló csatlakozóra. ez lehetővé teszi egy dedikált vaku használatát