Turinys:

„Bluetooth RC“automobilis su STM32F103C ir L293D - nebrangu: 5 žingsniai
„Bluetooth RC“automobilis su STM32F103C ir L293D - nebrangu: 5 žingsniai

Video: „Bluetooth RC“automobilis su STM32F103C ir L293D - nebrangu: 5 žingsniai

Video: „Bluetooth RC“automobilis su STM32F103C ir L293D - nebrangu: 5 žingsniai
Video: I cant belive it worked #car #rc 2024, Birželis
Anonim
Image
Image
Sunaikink baterijų valgytoją!
Sunaikink baterijų valgytoją!

Aš sukūriau „Bluetooth“„Arduino“automobilį, panašų į čia pavaizduotą „Ardumotive_com“. Mano problema buvo baterijos, jų svoris ir išlaidos. Nuo to laiko pigūs mobiliųjų telefonų elektros bankai tapo labai prieinami. Viskas, ką man reikėjo padaryti, tai sumažinti svorį. Kadangi esu pigi, perėjau prie mikrovaldiklio STM32F103C. „STM32F103C“mikrovaldiklį galima nusipirkti už mažiau nei 2 USD ir jis yra daug mažesnis nei „Arduino“. Aš šiek tiek pakeičiau kodavimą, kad jis veiktų ir su STM32F103C.

Prekės

  • Pigus automobilis, valdantis baterijas. Taip, kaip ir tą, kurią naudoja „Ardumotive_com“. Išjungsite sistemą ir vietoj to naudosite telefono maitinimo banką. Jei turite išteklių savo važiuoklės statybai, turėkite tai. Nuėjau į žaislų parduotuvę gatvėje ir nusipirkau pigų automobilį už mažiau nei 10 USD. Automobilis valgo baterijas, o nuotolinio valdymo pultas maitina baterijas-puikiai tinka tobulėti.
  • Telefono energijos bankas- dabar jie yra labai pigūs. Nuklyskite nuo maitinimo bankų, kurių šone yra maitinimo mygtukas. Negalėsite sekti savo automobilio ir laikyti mygtuko. Tai kvaila.
  • L293D mikroschema-tai dvigubas H tiltas, valdantis elektros variklius.
  • „HC-06“„Bluetooth“modulis
  • Jungiklis- Aš naudoju paprastą įjungimo/išjungimo jungiklį.
  • Tam tikra viela -telefono laidas būtų tinkamas, tačiau šiek tiek didesnis 20 -ies skersmens laidas būtų geresnis.
  • „Proto“plokštė arba plastiko ar kartono gabalas „Blue Pill“ir „L293D“tvirtinimui. Aš esu pigus, todėl sugalvojau šiek tiek kitokią sistemą su plonu gofruotu kartonu- kaip iš lemputės dėžutės.
  • Du pigūs USB įkrovimo kabeliai-juos galima įsigyti iš dolerio medžio. Nenaudokite gražaus programavimo kabelio. Vienas bus išjungtas įjungimo/išjungimo jungikliui, o kitas įkraus akumuliatorių.

Neprivaloma

  • 4 šviesos diodai -jei norite priekinių ir galinių žibintų.
  • 4 220 omų rezistoriai- 3,3 V sistemos šviesos diodams.
  • Pjezo arba mažas garsiakalbis ragui.

Įrankiai

  • Lituoklis ir lydmetalis
  • Karštas klijų pistoletas- mano dukra yra karštų klijų pistoleto nindzė!
  • Vielos nuėmikliai ir atraižos
  • PASTABA: jei naudojate mano naudojamą kartono techniką, o ne proto plokštę, jums reikės „Dremel“arba mažo grąžto

1 žingsnis: sunaikinkite baterijų valgytoją

Sunaikink baterijų valgytoją!
Sunaikink baterijų valgytoją!

Atėjo laikas smagiai sunaikinti akumuliatoriaus valgytoją! Taip, GAT TAI! Didžiuokitės, kad darote viską, kad pasaulis taptų ekologiškesnis- gerai, tai ruožas, bet vistiek … Eikite į rėmą.

Aukščiau yra tas pats įrenginys, kurį sukūriau „Arduino“versiją. „Arduino“versija naudojo rimtą akumuliatoriaus energiją, dėl kurios automobilis tapo sunkesnis. Taigi, paėmiau jį atgal į rėmą. Aš pridėjau keletą sparnų iš plastikinio butelio ir karštų klijų ir pritaikiau kūną. Daugiau apie kūną vėliau.

Kai turėsite rėmą su varikliais ir vairavimu, pamatysite, kuri variklio gnybtų pusė yra. Norėdami patikrinti variklį, naudokite akumuliatorių arba 5 voltų įkroviklį.

Ant vairo variklio, kai ratai sukasi į dešinę, pažymėkite teigiamą akumuliatoriaus laidą „3“, o neigiamą - „6“.

Varantį variklį, kai ratai sukasi į priekį, pažymėkite teigiamą akumuliatoriaus laidą „14“ir neigiamą laidą „11“.

2 žingsnis: „Arduino IDE“kodas

„Arduino IDE“kodas
„Arduino IDE“kodas
„Arduino IDE“kodas
„Arduino IDE“kodas

Gali būti geriausia, jei automobilio elektronikos prototipą pirmiausia suformuosite ant duonos lentos.

Gerai, tai yra viena iš sudėtingų dalių. „Mėlynosios tabletės“negalima užprogramuoti per USB prievadą. Neradau lengvesnio „Mėlynosios tabletės“programavimo paaiškinimo nei Joopo Brokkingo „Youtube“vaizdo įrašas. Jame paaiškinta viskas, ką reikia žinoti, įskaitant Rogerio Clarke'o „STMduino“biblioteką. Yra būdas įdiegti įkrovos tvarkyklę, kad GALėtumėte naudoti USB jungtį „Mėlynosios tabletės“programavimui, tačiau vis tiek turite užprogramuoti įkrovos tvarkyklę per nuosekliąją magistralę.

Deja, serijinę magistralę naudoja ir „Bluetooth“adapteris. Programa turi būti įdiegta per serijinę magistralę, PA9 ir PA10 kaiščius, pirmiausia per FTDI, tada galite patikrinti visus savo nustatymus naudodami „Bluetooth“adapterį.

Naudokite duonos lentą ir viską išdėstykite ant lentos taip, kaip viršuje esantis eskizas. Atjunkite „Bluetooth“adapterio serijinio TX ir RX linijas prie STM32F103C PA9 ir PA10 kaiščių. Prijunkite savo FTDI ir programą. Įsitikinkite, kad nuosekliosios magistralės linijos kerta RX - Tx ir Tx - RX. Vienas gauna, o kitas duoda.

Kai programa įkeliama, galite atidaryti serijos konsolę ir siųsti

pamatyti, ar lemputės veikia. Jei lemputės veikia, galite siųsti

vėl juos išjungti.

Padėkite automobilį ant kaladėlės, kad pakeltumėte padangas, ir išsiųskite

Ratai turėtų eiti į priekį. Jei ne, pakeiskite laidus. Prisiminkite, kaip anksčiau pažymėjome laidus. Turi būti suderinti atitinkami L293D kaiščiai.

Norėdami sustoti, atsiųskite

Pažvelkime į reikšmingus kodo pakeitimus.

Komentuojamo skyriaus pradžioje turėtumėte pamatyti failų kūrėją iš „Ardumotive“. Kiti keli komentarai paaiškina, kur aš šiek tiek pasikeičiau, kad atspindėčiau STM32F103C.

/ * * Sukūrė Vasilakis Michalis // 2014-12-12 ver.2

* Projektas: valdykite „RC Car“per „Bluetooth“su „Android“išmaniuoju telefonu * Daugiau informacijos rasite https://www.ardumotive.com * * Pakeitė šį kodą, kad jis atitiktų STM32F103, pateikė Jim Garbe, [email protected] * Daugiau informacijos https:// github.com/jgarbe/RCCAR_STM32F103C*Atminkite, kad 8 bitų vertės 0–255 buvo pakeistos į*, atspindinčias 16 bitų reikšmes 0–65535*//****************** **********STM32, analoginis rašymas vis dar veikia 8 bitų 255,*Bet jūs galite gauti visas funkcijas PWM diapazone, 0-65535, paskelbdami PIN kaip PWM*IR naudojant pwmWrite () vietoj analogWrite () ****************************

Visų pirma, kaiščiai nėra pavadinti vienodai tarp „Arduino“ir STM32F103C. Smeigtukus deklaruojame naudodami kitą eilučių rinkinį. Liko vienas kaištis, nurodytas ciklo apačioje. 197 eilutėje PA5 naudojamas akumuliatoriaus įkrovos lygiui nuskaityti.

//// L293 Ryšys

const int variklisA1 = PB6; // prie L293 const 15 variklio kaiščio A2 = PB7; // į L293 const 10 variklio kaištįB1 = PB8; // į L293 const 7 variklį 7 variklisB2 = PB9; // į L293 2 kaištį // Prie STM32F103C prijungti šviesos diodai A12 kaištis pastovios šviesos = PA12; // Garsinis signalas /garsiakalbis į Arduino UNO kaištį A8 const int buzzer = PA8; // „Bluetooth“(HC-06 JY-MCU) STM32F103C const int BTState = PA11 būsenos kaištis ant A11 kaiščio;

Be to, naudojant analogWrite (); vis tiek veiks „BluePill“. Bet geriau deklaruoti PWM kaiščius, pinMode (, PWM);

Tada naudokite

pwmWrite (,);

PASTABA: 8 bitų = 0-255, 16 bitų = 0-65535

32-44 eilutės yra akumuliatoriaus pakeitimai. Jei ketinate tikrinti akumuliatoriaus įkrovos lygį, turite naudoti turimos baterijos balsavimo daliklį. Ši dalis neatspindi Fritzingo eskizo. „Youtube“yra daug paaiškinimų, kaip sukurti įtampos daliklį. Kadangi STM32F103C yra 3,3 V lustas, aš čia pataisiau kodą, kad fiziškai naudočiau įtampos daliklį. „Arduino“gali toleruoti kai kurias aukštesnes įtampas per pateiktus ADC, tačiau „mėlynos tabletės“negali.

/* Akumuliatoriaus įkrovos lygis bus patikrintas kaištyje PA5

* Pakeista kita STM32F103C eilutė, nes ADC negali tvarkyti * nieko daugiau nei 3,3 V * pavyzdys: * GND --- 2K rezistorius ----------------- 1K rezistorius ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3; // Pakeiskite vertę į maksimalų akumuliatoriaus įtampos lygį!

3 žingsnis: sudėkite viską kartu

Sudėkite viską kartu
Sudėkite viską kartu
Sudėkite viską kartu
Sudėkite viską kartu
Sudėkite viską kartu
Sudėkite viską kartu
Sudėkite viską kartu
Sudėkite viską kartu

Aš paprastai naudoju protinę plokštę, kad sudėčiau gabalus ir lydmetalį tarp skylių, kad viską sujungčiau. Kartais viską „sulieju“, kad labiau atrodytų Frankenšteinas/3D lydmetalis.

Aš pasirinkau šį hibridinį metodą, kad prietaisas būtų švarus ir lengvas- ir, žinoma, PIGIAI!

Šis metodas taip pat leidžia ženklinti. Viena iš blogiausių „deadbug“litavimo dalių yra tada, kai žiūrite į IC mikroschemą iš apačios ir pamirštate, kuris kaištis yra koks.

Aukščiau pateiktos nuotraukos yra savaime suprantamos. Spėju, kad sunkiausia yra rasti pakankamai ploną kartoną, kad jis būtų griovelis ir tuo pačiu metu būtų standus. Taip pat galite naudoti plastiką, tačiau žymėti jį yra šiek tiek sunkiau. Kai prispaudžiu kaiščius prie lentos ir pažymiu duobutes, naudoju „Dremel“, kad išgręžčiau kiekvieną kaiščio skylę.

Jei dar nepastebėjote, žibintus turiu tik kaip priedą prie plokštės. Aš nenaudoju akumuliatoriaus indikatoriaus ir pyptelėjimo. Taip yra todėl, kad mano projektas skirtas kitam tikslui. Tai bus savaime suprantama, kai pamatysite galutinį rezultatą su automobilio kėbulu. … bet tai atneša dar vieną idėją: šiame projekte yra daug nepanaudotų kaiščių. Galbūt bagažinės atidarytuvas, automobilio durų atidarytuvas, ugnies krekingo detonatorius,…… ar net mini „Galvani-Edison“šviečiantis eterio trikdžių generatorius!

Kai visas litavimas bus baigtas, prieš karštą klijavimą išbandykite laidus, kad sumažintumėte įtampą.

Naudojau tą pačią „Android“programą kaip „Ardumotive“. Ją galima rasti adresu

Išbandę automobilio funkcijas, laikas įdėti akumuliatorių ir perjungti. Pereikite prie kito žingsnio.

4 žingsnis: akumuliatorius ir jungiklis

Gerai, čia jūs negalite tiksliai sekti mano plano.

Kažkaip turėsite rasti gerą vietą įdėti akumuliatorių į automobilį, vieną būdą įkrauti akumuliatoriaus banką iš rakto arba tiesiog įkrauti akumuliatoriaus kištuką. Įvadiniame vaizdo įraše aš tiesiog priklijavau bateriją ir mikrovaldiklį prie rėmo ir paleidau. Kai norėjau sustoti, tiesiog atjungiau akumuliatorių. Šios sąrankos problema yra USB kabelio ir (arba) maitinimo banko kištukų gedimas. Geriau turėti jungiklį.

Taip pat turėsite rasti gerą vietą jungikliui, kur automobilio korpusas vis tiek leis patekti. Aš naudojau paprastą mygtuko jungiklį (ne momentinį jungiklį) ir sumontavau jį rėmo apačioje, kur yra originalus akumuliatoriaus skyrius.

Turėsite perpjauti USB kabelį per pusę ir įjungti jungiklį tarp akumuliatoriaus ir STM32F103C USB prievado. Taip, STM32F103C galite maitinti naudodami USB prievadą. Jūs tiesiog negalite jo programuoti per USB prievadą. Aš vėl panaudojau „Dremel“, kad išgręžčiau kai kurias skyles jungiklių litavimo kaiščiams. Po litavimo aš vėl naudoju karštus klijus, kad sustiprinčiau jungtis.

5 žingsnis: padėkite savo automobilio kėbulą ant rėmo

Gerai, aš pasakiau, kad iš naujo sukūriau originalią šio automobilio „Arduino“versiją. Taigi tikrasis galutinis produktas buvo baleto „Spragtukas“scenos atrama, kurią atliko mūsų vietos baleto kompanija. Atidarymo scenoje pelė perbėgo sceną su atsitiktine Drosselmeyer magija. Aš naudojau IKEA žiurkę ir pritvirtinau ją prie rėmo, „Arduino“ir daug didesnės baterijos. Rekvizitas buvo sunkus ir nebuvo įkraunamas. Tai daug geriau!

Linksminkitės su savo automobiliu. Atminkite, kad STM32F103C yra daug daugiau kaiščių, kuriuos galima naudoti. Galbūt skunkas, panašus į „Žaislų istorijos 4“.

Rekomenduojamas: