Talaan ng mga Nilalaman:

Bluetooth RC Car With STM32F103C at L293D - Mura: 5 Hakbang
Bluetooth RC Car With STM32F103C at L293D - Mura: 5 Hakbang

Video: Bluetooth RC Car With STM32F103C at L293D - Mura: 5 Hakbang

Video: Bluetooth RC Car With STM32F103C at L293D - Mura: 5 Hakbang
Video: Bluetooth controlled Arduino RC Car | Control using your Mobile Phone | Ut Go 2024, Nobyembre
Anonim
Image
Image
Wasakin ang Eater ng Baterya!
Wasakin ang Eater ng Baterya!

Gumawa ako ng isang Bluetooth Arduino Car tulad ng itinatanghal dito, ng Ardumotive_com. Ang problema na mayroon ako ay ang mga baterya at ang bigat pati na rin ang kanilang gastos. Simula noon, ang mga murang power bank para sa mga cell phone ay naging napaka-abot-kayang. Ang kailangan ko lang gawin ay bawasan ang timbang. Dahil sa mura ako, lumipat ako sa STM32F103C Microcontroller. Ang STM32F103C Microcontroller ay maaaring mabili nang mas mababa sa $ 2, at mas maliit kaysa sa isang Arduino. Binago ko ang kaunting pag-coding upang gumana sa STM32F103C din.

Mga gamit

  • Isang murang remote control car na kumakain ng mga baterya. Oo, tulad din ng ginagamit ng Ardumotive_com. Papalitan mo ang system at gagamit ka na lang ng isang power bank sa telepono. Kung mayroon kang mga mapagkukunan upang bumuo ng iyong sariling chassis, gawin ito. Pumunta ako sa toy store sa kalye at bumili ng murang kotse sa ilalim ng $ 10. Ang kotse ay kumakain ng mga baterya, at ang remote na kumakain ng mga baterya - perpekto para sa pagpapabuti.
  • Isang phonepower bank-- Sila ay sobrang mura, ngayon. Nalayo mula sa mga power bank na mayroong power button sa gilid. Hindi mo masusundan ang iyong sasakyan at hawakan ang pindutan. Nakakaloko yun.
  • Isang L293D Chip-- Ito ang dalawahang H-Bridge na makokontrol ang mga de-kuryenteng motor.
  • Isang HC-06 Bluetooth Module
  • Isang Switch-- Gumamit ako ng isang simpleng on / off switch.
  • Ang ilang mga Wire - wire ng telepono ay magiging maayos, ngunit ang isang maliit na mas mataas na maiiwan tayo na 20 gauge ay magiging mas mahusay.
  • Isang Proto Board o isang piraso ng plastik o karton upang mai-mount ang iyong Blue Pill at L293D. Mura ako kaya nakagawa ako ng kaunting magkaibang system na may manipis na corrugated na karton - tulad ng mula sa isang light bulb box.
  • Dalawang Murang USB singilin na mga kable - Maaari itong mabili mula sa isang Dollar Tree. Huwag gamitin ang iyong magandang programming cable. Ang isa ay puputulin para sa on / off switch, at ang iba pa ay sisingilin ng baterya.

Opsyonal

  • 4 LEDs - kung nais mo ang mga headlight at taillight.
  • 4 220 Ohm Resistors-- para sa mga LED s sa isang 3.3v system.
  • Isang piezo o maliit na speaker para sa isang sungay.

Mga kasangkapan

  • Panghinang na Bakal at Maghinang
  • Hot Glue Gun-- Ang aking anak na babae ay isang Hot Glue Gun Ninja!
  • Mga striper ng wire at snip
  • TANDAAN: kung gagamitin mo ang diskarteng karton na ginagamit ko kaysa sa isang board ng proto, kakailanganin mo ng isang Dremel o maliit na drill

Hakbang 1: Wasakin ang Eater ng Baterya

Wasakin ang Eater ng Baterya!
Wasakin ang Eater ng Baterya!

Panahon na upang magsaya sa pagwawasak ng kumakain ng baterya! Oo, GUTI ANG IYON! Ipagmalaki na ginagawa mo ang iyong bahagi sa pag-greener sa mundo-- OK, iyan ay isang kahabaan, ngunit gayon pa man … Pumunta sa frame.

Sa itaas, ay ang parehong yunit na ginawa ko ang bersyon ng Arduino. Gumamit ang bersyon ng Arduino ng seryosong lakas ng baterya na nagpabigat ng sasakyan. Kaya, binawi ko ito pabalik sa frame. Nagdagdag ako ng ilang mga fender mula sa isang plastik na bote at mainit na pandikit, at na-customize ang katawan. Higit pa sa katawan mamaya.

Sa sandaling mayroon ka ng frame na may mga motor at steering hubad, hanapin kung aling bahagi ng mga terminal ng motor ang alin. Gumamit ng baterya o 5v charger upang subukan ang motor.

Sa steering motor, kapag ang mga gulong ay lumiko pakanan, lagyan ng label ang positibong wire ng baterya na "3" at ang negatibong wire, "6".

Sa motor na nagmamaneho, kapag paikutin ang mga gulong, lagyan ng label ang positibong wire ng baterya na "14" at ang negatibong wire na "11".

Hakbang 2: Ang Code sa Arduino IDE

Ang Code sa Arduino IDE
Ang Code sa Arduino IDE
Ang Code sa Arduino IDE
Ang Code sa Arduino IDE

Maaaring maging pinakamahusay kung prototype mo muna ang mga electronics ng iyong sasakyan sa isang breadboard.

OK, ito ay isa sa mga nakakalito na bahagi. Ang "Blue Pill" ay hindi mai-program sa pamamagitan ng USB port. Hindi ko natagpuan ang isang mas madaling paliwanag sa programa ng "Blue Pill" kaysa sa Youtube Video ni Joop Brokking. Ipinapaliwanag nito ang lahat ng kailangan mong malaman kasama ang aklatan ng STMduino ni Roger Clarke. Mayroong isang paraan upang mai-install ang isang bootloader kaya MAAARI mong gamitin ang USB upang mai-program ang "Blue Pill," ngunit kailangan mo ring i-program ang bootloader sa pamamagitan ng Serial Bus pa rin.

Sa kasamaang palad, ang Serial Bus ay ginagamit din ng Bluetooth adapter. Ang programa ay dapat na mai-install sa pamamagitan ng mga Serial Bus, PA9 at PA10 na mga pin, sa pamamagitan ng isang FTDI muna, pagkatapos ay maaari mong suriin ang lahat ng iyong mga setting gamit ang Bluetooth adapter.

Gumamit ng isang breadboard at i-layout ang lahat sa breadboard tulad ng fritzing sketch sa itaas. Idiskonekta ang mga linya ng Serial TX at RX ng Bluetooth adapter sa mga PA9 at PA10 na pin ng STM32F103C. Mag-hook sa iyong FTDI at programa. Siguraduhin na ang mga linya ng Serial Bus ay tumawid, RX sa Tx at Tx sa RX. Ang isa ay tumatanggap at ang isa ay nagbibigay.

Kapag na-load na ang programa, maaari mong buksan ang serial console at ipadala

upang makita kung gumagana ang mga ilaw. Kung gumagana ang mga ilaw, maaari kang magpadala

muli upang patayin ang mga ito.

Ilagay ang iyong sasakyan sa isang bloke upang maiangat ang mga gulong at ipadala

Ang mga gulong ay dapat na sumulong. Kung hindi, baligtarin ang mga wire. Tandaan kung paano namin nilagyan ng label ang mga wire nang mas maaga. Ang kaukulang mga pin ng L293D ay dapat na maitugma.

Upang tumigil, ipadala

Tingnan natin ang mga makabuluhang pagbabago sa code.

Sa seksyong may puna, simula, dapat mong makita ang nagmula ng mga file, mula sa Ardumotive. Ang susunod na ilang mga puna ay nagpapaliwanag kung saan nagbago ako nang kaunti upang maipakita ang STM32F103C.

/ * * Nilikha ni Vasilakis Michalis // 12-12-2014 ver.2

* Project: Kontrolin ang RC Car sa pamamagitan ng Bluetooth gamit ang Android Smartphone * Higit pang impormasyon sa https://www.ardumotive.com * * Pinalitan ang code na ito upang magkasya sa STM32F103 ni Jim Garbe, [email protected] * Higit pang impormasyon sa https:// github.com / jgarbe / RCCAR_STM32F103C * Tandaan na ang mga halagang 8-bit na 0-255 ay binago upang * sumasalamin ng mga halagang 16-bit 0-65535 * / / ***************** ********* * Sa STM32, gumagana pa rin ang pagsusulat ng analog sa 8-bit 255, * Ngunit makukuha mo ang buong functionm ng saklaw na PWM, 0-65535, sa pamamagitan ng pagdedeklara ng Pin bilang PWM * AT gamit ang pwmWrite () sa halip na analogWrite () **************************** /

Karamihan sa mga kapansin-pansin, ang mga pin ay hindi pinangalanan sa parehong paraan sa pagitan ng Arduino at ng STM32F103C. Idineklara namin ang mga pin gamit ang susunod na hanay ng mga linya. Mayroong isang natitirang pin na ipinahayag na pababa sa loop. Sa linya 197, ginagamit ang PA5 upang mabasa ang antas ng baterya.

// // L293 Koneksyon

Const int motorA1 = PB6; // sa Pin 15 ng L293 const int motorA2 = PB7; // sa Pin 10 ng L293 const int motorB1 = PB8; // to Pin 7 ng L293 const int motorB2 = PB9; // sa Pin 2 ng L293 // Leds na konektado sa STM32F103C Pin A12 const int lights = PA12; // Buzzer / Speaker to Arduino UNO Pin A8 const int buzzer = PA8; // Bluetooth (HC-06 JY-MCU) Ang pin ng estado sa pin A11 ng STM32F103C const int BTState = PA11;

Gayundin, gamit ang analogWrite (); gagana pa rin ang "BluePill". Ngunit mas mahusay na ideklara ang mga PWM na pin gamit ang, pinMode (, PWM);

Pagkatapos gamitin

pwmSulat (,);

TANDAAN: 8-bit = 0-255, 16-bit = 0-65535

Ang mga linya na 32-44 ay mga pagbabagong nagawa sa baterya. Kung gagamitin mo ang pagsuri sa antas ng baterya, dapat kang gumamit ng isang vider ng divider para sa baterya na mayroon ka. Ang bahaging ito ay hindi nakalarawan sa sketch ng Fritzing. Mayroong maraming mga paliwanag sa kung paano lumikha ng isang boltahe divider sa Youtube. Dahil ang STM32F103C ay isang 3.3v chip, naayos ko ang code dito upang pisikal na gumamit ng isang voltage divider. Maaaring tiisin ng Arduino ang ilang mas mataas na boltahe sa pamamagitan ng mga ADC na ibinigay ngunit ang "Blue Pill" ay hindi.

/ * Ang antas ng baterya ay susuriin sa Pin PA5

* Binago ang susunod na linya para sa STM32F103C dahil hindi makaya ng ADC ang * anumang higit sa 3.3v * Inilahad ko lang ito * Ang isang divider ng boltahe, gamit ang dalawang resistor ay dapat kalkulahin at gamitin * upang masukat ang input ng ADC nang mas malayo sa code * halimbawa: * GND --- 2K resistor ----------------- 1K resistor ------ 5v * | * | * 3.3v * / // const float maxBattery = 3.3; // Baguhin ang halaga sa iyong antas ng pinakamataas na boltahe ng baterya!

Hakbang 3: Pagsamahin Lahat

Pagsama-samahin Lahat
Pagsama-samahin Lahat
Pagsama-samahin Lahat
Pagsama-samahin Lahat
Pagsama-samahin Lahat
Pagsama-samahin Lahat
Pagsama-samahin Lahat
Pagsama-samahin Lahat

Karaniwan akong gumagamit ng isang proto-board upang ilagay ang mga piraso at panghinang sa pagitan ng mga butas upang ikonekta ang lahat. Minsan "deadbug solder" ko ang lahat nang sama-sama para sa higit pa sa isang hitsura ng Frankenstein / 3D wadlang solder.

Pinili ko ang hybrid na pamamaraan na ito upang malinis at magaan ang aparato-- at syempre, MURA!

Pinapayagan din ng pamamaraang ito ang pag-label din. Ang isa sa mga pinakapangit na bahagi ng deadbug paghihinang ay kapag tiningnan mo ang isang IC chip mula sa ilalim at nakalimutan kung aling pin ang kung ano.

Ang mga larawan sa itaas ay medyo nagpapaliwanag. Sa palagay ko ang mahirap na bahagi ay ang paghahanap ng manipis na sapat na karton upang madilim at maging matibay sa parehong oras. Maaari mo ring gamitin ang plastik ngunit ang pagmamarka nito ay medyo mahirap. Kapag pinindot ko ang mga pin sa board at minarkahan ang mga dimples, gumagamit ako ng isang Dremel upang mag-drill ang bawat butas ng pin.

Kung hindi mo pa napansin, mayroon lamang akong mga ilaw bilang isang accessory plug sa board. Hindi ako gumagamit ng tagapagpahiwatig ng baterya, o ng beeper. Dahil ang aking proyekto ay para sa ibang layunin. Ito ay magiging nagpapaliwanag sa sarili kapag nakita mo ang natapos na resulta sa katawan ng kotse. … ngunit nagdadala ito ng isa pang ideya, Maraming mga hindi nagamit na mga pin sa proyektong ito. Siguro isang trunk opener, car door opener, fire-cracker detonator,…… o kahit isang mini- Galvani-Edison Luminiferous Aether Disturbance Generator!

Kapag nakumpleto na ang lahat ng paghihinang, subukan bago mo mainit na idikit ang mga kasukasuan para sa kaluwagan sa stress sa mga wire.

Ginamit ko ang parehong Android App tulad ng Ardumotive, Maaari itong matagpuan sa https://play.google.com/store/apps/details?id=braulio.calle.blu BluetoothRCcontroller

Kapag nasubukan mo na ang mga pagpapaandar ng kotse, oras na upang ilagay ang baterya at lumipat. Pumunta sa susunod na hakbang.

Hakbang 4: Baterya at Lumipat

OK, dito hindi mo masusunod nang eksakto ang aking plano.

Sa paanuman, kakailanganin mong makahanap ng isang magandang lugar upang ilagay ang iyong baterya sa kotse sa alinman, isang paraan upang singilin ang bangko ng baterya mula sa isang dongle, o isang paraan upang direktang singilin ang plug ng baterya. Sa panimulang video, nai-tap ko lang ang baterya at microcontroller sa frame at pinatakbo ito. Nang gusto kong tumigil, inalis ko na lang ang baterya. Ang problema sa pag-set up na ito ay ang pagkasira ng mga plugs sa iyong USB cable at / o iyong power bank. Mas mahusay na magkaroon ng isang switch.

Mahahanap mo rin ang isang magandang lugar para sa switch kung saan papayagan pa rin ng katawan ng kotse na mag-access. Gumamit ako ng isang simpleng push button switch (hindi isang pansamantalang switch), at na-mount ito sa ilalim ng frame kung saan matatagpuan ang orihinal na kompartimento ng baterya.

Kailangan mong i-cut ang isang USB cable sa kalahati at ilagay ang switch sa pagitan ng baterya at ng STM32F103C USB port. Oo, maaari mong paganahin ang STM32F103C sa USB port. Hindi mo lamang mai-program ito sa pamamagitan ng USB port. Gumamit ulit ako ng isang Dremel upang mag-drill ng ilang mga butas para sa mga switch ng panghinang na switch. Kapag na-solder, gumamit ako ng Hot Glue, muli para sa pagpapalakas ng mga koneksyon.

Hakbang 5: Ilagay ang iyong Katawang Kotse sa Frame

OK, sinabi ko na muling nilayon ko ang orihinal na bersyon ng Arduino ng kotseng ito. Ang tunay na pangwakas na produkto, pagkatapos, ay isang yugto ng prop para sa "The Nutcracker" ballet na ginanap ng aming lokal na kumpanya ng ballet. Sa pambungad na eksena, isang mouse ang tumakbo sa entablado kasama ang hindi sinasadyang mahika ni Drosselmeyer. Gumamit ako ng isang daga ng IKEA at nilagyan ito sa tuktok ng frame, Arduino, at mas malaking baterya. Ang prop ay mabigat at hindi maaaring muling magkarga. Ito ay mas mahusay!

Magpakasaya sa iyong sasakyan. Tandaan na maraming iba pang mga pin sa STM32F103C na maaaring magamit. Siguro isang skunk na katulad ng nasa "Toy Story 4."

Inirerekumendang: