Cuprins:

Mașină robot cu Bluetooth, aparat de fotografiat și aplicația MIT Inventor2: 12 pași (cu imagini)
Mașină robot cu Bluetooth, aparat de fotografiat și aplicația MIT Inventor2: 12 pași (cu imagini)

Video: Mașină robot cu Bluetooth, aparat de fotografiat și aplicația MIT Inventor2: 12 pași (cu imagini)

Video: Mașină robot cu Bluetooth, aparat de fotografiat și aplicația MIT Inventor2: 12 pași (cu imagini)
Video: FEMEIA De 399 De ANI ! #shorts 2024, Noiembrie
Anonim
Image
Image
Piese și software
Piese și software

Ați dorit vreodată să vă construiți propria mașină robot? Ei bine … aceasta este șansa ta !!

În acest Instructable vă voi prezenta cum să faceți o mașină robot controlată prin Bluetooth și MIT App Inventor2. Rețineți că sunt un începător și că acesta este primul meu instuctabil, așa că vă rugăm să fiți blând în comentariile dvs.

Există multe instrumente disponibile, dar în aceasta am încercat să combin multe funcții, cum ar fi: redarea camerei, evitarea obstacolelor, senzor ultrasunete, scaner Larson (cu charlieplexing) și monitorizarea bateriei într-o aplicație Android !!

Deci, să începem și să-l cunoaștem pe Frankie (folosește idei din multe locuri … de aceea Robo Frankenstein)

Pasul 1: Piese și software

Piese și software
Piese și software
Piese și software
Piese și software

Aici, în orașul meu natal, este dificil să obțin toate piesele, de aceea am reușit să le obțin pe cele mai multe de pe www.aliexpress.com

Estimez că proiectul poate fi construit pentru 25 - 30 USD fără a lua în considerare vechiul telefon mobil.

  • Șasiu auto: 3 roți, 2 motoare 6V (9 USD)
  • Arduino Nano (2 USD)
  • Bluetooth HC-05 (3 până la 4 USD)
  • Șofer de motor L293D pentru a conduce motoare pe roți (1,50 USD pentru un lot de 5 bucăți)
  • Celular vechi cu cameră și Wi-Fi
  • Senzor cu ultrasunete HC-SR04 pentru măsurarea unui obiect din apropiere (1 USD)
  • 6 LED-uri pentru scanerul Larson
  • ATtiny85 pentru scanerul Larson (1 USD)
  • Panou (1 USD)
  • Fire
  • Rezistor 100K Ohm (4)
  • Rezistor 1K Ohm (2)
  • Rezistor 2K Ohm (1)
  • Rezistor 270 Ohm (3)
  • Buzzer

Software:

  • IDE Arduino
  • Cameră web IP (pentru Android celular vechi)
  • MIT App Inventor2: această aplicație este excelentă, dar funcționează numai pentru sistemul de operare Android (fără telefoane … scuze!)

Pasul 2: Procesul de construcție

Procesul de construcție
Procesul de construcție
Procesul de construcție
Procesul de construcție
Procesul de construcție
Procesul de construcție
Procesul de construcție
Procesul de construcție

Șasiul auto este foarte ușor de asamblat; are 2 motoare 6V care alimentează roțile din spate și un pachet de 4 baterii.

Mașina Robot este controlată prin Bluetooth și Wi-Fi. Bluetooth controlează comunicațiile seriale între aplicația Mașină și aplicația MIT inventor2 și Wi-Fi este utilizat pentru a comunica cu camera (telefonul mobil vechi) instalat în fața mașinii.

Pentru acest proiect, am folosit două seturi de baterii: arduino este alimentat de o baterie de 9V și motoarele auto de 6V (patru baterii AA de 1,5V).

Arduino Nano este creierul acestui proiect care controlează mașina, buzzer-ul, senzorul de gamă cu ultrasunete HC-SR04, Bluetooth HC-05, scanerul Larson (ATtiny85) și monitorizează bateriile. Bateria de 9V merge la Vin (pinul 30), iar pinul Arduino 27 oferă o putere reglată de 5V la panoul de măsurare. Trebuie să legați toate terenurile de toate IC-urile și bateriile.

Atașat, schema circuitului a fost realizată în Excel (Îmi pare rău … data viitoare voi încerca Fritzing). Am conectat totul folosind conectori de sârmă și masculi la masculi, al meu arată ca un cuib de șobolani.

Pasul 3: Driver motor L293D

Driver motor L293D
Driver motor L293D
Driver motor L293D
Driver motor L293D

L293D este un driver cvadruplu de jumătate de H de mare curent conceput pentru a furniza curenți de acționare bidirecționali de până la 600 mA la tensiuni de 4,5V la 36V. Este folosit pentru a conduce roțile mașinii.

Este alimentat de un acumulator de 6V (patru 1,5V AA) pentru motoare și folosește 5V pentru logica care vine de la 5V reglementat (pinul 27) în Arduino Nano. Conexiunile sunt prezentate în schema atașată.

Nu a fost nevoie să-l instalați într-un radiator.

Pasul 4: Bluetooth HC-05

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth este alimentat de 5V (pinul arduino 27), dar este important să înțelegem că nivelul logic este de 3,3V, adică comunicațiile (Tx și Rx) cu 3,3V. De aceea, Rx trebuie configurat cu maxim 3,3V, care poate fi realizat cu un convertor de nivel sau, ca în acest caz, cu un divizor de tensiune utilizând rezistențe 1K și 2K așa cum se vede în circuit.

Pasul 5: Monitorul bateriei

Pentru a monitoriza nivelurile bateriei, am setat divizoare de tensiune pentru a aduce nivelurile de tensiune sub 5V (gama maximă Arduino). Divizorul de tensiune scade tensiunea măsurată în intervalul intrărilor analogice Arduino.

Se utilizează intrările analogice A4 și A6 și se utilizează rezistențe înalte (100K ohmi) pentru a nu descărca prea mult bateriile în procesul de măsurare. Trebuie să facem compromisuri, în cazul în care rezistențele sunt prea mici (10K ohmi), efectul de încărcare este mai redus, citirea tensiunii este mai precisă, dar desenul este mai curent; dacă sunt prea mari (1M ohmi), efect de încărcare mai mare, citirea tensiunii este mai puțin precisă, dar desenul curent mai mic.

Monitorizarea bateriei se face la fiecare 10 secunde și este afișată direct în telefonul mobil al controlerului.

Sunt sigur că există o mulțime de spațiu de îmbunătățit în această parte, deoarece citesc de pe doi pini analogici, iar MUX-ul intern se schimbă între ele. Nu fac o medie de măsurători multiple și poate că asta ar trebui să fac.

Permiteți-mi să explic următoarea formulă:

// Citiți tensiunea de la pinul analogic A4 și efectuați calibrarea pentru Arduino:

tensiune1 = (analogRead (A4) * 5.0 / 1024.0) * 2.0; //8,0V

Placa nano Arduino conține convertor analogic digital pe 8 biți pe 10 canale. Funcția analogRead () returnează un număr între 0 și 1023 care este proporțional cu cantitatea de tensiune aplicată pinului. Aceasta produce o rezoluție între citiri de: 5 volți / 1024 unități sau, 0,0049 volți (4,9 mV) pe unitate.

Divizorul de tensiune înjumătățește tensiunea și, pentru a obține tensiunea reală, trebuie să se înmulțească cu 2 !!

IMPORTANT: Sunt sigur că există un mod mai eficient de a alimenta un arduino decât modul în care îl fac !! Ca începător, am învățat calea grea. Pinul Arduino Vin folosește un regulator de tensiune liniar, ceea ce înseamnă că, cu o baterie de 9V, veți arde o mare parte din putere în regulatorul liniar în sine! Nu e bine. Am făcut-o așa pentru că a fost rapid și doar pentru că nu știam mai bine … dar fii sigur că în Robo Frankie versiunea 2.0 o voi face cu siguranță diferit.

Mă gândesc (cu voce tare) că o sursă de alimentare cu comutare DC DC Step Up și o baterie reîncărcabilă Li-ion ar putea fi o modalitate mai bună. Sugestia voastră bună va fi mai mult decât binevenită …

Pasul 6: senzor de gamă cu ultrasunete HC-SR04

HC-SR04 Senzor cu ultrasunete
HC-SR04 Senzor cu ultrasunete

HC-SR04 este un senzor cu ultrasunete. Acest senzor oferă măsurători de la 2cm la 400cm cu o precizie de până la 3mm. În acest proiect, este folosit pentru a evita obstacolele când atinge 20 cm sau mai puțin și, de asemenea, pentru a măsura distanța față de orice obiect, care este trimis înapoi la telefonul dvs. mobil.

Există un buton pe ecranul telefonului mobil pe care trebuie să faceți clic pentru a solicita distanța față de un obiect din apropiere.

Pasul 7: Larson Scanner

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

Am vrut să includ ceva distractiv, așa că am inclus scanerul Larson care seamănă cu K. I. T. T. de la Knight Rider.

Pentru scanerul Larson am folosit ATtiny85 cu charlieplexing. Charlieplexing este o tehnică pentru conducerea unui afișaj multiplexat în care relativ puțini pini I / O pe un microcontroler sunt folosiți pentru a conduce o serie de LED-uri. Metoda folosește capacitățile logice tri-stare ale microcontrolerelor pentru a câștiga eficiență față de multiplexarea tradițională.

În acest caz, folosesc 3 pini de la ATtiny85 pentru a aprinde 6 LED-uri !!

Puteți aprinde LED-urile „X” cu N pini. Utilizați următoarea formulă pentru a obține câte LED-uri puteți conduce:

X = N (N-1) LED-uri cu N pini:

3 pini: 6 LED-uri;

4 pini: 12 LED-uri;

5 pini: 20 de LED-uri … ai idee;-)

Curentul curge de la pozitiv (anod) la negativ (catod). Vârful săgeții este catod.

Este important să rețineți că pinul 1 (în codul IDE Arduino) se referă la pinul fizic 6 din ATtiny85 (vă rugăm să consultați pinout-ul atașat).

Atașat vă rugăm să găsiți codul care trebuie încărcat în ATtiny85 care controlează scanerul Larson. Nu descriu cum să încărcați un cod în ATtiny85, deoarece există o mulțime de instrumente care fac asta ca acesta.

Pasul 8: Cod

Cod
Cod

Atașez codul care trebuie încărcat în ATtiny85 care controlează scanerul Larson și codul pentru nano Arduino.

În ceea ce privește Arduino nano, am folosit o parte din codurile de la alte instrumente instructabile (aici) și am făcut modificări pentru a se potrivi nevoilor mele. Am inclus o diagramă de flux (de asemenea, în cuvânt pentru o imagine mai clară) a codului pentru a înțelege mai bine cum funcționează Switch-Case.

Important: Pentru a încărca codul CarBluetooth în Arduino nano, trebuie să deconectați Rx și Tx de la modulul HC-05 Bluetooth!

Pasul 9: Camera

aparat foto
aparat foto
aparat foto
aparat foto

Aplicația Cameră IP trebuie descărcată din Play Store și instalată în vechiul telefon mobil. Verificați preferințele video, reglați rezoluția în consecință și, în cele din urmă, mergeți la ultima comandă „Start server” pentru a începe transmisia. Nu uitați să activați Wi-Fi în telefonul mobil !!

Pasul 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 este un instrument bazat pe cloud care vă ajută să creați aplicații în browserul dvs. web. Această aplicație (numai pentru celulele bazate pe Android) poate fi apoi încărcată în celula dvs. și poate controla mașina robotică.

Atașez codul.apk și.aia, astfel încât să puteți vedea ce am făcut și să îl puteți modifica după cum doriți. Am folosit un cod de pe internet (aplicația MIT) și am făcut propriile modificări. Acest cod controlează mișcarea mașinii robot, primește semnal de la senzorul cu ultrasunete, aprinde luminile și emite un semnal sonor. De asemenea, primește semnal de la baterii care ne anunță nivelul de tensiune.

Cu acest cod vom putea primi două semnale diferite de la mașină: 1) distanță față de un obiect din apropiere și 2) tensiune de la bateriile motorului și arduino.

Pentru a identifica șirul serial primit, am inclus un steag în codul Arduino care specifică tipul șirului trimis. Dacă Arduino trimite distanța măsurată de la senzorul cu ultrasunete, atunci trimite un caracter „A” în fața șirului. Ori de câte ori Arduino trimite nivelurile bateriei, acesta trimite un semnalizator cu un caracter „B”. În codul inventator2 al aplicației MIT, am analizat șirul serial provenit de la Arduino și am verificat dacă există aceste steaguri. După cum am spus, sunt un începător și sunt sigur că există modalități mai eficiente de a face acest lucru și sper că cineva mă poate lumina într-un mod mai bun.

Trimiteți Arduino_Bluetooth_Car.apk pe telefonul dvs. mobil (prin e-mail sau Google Drive) și instalați-l.

Pasul 11: Conectați-vă telefonul mobil la mașina dvs. RC

Conectați-vă telefonul mobil la mașina dvs. RC
Conectați-vă telefonul mobil la mașina dvs. RC
Conectați-vă telefonul mobil la mașina dvs. RC
Conectați-vă telefonul mobil la mașina dvs. RC

În primul rând, porniți wi-fi-ul pe telefonul mobil vechi (cel din robotul RC).

În telefonul mobil al controlerului porniți wi-fi-ul, Bluetooth și deschideți Arduino_Bluetooth_Car.apk pe care tocmai l-ați instalat. La sfârșitul ecranului (derulați în jos dacă nu îl puteți vedea) veți vedea două butoane: Dispozitive și CONECTARE. Faceți clic pe Dispozitive și selectați Bluetooth din mașina dvs. RC (ar trebui să fie ceva HC 05), apoi faceți clic pe CONECTARE și ar trebui să vedeți mesajul CONECTAT în partea din stânga jos a ecranului. Prima dată vi se va cere o parolă (introduceți 0000 sau 1234).

Există o casetă în care trebuie să tastați adresa IP a vechii dvs. celule (telefonul mobil care se află în mașina dvs. RC), în cazul meu este

Acest număr IP poate fi detectat în routerul Wi-Fi. Trebuie să intrați în configurația routerului, să selectați Lista dispozitivelor (sau așa ceva în funcție de marca routerului) și ar trebui să puteți vedea vechiul dispozitiv celular, să faceți clic pe el și să introduceți acest număr IP în această casetă.

Apoi selectați CAMERA și ar trebui să începeți să vizualizați camera streaming de pe mașina dvs. RC.

Pasul 12: Ești gata

Esti gata!
Esti gata!

Esti gata! Începeți să vă jucați cu el

Schimbări viitoare: Voi schimba bateria de 9V cu bateriile Li-ion pentru a le reîncărca și pentru a folosi un regulator de tensiune DC-DC step up, de asemenea, vreau să îmbunătățesc monitorul bateriei, incluzând netezirea (medierea) citirilor analogice. Nu intenționați să includeți A. I. inca …;-)

Am participat la primul meu concurs instructabil … așa că vă rugăm să votați;-)

Recomandat: