Tartalomjegyzék:

Bluetooth RC autó STM32F103C -vel és L293D -vel - Olcsó: 5 lépés
Bluetooth RC autó STM32F103C -vel és L293D -vel - Olcsó: 5 lépés

Videó: Bluetooth RC autó STM32F103C -vel és L293D -vel - Olcsó: 5 lépés

Videó: Bluetooth RC autó STM32F103C -vel és L293D -vel - Olcsó: 5 lépés
Videó: Arduino Bluetooth Car #shorts #arduino 2024, Június
Anonim
Image
Image
Pusztítsa el az akkumulátorfalót!
Pusztítsa el az akkumulátorfalót!

Az Ardumotive_com által készített Bluetooth Arduino autót készítettem, mint az itt ábrázolt. A problémám az akkumulátorok, súlyuk és költségeik voltak. Azóta a mobiltelefonok olcsó árambankjai nagyon megfizethetőek lettek. Csak annyit kellett tennem, hogy csökkentettem a súlyát. Mivel olcsó vagyok, az STM32F103C mikrokontrollerre váltottam. Az STM32F103C mikrokontroller kevesebb, mint 2 dollárért vásárolható meg, és sokkal kisebb, mint egy Arduino. Kicsit megváltoztattam a kódolást, hogy az STM32F103C -vel is működjön.

Kellékek

  • Olcsó távirányítású autó, amely elemeket fogyaszt. Igen, pont olyan, mint amit az Ardumotive_com használ. Kikapcsolja a rendszert, és helyette telefonos tápegységet használ. Ha van erőforrása saját alvázának megépítéséhez, akkor bátran. Elmentem az utcai játékboltba, és vettem egy olcsó autót 10 dollár alatt. Az autó elemeket eszik, a távirányító pedig elemeket-tökéletes a javításhoz.
  • Egy telefonos bank- Most rendkívül olcsók. Tévedjen el az áramellátó bankoktól, amelyek oldalán található a bekapcsológomb. Nem fogja tudni követni az autóját, és nem fogja nyomva tartani a gombot. Ez butaság.
  • L293D chip-Ez a kettős H-híd, amely az elektromos motorokat vezérli.
  • HC-06 Bluetooth modul
  • A Kapcsoló-- Egyszerű ki/be kapcsolót használtam.
  • Némi drót -telefon vezeték jó lenne, de egy kicsit nagyobb, 20 -as szálú jobb lenne.
  • Proto tábla vagy egy műanyag vagy karton darab a kék tabletta és az L293D rögzítéséhez. Olcsó vagyok, ezért egy kicsit más rendszert találtam ki vékony hullámkartonból- mint egy villanykörte dobozból.
  • Két olcsó USB töltőkábel-Ezek megvásárolhatók egy dollárfából. Ne használja a szép programozókábelt. Az egyik a be-/kikapcsoló számára lesz vágva, a másik pedig tölti az akkumulátort.

Választható

  • 4 LED -ha fényszórókat és hátsó lámpákat szeretne.
  • 4 220 Ohm ellenállás- 3,3 V-os rendszer LED-jeire.
  • Piezo vagy kis hangszóró kürthöz.

Eszközök

  • Forrasztópáka és forrasztópáka
  • Hot Glue Gun-- A lányom Hot Glue Gun Ninja!
  • Huzalhúzók és csíkok
  • MEGJEGYZÉS: ha az általam használt karton technikát használja a proto tábla helyett, akkor szüksége lesz egy Dremel vagy kis fúróra

1. lépés: Pusztítsa el az akkumulátorfalót

Pusztítsa el az akkumulátorfalót!
Pusztítsa el az akkumulátorfalót!

Itt az ideje, hogy szórakozzon az akkumulátorfaló megsemmisítésében! Igen, HASZNÁLJA EZT! Büszke lehetsz rá, hogy megteszed a részed a világ zöldebbé tételében- OK, ez egy szakasz, de mindegy … Menj a kerethez.

Fentebb ugyanaz az egység, amelyet az Arduino verzióval készítettem. Az Arduino verzió komoly akkumulátor -energiát használt, ami megnehezítette az autót. Szóval visszavittem a keretbe. Hozzáadtam néhány sárvédőt egy műanyag palackból és forró ragasztóból, és testre szabtam a karosszériát. A testről később.

Miután megvan a keret a motorokkal és a kormányzás csupasz, keresse meg a motorkapcsok melyik oldalát. A motor teszteléséhez használjon akkumulátort vagy 5 V -os töltőt.

A kormánymotoron, amikor a kerekek jobbra fordulnak, jelölje meg az akkumulátor pozitív vezetékét "3" és a negatív vezetéket "6".

A hajtómotoron, amikor a kerekek előre forognak, jelölje meg az akkumulátor pozitív vezetékét "14" és a negatív vezetéket "11".

2. lépés: A kód az Arduino IDE -ben

Az Arduino IDE kódja
Az Arduino IDE kódja
Az Arduino IDE kódja
Az Arduino IDE kódja

Lehet, hogy a legjobb, ha először kenyérsütő táblán prototipálja az autó elektronikáját.

OK, ez az egyik trükkös rész. A "Kék pirula" nem programozható az USB -porton keresztül. Nem találtam egyszerűbb programozási magyarázatot a "Kék pirulára", mint Joop Brokking Youtube videója. Megmagyaráz mindent, amit tudnia kell, beleértve Roger Clarke STMduino könyvtárát. Van egy módja annak, hogy telepítsen egy rendszerbetöltőt, így használhatja az USB -t a "Blue Pill" programozásához, de a rendszerbetöltőt a soros buszon keresztül kell programoznia.

Sajnos a soros buszt a Bluetooth adapter is használja. A programot először a soros buszon, a PA9 és a PA10 csatlakozón keresztül kell telepíteni, egy FTDI -n keresztül, majd ellenőrizheti az összes beállítást a Bluetooth adapterrel.

Használjon kenyérsütő deszkát, és helyezzen el mindent a kenyértáblán, ugyanúgy, mint a fenti vázlatot. Válassza le a Bluetooth adapter soros TX és RX vonalait az STM32F103C PA9 és PA10 érintkezőiről. Csatlakoztassa az FTDI -t és a programot. Győződjön meg arról, hogy a soros busz vonalai kereszteződnek, RX - Tx és Tx - RX. Az egyik kap, a másik ad.

A program betöltése után megnyithatja a soros konzolt és elküldheti

hogy lámpák működjenek -e. Ha a lámpák működnek, küldhet

ismét kikapcsolni őket.

Tegye autóját egy blokkra, hogy megemelje a gumikat, és küldje el

A kerekeknek előre kell menniük. Ha nem, fordítsa meg a vezetékeket. Ne feledje, hogyan jelöljük korábban a vezetékeket. Az L293D megfelelő csapjait illeszteni kell.

Ha meg akarja állítani, küldje el

Nézzük a kód jelentős változásait.

A kommentált részben kezdetben látnia kell az Ardumotive fájlok létrehozóját. A következő néhány megjegyzés elmagyarázza, hol változtattam egy kicsit, hogy tükrözze az STM32F103C -t.

/ * * Készítette: Vasilakis Michalis // 2014.12.12 ver.2

* Projekt: Az RC Car irányítása Bluetooth -on keresztül Android okostelefonnal * További információ a https://www.ardumotive.com webhelyen.com/jgarbe/RCCAR_STM32F103C*Ne feledje, hogy a 8 bites 0-255 értékek*16 bites 0-65535 értékeket tükrözték*//****************** **********Az STM32-en az analóg írás továbbra is 8 bites 255-nél működik,*De a PWM tartomány teljes funkcióját (0-65535) megkaphatja, ha a PIN-t PWM-ként deklarálja*ÉS pwmWrite () használata az analogWrite () helyett ****************************

A legfontosabb, hogy a csapokat nem ugyanúgy nevezik el az Arduino és az STM32F103C között. A csapokat a következő sorok segítségével deklaráljuk. Maradt egy csap, amelyet a hurokban lefelé jeleztek. A 197 -es sorban a PA5 az akkumulátor töltöttségi szintjének leolvasására szolgál.

//// L293 Csatlakozás

const int motorA1 = PB6; // az L293 const 15. motorjának pin -hez A2 = PB7; // az L293 const 10. motorjának 10. csapjához B1 = PB8; // az L293 const 7. motor 7. csapjához B2 = PB9; // az L293 2. tüskéjéhez // STM32F103C -hez csatlakoztatott LED -ek A12 -es érintkezők konst int lámpák = PA12; // Buzzer /Speaker to Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) Állapotkivezetés az STM32F103C const A11 érintkezőjén Bintt BTState = PA11;

Továbbá az analogWrite () használatával; továbbra is működik a "BluePill" -en. De jobb a PWM csapokat használni, pinMode (, PWM);

Ezután használja

pwmWrite (,);

MEGJEGYZÉS: 8 bites = 0-255, 16 bites = 0-65535

A 32-44 sorok az akkumulátoron végrehajtott változtatások. Ha az akkumulátor töltöttségi szintjének ellenőrzését kívánja használni, akkor a megvásárolt akkumulátorra vonatkozóan szavazati elválasztót kell használnia. Ez a rész nem tükröződik a Fritzing vázlatában. Rengeteg magyarázat található arra, hogyan lehet feszültségosztót létrehozni a Youtube -on. Mivel az STM32F103C egy 3,3 V -os chip, itt rögzítettem a kódot, hogy fizikailag feszültségosztót használjak. Az Arduino képes elviselni néhány nagyobb feszültséget a mellékelt ADC -n keresztül, de a "Blue Pill" nem.

/* Az akkumulátor töltöttségi szintjét a PA5 érintkezőn ellenőrzik

* Megváltoztattuk az STM32F103C következő sorát, mert az ADC nem képes * semmivel sem kezelni * 3.3v felett * Csak megjegyzést fűztem hozzá * Egy feszültségosztót, két ellenállás használatával kell kiszámítani és használni * példa: * GND --- 2K ellenállás ----------------- 1K ellenállás ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // Változtassa meg az értéket az akkumulátor maximális feszültségszintjére!

3. lépés: Tegye össze mindent

Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni
Összerakni

Általában proto-táblát használok a darabok elhelyezéséhez és a forrasztáshoz a lyukak közé, hogy mindent összekössek. Néha "holtragasztom" mindent együtt, hogy inkább Frankenstein/3D köteg forrasztást nyújtsak.

Ezt a hibrid módszert választottam, hogy a készülék tiszta és könnyű legyen- és persze OLCSÓ!

Ez a módszer lehetővé teszi a címkézést is. A deadbug forrasztás egyik legrosszabb része az, amikor alulról nézel egy IC chipet, és elfelejted, hogy melyik csap milyen.

A fenti képek kicsit érthetőek. Gondolom, a nehéz rész az, hogy megtaláljuk a vékony kartont, amely egyszerre gödröcske és merev. Használhat műanyagot is, de kissé nehezebb megjelölni. Miután a csapokat a táblához nyomom és megjelölöm a gödröcskéket, Dremel segítségével minden tűlyukat átfúrok.

Ha még nem vette volna észre, a lámpák csak tartozékdugóként vannak a táblán. Nem használom az akkumulátor jelzőjét és a hangjelzőt sem. Ez azért van, mert a projektem más célt szolgál. Magától értetődő lesz, ha meglátja a kész eredményt az autó karosszériájával. … De ez egy másik ötletet hoz: Sok fel nem használt csap van ebben a projektben. Talán csomagtartónyitó, autóajtó-nyitó, tűzrepedő-detonátor,…… vagy akár egy mini- Galvani-Edison világító éterzavar-generátor!

Miután az összes forrasztás befejeződött, tesztelje, mielőtt forrón ragasztja a kötéseket a vezetékek feszültségmentesítésére.

Ugyanazt az Android -alkalmazást használtam, mint az Ardumotive, megtalálható a https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller webhelyen

Miután tesztelte az autó funkcióit, itt az ideje elhelyezni az akkumulátort és a kapcsolót. Lépjen a következő lépésre.

4. lépés: Akkumulátor és kapcsoló

Oké, itt nem tudod pontosan követni a tervemet.

Valahogy meg kell találnia egy jó helyet, ahol az akkumulátort az autóra helyezheti, vagy az akkumulátortöltő hardverkulcsról történő feltöltésének módjával, vagy az akkumulátor dugójának közvetlen feltöltésével. A bevezető videóban csak az elemet és a mikrokontrollert ragasztottam a kerethez, és lefuttattam. Amikor abba akartam hagyni, csak kihúztam az akkumulátort. Ennek a beállításnak a problémája az USB -kábel és/vagy a power bank dugóinak romlandósága. Jobb, ha van kapcsoló.

Meg kell találnia egy jó helyet is a kapcsolóhoz, ahová az autó karosszériája továbbra is hozzáférést biztosít. Egy sima nyomógombos kapcsolót használtam (nem pillanatnyi kapcsolót), és a keret aljára szereltem, ahol az eredeti elemtartó található.

Az USB -kábelt felére kell vágni, és a kapcsolót az akkumulátor és az STM32F103C USB -port közé kell helyezni. Igen, az STM32F103C tápellátását az USB -porton keresztül is elvégezheti. Egyszerűen nem lehet programozni az USB porton keresztül. Ismét Dremelt használtam, hogy lyukakat fúrjak a kapcsoló forrasztócsapjaihoz. Forrasztás után forró ragasztót használtam, ismét a kapcsolatok megerősítésére.

5. lépés: Tegye autóját a keretre

Rendben, azt mondtam, hogy újraterveztem az autó eredeti Arduino verzióját. A tényleges végtermék tehát a "Diótörő" balett színpadi kelléke volt, amelyet a helyi balett társaságunk adott elő. A nyitó jelenetben egér futott át a színpadon Drosselmeyer véletlen varázslatával. IKEA patkányt használtam, és a keretre, az Arduino -ra és egy sokkal nagyobb akkumulátorra szereltem fel. A támasz nehéz volt, és nem tölthető. Ez sokkal jobb!

Érezze jól magát autójával. Ne feledje, hogy az STM32F103C -n sokkal több csap használható. Talán a "Toy Story 4" -hez hasonló skunk.

Ajánlott: