Mundarija:

Bluetooth, kamera va MIT ilovasi ixtirochisi bo'lgan robotli mashina 2: 12 qadam (rasmlar bilan)
Bluetooth, kamera va MIT ilovasi ixtirochisi bo'lgan robotli mashina 2: 12 qadam (rasmlar bilan)

Video: Bluetooth, kamera va MIT ilovasi ixtirochisi bo'lgan robotli mashina 2: 12 qadam (rasmlar bilan)

Video: Bluetooth, kamera va MIT ilovasi ixtirochisi bo'lgan robotli mashina 2: 12 qadam (rasmlar bilan)
Video: Telefonni koʻz bilan boshqarish 2024, Noyabr
Anonim
Image
Image
Ehtiyot qismlar va dasturiy ta'minot
Ehtiyot qismlar va dasturiy ta'minot

Siz hech qachon o'z robot -mashinangizni qurishni xohlaganmisiz? Xo'sh … bu sizning imkoniyatingiz !!

Bu yo'riqnomada men sizga Bluetooth va MIT App Inventor2 orqali boshqariladigan robotli avtomobilni qanday yasashni o'rgataman. Bilingki, men yangi boshlovchiman va bu mening birinchi o'qitishim, shuning uchun sharhlaringizda muloyim bo'ling.

U erda juda ko'p ko'rsatmali narsalar bor, lekin men bu erda ko'p funktsiyalarni birlashtirishga harakat qildim: kamera oqimi, to'siqlardan qochish, ultratovush diapazoni sensori, Larson skaneri (charlieplexing bilan) va Android ilovasida batareyani kuzatish !!

Keling, boshlaymiz va Frankie bilan uchrashamiz (u ko'p joylarning g'oyalarini ishlatadi… Robo Frankenshteyn)

1 -qadam: qismlar va dasturiy ta'minot

Ehtiyot qismlar va dasturiy ta'minot
Ehtiyot qismlar va dasturiy ta'minot
Ehtiyot qismlar va dasturiy ta'minot
Ehtiyot qismlar va dasturiy ta'minot

Bu erda, o'z shahrimda, barcha qismlarni olish qiyin, shuning uchun men ularning ko'pini www.aliexpress.com saytidan oldim.

Menimcha, loyihani eski uyali telefonni hisobga olmaganda 25-30 AQSh dollariga qurish mumkin.

  • Avtomobil shassisi: 3 g'ildirak, 2 dvigatel 6V (9 AQSh dollari)
  • Arduino Nano (2 AQSh dollari)
  • Bluetooth HC-05 (3-4 dollar)
  • L293D motorli haydovchi g'ildirakli dvigatellarni boshqaradi (5 dona lot uchun 1,50 AQSh dollari)
  • Eski uyali kamera va Wi-Fi
  • Yaqin atrofdagi ob'ektni o'lchash uchun HC-SR04 ultratovush sensori (1 AQSh dollari)
  • Larson skaneri uchun 6 ta LED
  • Larson skaneri uchun ATtiny85 (1 AQSh dollari)
  • Non paneli (1 AQSh dollari)
  • Simlar
  • 100K Ohm qarshilik (4)
  • 1K Ohm qarshilik (2)
  • 2K Ohm qarshilik (1)
  • 270 Ohm qarshilik (3)
  • Buzzer

Dasturiy ta'minot:

  • Arduino IDE
  • IP -veb -kamera (eski uyali Android uchun)
  • MIT App Inventor2: Bu ilova juda zo'r, lekin faqat Android operatsion tizimida ishlaydi (Iphone yo'q … uzr!)

2 -qadam: qurilish jarayoni

Qurilish jarayoni
Qurilish jarayoni
Qurilish jarayoni
Qurilish jarayoni
Qurilish jarayoni
Qurilish jarayoni
Qurilish jarayoni
Qurilish jarayoni

Avtomobil shassisini yig'ish juda oson; u 6 g'ildirakli dvigatelga ega, u orqa g'ildiraklarga quvvat beradi va 4 ta batareya to'plamiga ega.

Robotli avtomobil Bluetooth va Wi-Fi orqali boshqariladi. Bluetooth Car va MIT App ixtirochisi o'rtasidagi ketma-ket aloqalarni boshqaradi2 va Wi-Fi avtomobil oldiga o'rnatilgan kamera (eski uyali telefon) bilan bog'lanish uchun ishlatiladi.

Ushbu loyiha uchun men ikkita akkumulyator to'plamidan foydalandim: arduino 9V akkumulyator bilan, avtomobil dvigatellari esa 6V (to'rtta 1,5 V AA batareyalar) bilan ishlaydi.

Arduino Nano-bu avtomobilni, signalni, ultratovushli HC-SR04 diapazonini, Bluetooth HC-05, Larson skanerini (ATtiny85) boshqaruvchi va akkumulyatorlarni kuzatuvchi ushbu loyihaning miyasi. 9V batareya Vinga (30 -pin) to'g'ri keladi va Arduino -ning 27 -pinli panelda 5V regulyativ quvvat beradi. Barcha IC va batareyalarning barcha asoslarini bir -biriga bog'lab qo'yish kerak.

Ilova sxemasi Excel -da tuzilgan (Kechirasiz … keyingi safar Fritzingni sinab ko'raman). Men hamma narsani non taxtasi va erkak yordamida erkak simli ulagichlarga uladim, meniki kalamushlar uyasiga o'xshaydi.

3 -qadam: L293D dvigatel drayveri

L293D dvigatel uchun haydovchi
L293D dvigatel uchun haydovchi
L293D dvigatel uchun haydovchi
L293D dvigatel uchun haydovchi

L293D-bu 4,5 V dan 36 V gacha bo'lgan kuchlanishli 600 mA gacha bo'lgan ikki tomonlama haydovchi oqimlarini ta'minlash uchun mo'ljallangan to'rtburchaklar yuqori oqimli yarim H drayveri. U avtomobil g'ildiraklarini haydash uchun ishlatiladi.

U dvigatellar uchun 6V batareya to'plami (to'rtta 1,5V AA) bilan quvvatlanadi va Arduino Nano -dagi 5V (pin 27) dan boshqariladigan mantiq uchun 5Vdan foydalanadi. Ulanishlar biriktirilgan sxemada ko'rsatilgan.

Issiqlik moslamasiga o'rnatishga hojat yo'q edi.

4-qadam: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth 5V (arduino pin 27) bilan ishlaydi, lekin mantiq darajasi 3.3V, ya'ni 3.3V bilan aloqa (Tx va Rx) ekanligini tushunish kerak. Shuning uchun Rx -ni maksimal 3.3V bilan sozlash kerak, bu darajali o'zgartirgichli konverterda yoki bu holatda bo'lgani kabi, kontaktlarning zanglashiga olib keladigan 1K va 2K rezistorlar yordamida kuchlanishni ajratuvchi yordamida amalga oshiriladi.

5 -qadam: Batareya monitori

Batareya quvvatini kuzatish uchun men kuchlanish bo'linmalarini 5V (Arduino maksimal diapazoni) ostiga tushirish uchun o'rnatdim. Voltaj bo'linishi o'lchanadigan kuchlanishni Arduino analogli kirish oralig'ida kamaytiradi.

A4 va A6 analog kirishlari ishlatiladi va o'lchash jarayonida batareyalarni haddan tashqari to'kib yubormaslik uchun yuqori rezistorlar (100K ohm) ishlatiladi. Biz murosaga kelishimiz kerak, agar rezistorlar juda past bo'lsa (10K ohm), yuklanish effekti kamroq bo'lsa, kuchlanishni o'qish aniqroq, lekin ko'proq oqim chizish; agar ular juda baland bo'lsa (1M ohm), ko'proq yuklanish effekti, kuchlanishni o'qish aniqligi kamroq, lekin tok chizig'i kamroq bo'ladi.

Batareya monitoringi har 10 soniyada amalga oshiriladi va to'g'ridan -to'g'ri boshqaruvchi mobil telefoningizda ko'rsatiladi.

Ishonchim komilki, bu qismni yaxshilash uchun ko'p joylar bor, chunki men ikkita analog pimdan o'qiyman va ichki MUX ular o'rtasida almashadi. Men bir nechta o'lchovlarni o'rtacha hisoblamayman va ehtimol men shunday qilishim kerak.

Quyidagi formulani tushuntirib beray:

// A4 analog pinidan kuchlanishni o'qing va Arduino uchun kalibrlang:

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

Arduino nano-platasida 8 kanalli, 10 bitli analogdan raqamli konvertor mavjud. AnalogRead () funktsiyasi 0 dan 1023 gacha bo'lgan raqamni qaytaradi, bu pin uchun qo'llaniladigan kuchlanish miqdoriga mutanosib. Bu 5 volt / 1024 birlik yoki birlik uchun.0049 volt (4,9 mV) o'qishlar orasidagi aniqlikni beradi.

Voltaj bo'linishi kuchlanishni ikki baravar kamaytiradi va haqiqiy kuchlanishni olish uchun uni 2 ga ko'paytirish kerak.

MUHIM: Ishonchim komilki, men qilayotganimdan ko'ra, arduinoni quvvatlantirishning yanada samarali usuli bor !! Yangi boshlovchi sifatida men qiyin yo'lni o'rgandim. Arduino Vin pinli chiziqli voltaj regulyatoridan foydalanadi, ya'ni 9V batareya bilan siz chiziqli regulyatorning o'zida katta quvvatni yoqib yuborasiz! Yaxshi emas. Men buni shunday qildim, chunki bu tez va men yaxshi bilmasdim … lekin Robo Frankie 2.0 versiyasida men buni boshqacha bajaraman.

Men (baland ovozda) o'ylaymanki, shahar tok kuchini uzatish quvvat manbai va Li-ion akkumulyatori yaxshiroq bo'lishi mumkin. Sizning yaxshi taklifingiz ma'qulroq bo'ladi …

6-qadam: HC-SR04 ultrasonik diapazon sensori

HC-SR04 ultratovush diapazoni sensori
HC-SR04 ultratovush diapazoni sensori

HC-SR04-ultratovushli diapazon sensori. Sensor 2 sm dan 400 sm gacha o'lchovni 3 mm gacha aniqlik bilan ta'minlaydi. Ushbu loyihada u 20 sm va undan kichik bo'lgan to'siqlarni oldini olish uchun, shuningdek, uyali telefoningizga qaytariladigan har qanday ob'ektgacha bo'lgan masofani o'lchash uchun ishlatiladi.

Yaqin atrofdagi ob'ektga masofani so'rash uchun mobil telefon ekranida tugmani bosish kerak.

7 -qadam: Larson skaner

Larson skaner
Larson skaner
Larson skaner
Larson skaner
Larson skaner
Larson skaner

Men qiziqarli narsalarni qo'shmoqchi edim, shuning uchun men K. I. T. T ga o'xshash Larson skanerini qo'shdim. Knight Rider -dan.

Larson skaneri uchun men charlieplexing bilan ATtiny85 dan foydalanganman. Charlieplexing - bu ko'p sonli displeyni boshqarish usuli, bunda bir nechta LEDlarni boshqarish uchun mikrokontroldagi kirish -chiqish pinlari nisbatan kam ishlatiladi. Usul an'anaviy multiplekslashdan ko'ra samaradorlikka erishish uchun mikrokontrolderlarning uch holatli mantiqiy imkoniyatlaridan foydalanadi.

Bu holda men ATtiny85 dan 6 ta LEDni yoqish uchun 3 ta pinni ishlataman !!

Siz "X" LED -larni N pim bilan yoqishingiz mumkin. Quyidagi formuladan foydalanib, qancha LEDni boshqarishingiz mumkin:

N pinli X = N (N-1) LEDlar:

3 ta pin: 6 ta LED;

4 ta pin: 12 ta LED;

5 ta pin: 20 ta LED … siz bu fikrni olasiz;-)

Oqim musbat (anod) dan manfiy (katod) ga o'tadi. Okning uchi - katod.

Shuni ta'kidlash kerakki, 1 -pin (Arduino IDE kodida) ATtiny85 -dagi 6 -jismoniy pinni bildiradi (ilova qilingan pinoutga qarang).

Iltimos, Larson skanerini boshqaradigan ATtiny85 -ga yuklanishi kerak bo'lgan kodni toping. Men kodni ATtiny85 -ga qanday yuklashni ta'riflamayman, chunki shunga o'xshash ko'plab ko'rsatmalar mavjud.

8 -qadam: kod

Kod
Kod

Men Larson skanerini boshqaradigan ATtiny85 -ga yuklanishi kerak bo'lgan kodni va Arduino nano kodini biriktiryapman.

Arduino nanosiga kelsak, men boshqa ko'rsatmalardan (bu erda) kodlarning bir qismini ishlatganman va o'z ehtiyojlarimga mos o'zgartirishlar kiritganman. Switch - Case qanday ishlashini yaxshiroq tushunish uchun men kodning oqim sxemasini (aniqroq tasvir uchun) qo'shdim.

Muhim: CarBluetooth kodini Arduino nano-ga yuklash uchun siz RC va Txni HC-05 Bluetooth modulidan uzishingiz kerak!

9 -qadam: kamera

Kamera
Kamera
Kamera
Kamera

IP -veb -kamera ilovasini o'yin do'konidan yuklab olish va eski uyali telefoningizga o'rnatish kerak. Video sozlamalarini tekshiring, piksellar sonini mos ravishda o'zgartiring va uzatishni boshlash uchun oxirgi "Serverni ishga tushirish" buyrug'iga o'ting. Uyali telefonda Wi-Fi-ni yoqishni unutmang!

10 -qadam: MIT App Inventor2

MIT App Inventor 2
MIT App Inventor 2

MIT App inventor2 - bu veb -brauzeringizda ilovalar yaratishga yordam beradigan bulutga asoslangan vosita. Bu ilova (faqat Android -ga asoslangan uyali aloqa uchun) keyin sizning kamerangizga yuklanishi va robot -mashinangizni boshqarishi mumkin.

Men.apk va.aia kodini biriktiryapman, shunda siz nima qilganimni ko'rishingiz va xohlaganingizcha o'zgartirishingiz mumkin. Men Internetdan kodni (MIT App) ishlatdim va o'z o'zgartirishlarimni kiritdim. Bu kod robot -mashinaning harakatini boshqaradi, ultrasonik sensordan signal oladi, chiroqlarni yoqadi va signal signalini beradi. Shuningdek, u batareyadan signal oladi, bu bizga kuchlanish darajasini bildiradi.

Bu kod yordamida biz mashinadan ikki xil signalni qabul qila olamiz: 1) yaqin atrofdagi ob'ektgacha bo'lgan masofa va 2) dvigatel va arduino batareyalaridan kuchlanish.

Qabul qilingan ketma -ket qatorni aniqlash uchun men Arduino kodiga yuborilgan satr turini ko'rsatuvchi bayroqni kiritdim. Agar Arduino ultrasonik sensordan o'lchangan masofani yuborsa, u simning oldiga "A" belgisini yuboradi. Qachon Arduino batareya quvvatini yuborsa, u "B" belgisiga ega bayroqni yuboradi. MIT App ixtirochilar2 kodida men Arduino -dan keladigan ketma -ket qatorni tahlil qildim va bu bayroqlarni tekshirdim. Aytganimdek, men yangi boshlovchiman va ishonchim komilki, buni amalga oshirishning yanada samarali usullari bor va umid qilamanki, kimdir meni yaxshiroq tushuntira oladi.

Arduino_Bluetooth_Car.apk -ni mobil telefoningizga yuboring (elektron pochta yoki Google Drive orqali) va uni o'rnating.

11 -qadam: Mobil telefoningizni RC avtomobilingizga ulang

Mobil telefoningizni RC avtomobilingizga ulang
Mobil telefoningizni RC avtomobilingizga ulang
Mobil telefoningizni RC avtomobilingizga ulang
Mobil telefoningizni RC avtomobilingizga ulang

Birinchidan, eski uyali telefonda (RC robotidagi) Wi-Fi-ni yoqing.

Uyali telefonda Wi-Fi, Bluetooth-ni yoqing va siz o'rnatgan Arduino_Bluetooth_Car.apk-ni oching. Ekranning oxirida (agar ko'rmasangiz, pastga siljiting) siz ikkita tugmani ko'rasiz: Qurilmalar va Ulanish. Qurilmalar -ni bosing va RC Car -dan Bluetooth -ni tanlang (HC 05 bo'lishi kerak), so'ng Ulanish -ni bosing va siz ekranning chap pastki qismida ULANGAN xabarni ko'rasiz. Birinchi marta sizdan parol so'raladi (0000 yoki 1234 kiriting).

Sizda eski uyali telefoningizning IP -manzilini yozishingiz kerak bo'lgan quti bor (RC avtomobilingizdagi uyali telefon), mening holatimda bu

Bu IP-raqamni Wi-Fi routeringizda aniqlash mumkin. Siz yo'riqnoma konfiguratsiyasiga kirishingiz, Qurilmalar ro'yxatini tanlashingiz kerak (yoki sizning yo'riqnoma markangizga bog'liq) va siz eski uyali qurilmangizni ko'rishingiz, ustiga bosing va ushbu IP -raqamni ushbu maydonga kiritishingiz kerak.

Keyin CAMERA -ni tanlang va siz RC Car -dan kamera oqimini ko'rishni boshlashingiz kerak.

12 -qadam: Siz tugadingiz

Siz Bajarildingiz!
Siz Bajarildingiz!

Siz tugadingiz! U bilan o'ynashni boshlang

Kelgusi o'zgarishlar: Men 9V batareyani Li-ionli batareyalar bilan almashtiraman, ularni zaryadlash uchun va DC-DC kuchlanish regulyatoridan foydalanaman, shuningdek, analog o'qishni yumshatish (o'rtacha) ni qo'shib batareya monitorini kuchaytirishni xohlayman. A. I.ni kiritishni rejalashtirmayapman. hali …;-)

Men birinchi ko'rsatma beriladigan tanlovga qo'shildim … shuning uchun ovoz bering;-)

Tavsiya: