Mündəricat:

Bluetooth, Kamera və MIT App Inventor ilə Robot Avtomobil 2: 12 addım (şəkillərlə)
Bluetooth, Kamera və MIT App Inventor ilə Robot Avtomobil 2: 12 addım (şəkillərlə)

Video: Bluetooth, Kamera və MIT App Inventor ilə Robot Avtomobil 2: 12 addım (şəkillərlə)

Video: Bluetooth, Kamera və MIT App Inventor ilə Robot Avtomobil 2: 12 addım (şəkillərlə)
Video: Пранав Мистри: Захватывающий потенциал технологии Шестого чувства 2024, Noyabr
Anonim
Image
Image
Parçalar və Proqram təminatı
Parçalar və Proqram təminatı

Heç öz robot avtomobilinizi qurmaq istəmisinizmi? Yaxşı … bu sizin şansınızdır !!

Bu Təlimat kitabında Bluetooth və MIT App Inventor2 ilə idarə olunan bir Robot Maşını necə edəcəyinizi sizə izah edəcəyəm. Yeni başlayan olduğumu və bu mənim ilk təlimatım olduğunu unutmayın, zəhmət olmasa şərhlərinizdə yumşaq olun.

Orada bir çox təlimat var, amma bu xüsusiyyətdə bir çox xüsusiyyətləri birləşdirməyə çalışdım: kamera axını, maneələrdən qaçınma, ultrasəs diapazonu sensoru, Larson skaneri (charlieplexing ilə) və batareya monitorinqi Android tətbiqetməsində !!

Beləliklə, başlayaq və Frankie ilə tanış olaq (bir çox yerdən fikirləri istifadə edir.. Bu zaman Robo Frankenşteyn)

Addım 1: Parçalar və Proqram

Parçalar və Proqram təminatı
Parçalar və Proqram təminatı
Parçalar və Proqram təminatı
Parçalar və Proqram təminatı

Burada, doğma şəhərimdə, bütün hissələri almaq çətindir, buna görə də çoxunu www.aliexpress.com saytından əldə edə bildim.

Hesab edirəm ki, layihə köhnə cib telefonu nəzərə alınmadan 25-30 ABŞ dolları dəyərində inşa edilə bilər.

  • Avtomobil şassisi: 3 təkər, 2 mühərrik 6V (9 USD)
  • Arduino Nano (2 ABŞ dolları)
  • Bluetooth HC-05 (3-4 USD)
  • Təkərli mühərrikləri idarə etmək üçün L293D motor sürücüsü (5 ədədlik lot üçün 1.50 USD)
  • Kamera və Wi-Fi ilə köhnə mobil
  • Yaxınlıqdakı bir obyektin ölçülməsi üçün ultrasəs sensoru HC-SR04 (1 USD)
  • Larson skaneri üçün 6 LED
  • Larson skaneri üçün ATtiny85 (1 ABŞ dolları)
  • Çörək lövhəsi (1 USD)
  • Tellər
  • 100K Ohm müqavimət (4)
  • 1K Ohm müqavimət (2)
  • 2K Ohm müqavimət (1)
  • 270 Ohm müqavimət (3)
  • Buzzer

Proqram təminatı:

  • Arduino IDE
  • IP veb kamera (köhnə mobil Android üçün)
  • MIT App Inventor2: Bu tətbiq əladır, ancaq Android əməliyyat sistemi üçün işləyir (Iphone yoxdur … üzr istəyirəm!)

Addım 2: Tikinti prosesi

Tikinti prosesi
Tikinti prosesi
Tikinti prosesi
Tikinti prosesi
Tikinti prosesi
Tikinti prosesi
Tikinti prosesi
Tikinti prosesi

Avtomobil şassisini yığmaq çox asandır; Arxa təkərləri gücləndirən 6V mühərriki və 4 batareya dəsti var.

Robot avtomobili Bluetooth və Wi-Fi vasitəsilə idarə olunur. Bluetooth, Avtomobil ilə MIT App ixtiraçısı2 arasındakı ardıcıl ünsiyyətə nəzarət edir və Wi-Fi avtomobilin qarşısında quraşdırılmış kamera (köhnə mobil telefon) ilə əlaqə yaratmaq üçün istifadə olunur.

Bu layihə üçün iki batareya dəsti istifadə etdim: arduino 9V batareya və avtomobil mühərrikləri 6V (dörd ədəd 1.5V AA batareya) ilə işləyir.

Arduino Nano, avtomobili, səs siqnalını, ultrasəs diapazonu sensoru HC-SR04, Bluetooth HC-05, Larson skanerini (ATtiny85) idarə edən və batareyaları izləyən bu layihənin beynidir. 9V batareya Vin -ə (pin 30) gedir və Arduino pin 27, çörək taxtasına 5V tənzimlənən güc verir. Bütün IC -lərdən və batareyalardan bütün əsasları birləşdirmək lazımdır.

Əlavə olaraq, dövrə diaqramı Excel -də hazırlandı (Üzr istəyirik …. Növbəti dəfə Fritzing'i sınayacağam). Çörək taxtası və kişi istifadə edərək hər şeyi kişi tel bağlayıcılara bağladım, mənimki siçovul yuvasına bənzəyir.

Addım 3: L293D Motor Sürücü

L293D motor sürücü
L293D motor sürücü
L293D motor sürücü
L293D motor sürücü

L293D, 4.5V-dan 36V-a qədər 600 mA-ya qədər iki yönlü sürücü cərəyanlarını təmin etmək üçün nəzərdə tutulmuş dördqat yüksək cərəyan yarı-H sürücüsüdür. Avtomobil təkərlərini idarə etmək üçün istifadə olunur.

Motorlar üçün 6V batareya dəsti (dörd 1.5V AA) ilə təchiz olunmuşdur və Arduino Nano'da tənzimlənən 5V (pin 27) məntiqi üçün 5V istifadə edir. Bağlantılar əlavə edilmiş sxemdə göstərilmişdir.

İstilik qabına quraşdırmağa ehtiyac yox idi.

Addım 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth 5V (arduino pin 27) ilə işləyir, ancaq məntiq səviyyəsinin 3.3V olduğunu, yəni 3.3V ilə əlaqələrin (Tx və Rx) olduğunu anlamaq vacibdir. Bu səbəbdən Rx, bir dövrə çeviricisi ilə və ya bu vəziyyətdə olduğu kimi, dövrədə göründüyü kimi 1K və 2K rezistorlar istifadə edərək əldə edilə bilən maksimum 3.3V ilə konfiqurasiya edilməlidir.

Addım 5: Batareya Monitoru

Batareya səviyyələrini izləmək üçün gərginlik səviyyələrini 5V -dən aşağı salmaq üçün gərginlik bölücüləri təyin etdim (Arduinonun maksimum diapazonu). Gərginlik bölücü, ölçülən gərginliyi Arduino analoq girişləri daxilində azaldır.

Ölçmə prosesində batareyaları çox boşaltmamaq üçün A4 və A6 analoq girişləri istifadə olunur və yüksək rezistorlar (100K ohm) istifadə olunur. Rezistorlar çox aşağı olduqda (10K ohm), daha az yükləmə effekti varsa, gərginliyin oxunması daha dəqiqdir, lakin daha çox cərəyan çəkməklə güzəştə getməliyik; çox yüksəkdirsə (1M ohm), daha çox yükləmə effekti, gərginliyin oxunması daha az dəqiqdir, lakin daha az cərəyan çəkir.

Batareya monitorinqi hər 10 saniyədə aparılır və birbaşa nəzarətçi cib telefonunuzda göstərilir.

Əminəm ki, iki analoq pindən oxuduğumdan və daxili MUX aralarında dəyişdiyindən bu hissədə təkmilləşdirmə üçün çox yer var. Birdən çox ölçmə aparmıram və bəlkə də bunu etməliyəm.

Aşağıdakı formulu izah edim:

// A4 analog pinindən gərginliyi oxuyun və Arduino üçün kalibrləmə edin:

gərginlik1 = (analogOxu (A4)*5.0/1024.0)*2.0; //8.0V

Arduino nano lövhəsi, 8 kanallı, 10 bitlik analoqdan rəqəmsal çeviriciyə malikdir. AnalogRead () funksiyası, pinə tətbiq olunan gərginlik miqdarı ilə mütənasib olan 0 ilə 1023 arasında bir ədəd qaytarır. Bu, 5 volt / 1024 ədəd və ya.0049 volt (4.9 mV) vahid başına oxunuşlar arasında bir qətnamə verir.

Gərginlik bölücü gərginliyi yarıya endirir və əsl gərginliyi əldə etmək üçün 2 ilə çarpmaq lazımdır !!

ƏHƏMİYYƏTLİ: Əminəm ki, bir arduino -nu işə salmaqdan daha səmərəli bir yol var! Yeni başlayan kimi çətin yolları öyrəndim. Arduino Vin pin xətti bir gərginlik tənzimləyicisini istifadə edir, yəni 9V batareya ilə xətti tənzimləyicinin özündə böyük bir güc yandıracaqsınız! Yaxşı deyil. Bunu sürətli etdiyim üçün və bunu daha yaxşı bilmədiyim üçün etdim … amma əmin olun ki, Robo Frankie 2.0 versiyasında bunu əlbəttə başqa cür edəcəyəm.

Düşünürəm ki, DC DC Step Up Switching Power Supply və Li-ion şarj edilə bilən bir batareya daha yaxşı bir yol ola bilər. Sizin xoş təklifiniz çox xoş qarşılanacaq …

Addım 6: HC-SR04 Ultrasonik Range Sensor

HC-SR04 Ultrasonik Range Sensor
HC-SR04 Ultrasonik Range Sensor

HC-SR04 ultrasəs diapazonlu sensordur. Bu sensor 2 mm -dən 400 sm -ə qədər ölçüləri 3 mm -ə qədər dəqiqliklə təmin edir. Bu layihədə, 20 sm və ya daha kiçik ölçülərə çatanda əngəllərin qarşısını almaq və cib telefonunuza geri göndərilən hər hansı bir obyektə olan məsafəni ölçmək üçün istifadə olunur.

Cib telefonunuzun ekranında yaxınlıqdakı bir obyektə məsafə istəmək üçün tıklanmalı olan bir düymə var.

Addım 7: Larson Skaner

Larson Skaner
Larson Skaner
Larson Skaner
Larson Skaner
Larson Skaner
Larson Skaner

Əyləncəli bir şey daxil etmək istədim, buna görə K. I. T. T -yə bənzəyən Larson skanerini də daxil etdim. Knight Rider -dən.

Larson skaneri üçün charlieplexing ilə ATtiny85 istifadə etdim. Charlieplexing, bir sıra LEDləri idarə etmək üçün bir mikrokontrolördəki nisbətən az G/Ç pinlərinin istifadə edildiyi multipleksli bir ekranı idarə etmək üçün bir texnikadır. Metod, ənənəvi multipleksləmə üzərində səmərəlilik əldə etmək üçün mikrokontrolörlərin üç dövlətli məntiq imkanlarından istifadə edir.

Bu vəziyyətdə, ATtiny85 -dən 6 LED -i yandırmaq üçün 3 pin istifadə edirəm !!

N pinləri olan "X" LED -lərini yandıra bilərsiniz. Neçə LED idarə edə biləcəyinizi tapmaq üçün aşağıdakı düsturdan istifadə edin.

N pinli X = N (N-1) LEDlər:

3 pin: 6 LED;

4 pin: 12 LED;

5 sancaq: 20 LED … fikir əldə edirsiniz;-)

Cari pozitivdən (anoddan) neqativə (katod) axır. Okun ucu katoddur.

Qeyd etmək vacibdir ki, pin 1 (Arduino IDE kodunda) ATtiny85 -də fiziki pin 6 -ya aiddir (zəhmət olmasa əlavə edilmiş pinouta baxın).

Larson skanerini idarə edən ATtiny85 -ə yüklənməli olan kodu tapın. Bir kodu ATtiny85 -ə necə yükləməyi təsvir etmirəm, çünki bunun kimi bir çox təlimat var.

Addım 8: Kod

Kod
Kod

Larson skanerini idarə edən ATtiny85 -ə yüklənməli olan kodu və Arduino nano kodunu əlavə edirəm.

Arduino nanoya gəldikdə, digər təlimatlardan gələn kodların bir hissəsini istifadə etdim (burada) və ehtiyaclarıma uyğun dəyişikliklər etdim. Switch - Case -in necə işlədiyini daha yaxşı başa düşmək üçün kodun bir axın cədvəlini (daha aydın bir şəkil üçün) əlavə etdim.

Mühüm: CarBluetooth kodunu Arduino nanoya yükləmək üçün Rx və Tx-i HC-05 Bluetooth modulundan ayırmaq lazımdır!

Addım 9: Kamera

Kamera
Kamera
Kamera
Kamera

IP Webcam tətbiqini oyun mağazasından yükləmək və köhnə cib telefonunuza yükləmək lazımdır. Video seçimlərini yoxlayın, müvafiq olaraq qətnaməni tənzimləyin və nəhayət ötürülməyə başlamaq üçün son "Serverə başla" əmrinə keçin. Cib telefonunda Wi-Fi yandırmağı unutmayın !!

Addım 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App ixtiraçısı2, veb brauzerinizdə tətbiqlər qurmağa kömək edən bulud əsaslı bir vasitədir. Bu proqram (yalnız Android əsaslı mobil telefonlar üçün) sonra hüceyrənizə yüklənə və robot avtomobilinizi idarə edə bilərsiniz.

Mən.apk və.aia kodunu əlavə edirəm ki, gördüklərimi görə biləsiniz və istədiyiniz kimi dəyişə biləsiniz. İnternetdən (MIT App) bir kod istifadə etdim və öz dəyişikliklərimi etdim. Bu kod robot avtomobilin hərəkətini idarə edir, ultrasəs sensorundan siqnal alır, işıqları yandırır və səs siqnalı verir. Batareyalardan da gərginlik səviyyəsini bizə bildirən siqnal alır.

Bu kodla avtomobildən iki fərqli siqnal ala biləcəyik: 1) yaxınlıqdakı obyektə olan məsafə və 2) motor və arduino batareyalarından gələn gərginlik.

Alınan serial simli müəyyən etmək üçün, Arduino koduna göndərilən simli növünü təyin edən bir bayraq daxil etdim. Arduino ultrasəs sensordan ölçülmüş məsafəni göndərirsə, simin qarşısına "A" işarəsi göndərir. Arduino Batareya səviyyələrini nə vaxt göndərsə, "B" işarəsi olan bir bayraq göndərir. MIT App ixtiraçıları2 kodunda Arduinodan gələn serial simli təhlil etdim və bu bayraqları yoxladım. Dediyim kimi, mən yeniyəm və əminəm ki, bunu etmək üçün daha təsirli yollar var və ümid edirəm ki, kimsə məni daha yaxşı bir şəkildə maarifləndirə bilər.

Arduino_Bluetooth_Car.apk telefonunuza göndərin (e -poçt və ya Google Disk vasitəsilə) və quraşdırın.

Addım 11: Cib Telefonunuzu RC Avtomobilinizə Bağlayın

Cib Telefonunuzu RC Avtomobilinizə Qoşun
Cib Telefonunuzu RC Avtomobilinizə Qoşun
Cib Telefonunuzu RC Avtomobilinizə Qoşun
Cib Telefonunuzu RC Avtomobilinizə Qoşun

Əvvəlcə köhnə cib telefonunda (RC robotundakı) wi-fi yandırın.

Nəzarətçi cib telefonunuzda wi-fi, Bluetooth-u yandırın və yeni qurduğunuz Arduino_Bluetooth_Car.apk açın. Ekranın sonunda (bunu görə bilmirsinizsə, aşağıya fırladın) iki düyməni görəcəksiniz: Cihazlar və QONUN. Cihazlar düyməsini vurun və RC Avtomobilinizdən Bluetooth seçin (HC 05 bir şey olmalıdır), sonra BAĞLAN düyməsini basın və ekranınızın sol altındakı BAĞLI mesajı görməlisiniz. İlk dəfə sizdən bir parol istənəcək (0000 və ya 1234 daxil edin).

Köhnə mobil telefonunuzun IP ünvanını (RC Avtomobilinizdə olan cib telefonu) yazmalı olduğunuz bir qutu var, mənim vəziyyətimdə

Bu IP nömrəsi Wi-Fi Routerinizdə aşkar edilə bilər. Router konfiqurasiyanıza girməlisiniz, Cihazlar Siyahısını seçin (və ya Router markanızdan asılı olaraq) və köhnə mobil cihazınızı görə bilməlisiniz, üzərinə vurun və bu IP nömrəsini bu qutuya daxil edin.

Sonra KAMERA seçin və RC Avtomobilinizdən axan kameraya baxmağa başlamalısınız.

Addım 12: Hazırsınız

Bitti!
Bitti!

İşiniz bitdi! Bununla oynamağa başlayın

Gələcək dəyişikliklər: 9V batareyanı Li-ion batareyaları ilə dolduracağam və DC-DC gücləndirici gərginlik tənzimləyicisini istifadə edəcəyəm, eyni zamanda oxunuşların hamarlanması (ortalaması) daxil olmaqla batareya monitorunu gücləndirmək istəyirəm. A. I -ni daxil etməyi planlaşdırmıram. hələ…;-)

İlk təlimatlandırılan yarışmamda iştirak etdim … xahiş edirəm səs verin;-)

Tövsiyə: