Talaan ng mga Nilalaman:

Robot Car Na May Bluetooth, Camera at MIT App Inventor2: 12 Mga Hakbang (na may Mga Larawan)
Robot Car Na May Bluetooth, Camera at MIT App Inventor2: 12 Mga Hakbang (na may Mga Larawan)

Video: Robot Car Na May Bluetooth, Camera at MIT App Inventor2: 12 Mga Hakbang (na may Mga Larawan)

Video: Robot Car Na May Bluetooth, Camera at MIT App Inventor2: 12 Mga Hakbang (na may Mga Larawan)
Video: Leap Motion SDK 2024, Nobyembre
Anonim
Image
Image
Mga Bahagi at Software
Mga Bahagi at Software

Nais mo bang bumuo ng iyong sariling robot car? Sa gayon … ito ang iyong pagkakataon !!

Sa Instructable na ito, lalakad kita sa kung paano gumawa ng isang Robot Car na kinokontrol sa pamamagitan ng Bluetooth at MIT App Inventor2. Magkaroon ng kamalayan na ako ay isang newbie at na ito ang aking unang instactable kaya't mangyaring maging banayad sa iyong mga komento.

Maraming mga itinuturo doon, ngunit sa isang ito ay sinubukan kong pagsamahin ang maraming mga tampok tulad ng: streaming ng camera, pag-iwas sa balakid, sensor ng saklaw ng ultrasonic, scanner ng Larson (na may charlieplexing) at pagsubaybay sa baterya sa isang Android App !!

Kaya't magsimula tayo at makilala si Frankie (gumagamit ito ng mga ideya mula sa maraming lugar …..hence Robo Frankenstein)

Hakbang 1: Mga Bahagi at Software

Mga Bahagi at Software
Mga Bahagi at Software
Mga Bahagi at Software
Mga Bahagi at Software

Dito, sa aking bayan sa bahay, mahirap makuha ang lahat ng mga bahagi, samakatuwid nakakuha ako ng karamihan sa kanila mula sa www.aliexpress.com

Tinantya ko na ang proyekto ay maitatayo sa halagang USD 25 - 30 nang hindi isinasaalang-alang ang lumang cellphone.

  • Mga chassis ng kotse: 3 gulong, 2 motor 6V (USD 9)
  • Arduino Nano (USD 2)
  • Bluetooth HC-05 (USD 3 hanggang 4)
  • L293D motor driver upang magmaneho ng mga motor ng gulong (USD 1.50 para sa isang 5 piraso ng lote)
  • Lumang cellular na may camera at Wi-Fi
  • Ultrasonic sensor HC-SR04 para sa pagsukat sa isang kalapit na bagay (USD 1)
  • 6 LEDs para sa Larson scanner
  • ATtiny85 para sa Larson scanner (USD 1)
  • Breadboard (USD 1)
  • Mga wire
  • 100K Ohm risistor (4)
  • 1K Ohm risistor (2)
  • 2K Ohm risistor (1)
  • 270 Ohm risistor (3)
  • Buzzer

Software:

  • Arduino IDE
  • IP Webcam (para sa lumang cellular Android)
  • MIT App Inventor2: Ang App na ito ay mahusay ngunit gumagana lamang para sa operating system ng Android (walang Iphone … paumanhin!)

Hakbang 2: Proseso ng Konstruksiyon

Proseso ng Konstruksiyon
Proseso ng Konstruksiyon
Proseso ng Konstruksiyon
Proseso ng Konstruksiyon
Proseso ng Konstruksiyon
Proseso ng Konstruksiyon
Proseso ng Konstruksiyon
Proseso ng Konstruksiyon

Ang chassis ng kotse ay napakadaling magtipon; mayroon itong 2 motor 6V na nagpapagana sa likurang gulong at isang 4 na baterya pack.

Ang kotse ng Robot ay kinokontrol sa pamamagitan ng Bluetooth at Wi-Fi. Kinokontrol ng Bluetooth ang mga serial na komunikasyon sa pagitan ng Car at MIT App imbentor2 at Wi-Fi ay ginagamit upang makipag-usap sa camera (lumang cellphone) na naka-install sa harap ng kotse.

Para sa proyektong ito, gumamit ako ng dalawang hanay ng mga baterya: ang arduino ay pinalakas ng isang 9V na baterya at ang mga motor ng kotse ng 6V (apat na 1.5V na baterya ng AA).

Ang Arduino Nano ay utak ng proyektong ito na kumokontrol sa kotse, buzzer, ultrasonic range sensor HC-SR04, Bluetooth HC-05, Larson scanner (ATtiny85) at sinusubaybayan ang mga baterya. Ang 9V na baterya ay papunta sa Vin (pin 30) at ang pin ng Arduino na 27 ay nagbibigay ng 5V na kinokontrol na lakas sa breadboard. Kailangang itali ang lahat ng mga bakuran mula sa lahat ng mga IC at baterya.

Nakalakip, ginawa ng circuit diagram sa Excel (Paumanhin ….. Sa susunod na susubukan ko ang Fritzing). Nakakonekta ko ang lahat gamit ang breadboard at lalaki sa mga konektor ng lalaking kawad, ang minahan ay parang pugad ng mga daga.

Hakbang 3: L293D Motor Driver

L293D Motor Driver
L293D Motor Driver
L293D Motor Driver
L293D Motor Driver

Ang L293D ay isang quadruple high kasalukuyang kalahating H driver na dinisenyo upang magbigay ng mga daloy ng bidirectional drive na hanggang sa 600 mA sa voltages 4.5V hanggang 36V. Ginagamit ito upang himukin ang mga gulong ng kotse.

Ito ay pinalakas ng isang 6V na baterya pack (apat na 1.5V AA) para sa mga motor at gumagamit ng 5V para sa lohika na nagmula sa kinokontrol na 5V (pin 27) sa Arduino Nano. Ang mga koneksyon ay ipinapakita sa kalakip na eskematiko.

Hindi na kailangang i-install ito sa isang heat sink.

Hakbang 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

Ang HC-05 Bluetooth ay pinalakas ng 5V (arduino pin 27), ngunit mahalagang maunawaan na ang antas ng lohika ay 3.3V, ibig sabihin, mga komunikasyon (Tx at Rx) na may 3.3V. Iyon ang dahilan kung bakit kailangang mai-configure ang Rx na may maximum na 3.3V na maaaring makamit sa isang antas ng shifter converter o, tulad ng sa kasong ito, na may isang divider ng boltahe sa pamamagitan ng paggamit ng isang 1K at 2K resistors tulad ng nakikita sa circuit.

Hakbang 5: Monitor ng Baterya

Upang masubaybayan ang mga antas ng baterya ay nagtakda ako ng mga divider ng boltahe upang makapagdala ng mga antas ng boltahe sa ibaba 5V (max range ng Arduino). Binabawasan ng divider ng boltahe ang boltahe na sinusukat sa loob ng saklaw ng mga input ng analog na Arduino.

Ginagamit ang mga analog input na A4 at A6 at ginagamit ang mataas na resistors (100K ohms) upang hindi maubos ang mga baterya sa proseso ng pagsukat. Kailangan nating ikompromiso, kung ang mga resistor ay masyadong mababa (10K ohm), mas kaunting epekto sa paglo-load, ang pagbasa ng boltahe ay mas tumpak, ngunit mas kasalukuyang pagguhit; kung ang mga ito ay masyadong mataas (1M ohms), mas maraming epekto sa paglo-load, ang pagbasa ng boltahe ay hindi gaanong tumpak, ngunit mas mababa ang kasalukuyang pagguhit.

Ang pagsubaybay sa baterya ay ginagawa tuwing 10 segundo at direktang ipinapakita sa iyong cellphone na pang-kontrol.

Sigurado ako na maraming silid para sa pagpapabuti sa bahaging ito dahil nagbabasa ako mula sa dalawang mga analog na pin at ang panloob na MUX ay nakikipagpalitan sa pagitan nila. Hindi ako nagre-average ng maraming mga sukat at marahil iyon ang dapat kong gawin.

Hayaan akong ipaliwanag ang sumusunod na pormula:

// Basahin ang boltahe mula sa analog pin A4 at gumawa ng pagkakalibrate para sa Arduino:

boltahe1 = (analogRead (A4) * 5.0 / 1024.0) * 2.0; //8.0V

Ang Arduino nano board ay naglalaman ng 8 channel, 10-bit analog sa digital converter. Ang function analogRead () ay nagbabalik ng isang numero sa pagitan ng 0 at 1023 na proporsyonal sa dami ng boltahe na inilalapat sa pin. Nagbibigay ito ng isang resolusyon sa pagitan ng mga pagbasa ng: 5 volts / 1024 na yunit o,.0049 volts (4.9 mV) bawat yunit.

Ang boltahe ng divider ay naghahati ng boltahe at, upang makakuha ng totoong boltahe, kailangang dumami ng 2 !!

MAHALAGA: Sigurado ako na may isang mas mahusay na paraan upang mapagana ang isang arduino kaysa sa paraan ng paggawa ko nito !! Bilang isang newbie natutunan ko ang mahirap na paraan. Ang Arduino Vin pin ay gumagamit ng isang linear voltage regulator na nangangahulugang, na may isang 9V na baterya, susunugin mo ang isang malaking tipak ng lakas sa mismong linear regulator! Hindi maganda. Ginawa ko ito sa ganitong paraan dahil ito ay mabilis at dahil lang sa hindi ko alam ang mas mahusay … ngunit tiyaking sa Robo Frankie bersyon 2.0 ay tiyak na gagawin ko ito nang iba.

Iniisip ko (nang malakas) na ang isang DC DC Step up Switching Power Supply at isang Li-ion rechargeable na baterya ay maaaring maging isang mas mahusay na paraan. Ang iyong mabait na mungkahi ay magiging higit sa maligayang pagdating …

Hakbang 6: HC-SR04 Ultrasonic Range Sensor

HC-SR04 Ultrasonic Range Sensor
HC-SR04 Ultrasonic Range Sensor

Ang HC-SR04 ay isang sensor na saklaw ng ultrasonic. Nagbibigay ang sensor na ito ng pagsukat mula 2cm hanggang 400cm na may saklaw na kawastuhan ng hanggang sa 3mm. Sa proyektong ito, ginagamit ito upang maiwasan ang balakid kapag umabot sa 20cm o mas mababa pa at upang masukat din ang distansya sa anumang bagay, na ipinapadala pabalik sa iyong cell phone.

Mayroong isang pindutan sa screen ng iyong cellphone na kailangang i-click upang humiling ng distansya sa isang kalapit na bagay.

Hakbang 7: Larson Scanner

Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner
Larson Scanner

Nais kong isama ang isang bagay na masaya, kaya isinama ko ang Larson scanner na kahawig ng K. I. T. T. mula kay Knight Rider.

Para sa scanner ng Larson ginamit ko ang ATtiny85 na may charlieplexing. Ang Charlieplexing ay isang pamamaraan para sa pagmamaneho ng isang multiplexed na display kung saan medyo ilang mga I / O na pin sa isang microcontroller ang ginagamit upang himukin ang isang hanay ng mga LED. Gumagamit ang pamamaraan ng tri-state na mga kakayahan sa lohika ng mga microcontrollers upang makakuha ng kahusayan sa tradisyunal na multiplexing.

Sa kasong ito gumagamit ako ng 3 mga pin mula sa ATtiny85 hanggang sa light 6 LEDs !!

Maaari mong sindihan ang "X" LED's gamit ang mga N pin. Gamitin ang sumusunod na pormula upang makuha kung gaano karaming mga LED ang maaari mong pagmamaneho:

X = N (N-1) LEDs na may N pin:

3 mga pin: 6 LEDs;

4 na pin: 12 LEDs;

5 mga pin: 20 LEDs … nakuha mo ang ideya;-)

Ang kasalukuyang daloy mula positibo (anode) patungo sa negatibo (cathode). Ang tip ng arrow ay cathode.

Mahalagang tandaan na ang pin 1 (sa Arduino IDE code) ay tumutukoy sa pisikal na pin 6 sa ATtiny85 (mangyaring mag-refer sa naka-attach na pinout).

Nakalakip mangyaring hanapin ang code na kailangang i-upload sa ATtiny85 na kumokontrol sa Larson scanner. Hindi ko inilalarawan kung paano mag-upload ng isang code sa ATtiny85 dahil maraming mga itinuturo na ginagawa iyon tulad ng isang ito.

Hakbang 8: Code

Code
Code

Inilalakip ko ang code na kailangang i-upload sa ATtiny85 na kumokontrol sa Larson scanner at ang code para sa Arduino nano's.

Tulad ng para sa Arduino nano, gumamit ako ng bahagi ng mga code mula sa iba pang mga itinuturo (dito) at gumawa ng mga pagbabago upang umangkop sa aking mga pangangailangan. Nagsama ako ng isang flowchart (nasa salita din para sa isang mas malinaw na imahe) ng code upang mas mahusay na maunawaan kung paano gumagana ang Switch - Case.

Mahalaga: Upang mai-upload ang CarBlu Bluetooth code sa Arduino nano, kailangan mong idiskonekta ang Rx at Tx mula sa HC-05 Bluetooth module!

Hakbang 9: Camera

Kamera
Kamera
Kamera
Kamera

Kailangang mai-download ang IP Webcam app mula sa play store at mai-install sa iyong lumang cellphone. Suriin ang mga kagustuhan sa video, ayusin ang resolusyon nang naaayon at sa wakas ay bumaba sa huling utos na "Start server" upang masimulan ang paghahatid. Huwag kalimutan na buksan ang Wi-Fi sa cellphone !!

Hakbang 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

Ang MIT App imbentor2 ay cloud based tool na makakatulong sa pagbuo ng mga app sa iyong web browser. Ang app na ito (para lamang sa android based cellular) ay maaaring mai-upload sa iyong cell at makontrol ang iyong car car.

Naglalakip ako ng.apk at.aia code upang makita mo ang nagawa ko at mabago ito ayon sa gusto mo. Gumamit ako ng isang code mula sa internet (MIT App) at gumawa ng aking sariling mga pagbabago. Kinokontrol ng code na ito ang paggalaw ng robot car, nakakatanggap ng signal mula sa ultrasonic sensor, binubuksan ang mga ilaw at pumiputok sa buzzer. Nakatanggap din ito ng signal mula sa mga baterya na pinapaalam sa amin ang antas ng boltahe.

Sa code na ito makakatanggap kami ng dalawang magkakaibang signal mula sa kotse: 1) distansya sa isang kalapit na bagay at 2) boltahe mula sa mga baterya ng motor at arduino.

Upang makilala ang natanggap na serial string, nagsama ako ng isang watawat sa code ni Arduino na tumutukoy sa uri ng string na naipadala. Kung ang Arduino ay nagpapadala ng distansya na sinusukat mula sa ultrasonic sensor, pagkatapos ay nagpapadala ito ng isang "A" char sa harap ng string. Tuwing nagpapadala ang Arduino ng mga antas ng Baterya, nagpapadala ito ng isang watawat na may char na "B". Sa MIT App inventors2 code na-parse ko ang serial string na nagmumula sa Arduino at sinuri ang mga watawat na ito. Tulad ng sinabi ko, ako ay isang newbie at sigurado akong may mas mahusay na mga paraan upang magawa ito at inaasahan kong may isang taong magpapaliwanag sa akin sa isang mas mahusay na paraan.

Ipadala ang Arduino_Blu Bluetooth_Car.apk sa iyong cellphone (sa pamamagitan ng email o Google Drive) at i-install ito.

Hakbang 11: Ikonekta ang Iyong Cellphone sa Iyong RC Car

Ikonekta ang Iyong Cellphone sa Iyong RC Car
Ikonekta ang Iyong Cellphone sa Iyong RC Car
Ikonekta ang Iyong Cellphone sa Iyong RC Kotse
Ikonekta ang Iyong Cellphone sa Iyong RC Kotse

Una sa lahat, i-on ang wi-fi sa lumang cellphone (ang nasa RC robot).

Sa iyong controller ng cellphone buksan ang iyong wi-fi, Bluetooth at buksan ang Arduino_Blu Bluetooth_Car.apk na na-install mo lamang. Sa dulo ng screen (mag-scroll pababa kung hindi mo ito makikita) makikita mo ang dalawang mga pindutan: Mga Device at CONNECT. I-click ang Mga Device at piliin ang Bluetooth mula sa iyong RC Car (dapat na isang bagay HC 05), pagkatapos ay i-click ang CONNECT at dapat mong makita ang nakakonektang mensahe sa kaliwang ilalim ng iyong screen. Sa unang pagkakataon, hihilingin sa iyo ang isang password (ipasok ang 0000 o 1234).

Mayroong isang kahon kung saan kailangan mong i-type ang IP address ng iyong lumang cell (cellphone na nasa iyong RC Car), sa aking kaso ito ay

Ang numero ng IP na ito ay maaaring napansin sa iyong Wi-fi Router. Kailangan mong makapasok sa iyong pagsasaayos ng Router, piliin ang Listahan ng Mga Device (o isang bagay tulad nito depende sa iyong tatak ng Router) at dapat mong makita ang iyong lumang cell device, mag-click dito at ipasok ang numero ng IP sa kahon na ito.

Pagkatapos piliin ang CAMERA at dapat mong simulang tingnan ang streaming ng camera mula sa iyong RC Car.

Hakbang 12: Tapos Na

Tapos ka na!
Tapos ka na!

Tapos ka na! Simulang laruin ito

Mga pagbabago sa hinaharap: Babaguhin ko ang baterya ng 9V gamit ang mga baterya ng Li-ion upang muling ma-recharge ang mga ito at gumamit ng isang DC-DC na pagtaas ng boltahe na regulator, nais kong mapahusay ang monitor ng baterya sa pamamagitan ng pagsasama ng pagpapakinis (average) ng mga pagbasa ng analog. Hindi pinaplano na isama ang A. I. pa …;-)

Pinasok ko na ang una kong itinuturo na paligsahan … kaya't mangyaring bumoto;-)

Inirerekumendang: