Turinys:

Automobilis robotas su „Bluetooth“, fotoaparatu ir „MIT App Inventor“2: 12 žingsnių (su nuotraukomis)
Automobilis robotas su „Bluetooth“, fotoaparatu ir „MIT App Inventor“2: 12 žingsnių (su nuotraukomis)

Video: Automobilis robotas su „Bluetooth“, fotoaparatu ir „MIT App Inventor“2: 12 žingsnių (su nuotraukomis)

Video: Automobilis robotas su „Bluetooth“, fotoaparatu ir „MIT App Inventor“2: 12 žingsnių (su nuotraukomis)
Video: smartphone Bluetooth car #howto #car 2024, Gruodis
Anonim
Image
Image
Dalys ir programinė įranga
Dalys ir programinė įranga

Ar kada nors norėjote sukurti savo robotą automobilį? Na … tai tavo šansas !!

Šioje instrukcijoje aš jums pasakysiu, kaip sukurti robotinį automobilį, valdomą per „Bluetooth“ir „MIT App Inventor2“. Žinokite, kad esu naujokas ir kad tai yra mano pirmas nesusipratimas, todėl būkite švelnus savo komentaruose.

Yra daug nurodymų, tačiau šiame bandžiau prie „Android“programos suderinti daugybę funkcijų, tokių kaip: fotoaparato transliacija, kliūčių vengimas, ultragarso diapazono jutiklis, „Larson“skaitytuvas (su charlieplexing) ir akumuliatoriaus stebėjimas !!

Taigi, pradėkime ir susipažinkime su Frankie (jis naudoja idėjas iš daugelio vietų… tada Robo Frankenšteinas)

1 žingsnis: dalys ir programinė įranga

Dalys ir programinė įranga
Dalys ir programinė įranga
Dalys ir programinė įranga
Dalys ir programinė įranga

Čia, mano gimtajame mieste, sunku gauti visas dalis, todėl daugumą jų galėjau gauti iš www.aliexpress.com

Manau, kad projektas gali būti pastatytas už 25–30 USD, neatsižvelgiant į seną mobilųjį telefoną.

  • Automobilio važiuoklė: 3 ratai, 2 varikliai 6V (9 USD)
  • „Arduino Nano“(2 USD)
  • „Bluetooth“HC-05 (3–4 USD)
  • L293D variklio vairuotojas varomiesiems ratų varikliams (1,50 USD už 5 vienetų partiją)
  • Senas mobilusis telefonas su kamera ir „Wi-Fi“
  • Ultragarsinis jutiklis HC-SR04, skirtas matuoti netoliese esantį objektą (1 USD)
  • 6 šviesos diodai, skirti „Larson“skaitytuvui
  • ATtiny85 už Larsono skaitytuvą (1 USD)
  • Duonos lenta (1 USD)
  • Laidai
  • 100K omų rezistorius (4)
  • 1K omų rezistorius (2)
  • 2K omų rezistorius (1)
  • 270 omų rezistorius (3)
  • Garsinis signalas

Programinė įranga:

  • „Arduino IDE“
  • IP žiniatinklio kamera (seniems mobiliesiems „Android“)
  • „MIT App Inventor2“: ši programa yra puiki, bet veikia tik „Android“operacinei sistemai (nėra „iPhone“… atsiprašau!)

2 žingsnis: statybos procesas

Statybos procesas
Statybos procesas
Statybos procesas
Statybos procesas
Statybos procesas
Statybos procesas
Statybos procesas
Statybos procesas

Automobilio važiuoklę labai lengva surinkti; Jame yra 2 6V varikliai, kurie maitina galinius ratus, ir 4 baterijų paketas.

Automobilis „Robot“valdomas per „Bluetooth“ir „Wi-Fi“. „Bluetooth“valdo nuoseklųjį ryšį tarp automobilio ir „MIT App“išradėjo2, o „Wi-Fi“naudojamas bendrauti su fotoaparatu (senu mobiliuoju telefonu), sumontuotu priešais automobilį.

Šiam projektui naudojau du baterijų rinkinius: „arduino“maitina 9 V baterija, o automobilio varikliai - 6 V (keturios 1,5 V AA baterijos).

„Arduino Nano“yra šio projekto smegenys, valdančios automobilį, garsinį signalą, ultragarso diapazono jutiklį HC-SR04, „Bluetooth HC-05“, „Larson“skaitytuvą (ATtiny85) ir stebinčios baterijas. 9 V baterija eina į „Vin“(30 kaištis), o „Arduino“kaištis 27 suteikia 5 V reguliuojamą maitinimo šaltinį. Reikia susieti visus pagrindus iš visų IC ir baterijų.

Pridedama, schema padaryta „Excel“(atsiprašau…. Kitą kartą bandysiu „Fritzing“). Aš prijungiau viską, naudodamas duonos lentą ir patiną, prie vyrų laidų jungčių, mano atrodo kaip žiurkių lizdas.

3 žingsnis: L293D variklio tvarkyklė

L293D variklio tvarkyklė
L293D variklio tvarkyklė
L293D variklio tvarkyklė
L293D variklio tvarkyklė

L293D yra keturiskart didelės srovės pusės H tvarkyklė, sukurta tiekti dvipusę pavaros srovę iki 600 mA esant 4,5 V-36 V įtampai. Jis naudojamas vairuoti automobilio ratus.

Jį maitina variklių 6 V baterija (keturi 1,5 V AA) ir naudojama 5 V logika, gaunama iš reguliuojamo 5 V (27 kaiščio) „Arduino Nano“. Sujungimai parodyti pridedamoje schemoje.

Jo nereikėjo montuoti į radiatorių.

4 žingsnis: „HC-05“„Bluetooth“

„Bluetooth“„HC-05“
„Bluetooth“„HC-05“

„HC-05 Bluetooth“maitina 5 V („arduino“kaištis 27), tačiau svarbu suprasti, kad loginis lygis yra 3,3 V, ty ryšiai („Tx“ir „Rx“) su 3,3 V. Štai kodėl Rx turi būti sukonfigūruotas naudojant maksimalią 3,3 V įtampą, kurią galima pasiekti naudojant lygio keitiklį arba, kaip šiuo atveju, naudojant įtampos skirstytuvą, naudojant 1K ir 2K rezistorius, kaip parodyta grandinėje.

5 žingsnis: akumuliatoriaus monitorius

Norėdami stebėti akumuliatoriaus įkrovos lygį, nustatiau įtampos skirstytuvus, kad įtampos lygis būtų mažesnis nei 5 V (maksimalus „Arduino“diapazonas). Įtampos daliklis sumažina matuojamą įtampą iki „Arduino“analoginių įėjimų diapazono.

Naudojami A4 ir A6 analoginiai įėjimai ir naudojami didieji rezistoriai (100K omų), kad matavimo metu baterijos neišsikrautų per daug. Turime eiti į kompromisą, jei rezistoriai yra per maži (10K omų), mažesnis apkrovos efektas, įtampos rodmenys yra tikslesni, tačiau daugiau srovės; jei jie yra per dideli (1 M omai), didesnis apkrovos efektas, įtampos rodmenys yra ne tokie tikslūs, bet mažiau srovės brėžinys.

Baterijos stebėjimas atliekamas kas 10 sekundžių ir rodomas tiesiai jūsų valdiklio mobiliajame telefone.

Esu tikras, kad šioje dalyje yra daug ką tobulinti, nes skaitau iš dviejų analoginių kaiščių, o vidinis MUX keičiasi. Aš nevertinu kelių matavimų vidurkio ir galbūt tai turėčiau daryti.

Leiskite paaiškinti šią formulę:

// Skaitykite įtampą iš analoginio kaiščio A4 ir atlikite „Arduino“kalibravimą:

įtampa1 = (analoginis skaitymas (A4)*5,0/1024,0)*2,0; //8.0V

„Arduino“nano plokštėje yra 8 kanalų 10 bitų analoginis-skaitmeninis keitiklis. Funkcija analogRead () grąžina skaičių nuo 0 iki 1023, kuris yra proporcingas kaiščiui taikomai įtampai. Tai duoda skiriamąją gebą tarp rodmenų: 5 voltai / 1024 vienetai arba 0,0049 voltai (4,9 mV) vienetui.

Įtampos daliklis perpus sumažina įtampą ir, norint gauti tikrąją įtampą, reikia padauginti iš 2 !!

SVARBU: Esu tikras, kad yra efektyvesnis būdas įjungti arduino, nei aš tai darau !! Kaip naujokas išmokau sunkaus kelio. „Arduino Vin“kaištis naudoja linijinį įtampos reguliatorių, o tai reiškia, kad su 9 V baterija sudeginsite didelę dalį paties linijinio reguliatoriaus galios! Negerai. Aš tai padariau taip, nes tai buvo greita ir tiesiog todėl, kad nežinojau geriau … bet būkite tikri, kad „Robo Frankie“2.0 versijoje aš tikrai tai padarysiu kitaip.

Aš galvoju (garsiai), kad nuolatinės srovės nuolatinės srovės perjungimo maitinimo šaltinis ir įkraunama ličio jonų baterija gali būti geresnis būdas. Jūsų malonus pasiūlymas bus daugiau nei laukiamas…

6 žingsnis: ultragarso diapazono jutiklis HC-SR04

Ultragarsinis diapazono jutiklis HC-SR04
Ultragarsinis diapazono jutiklis HC-SR04

HC-SR04 yra ultragarso diapazono jutiklis. Šis jutiklis leidžia matuoti nuo 2 cm iki 400 cm, o diapazono tikslumas - iki 3 mm. Šiame projekte jis naudojamas siekiant išvengti kliūčių, kai jis pasiekia 20 cm ar mažiau, taip pat matuoti atstumą iki bet kurio objekto, kuris siunčiamas atgal į jūsų mobilųjį telefoną.

Mobiliojo telefono ekrane yra mygtukas, kurį reikia spustelėti, kad būtų galima paprašyti atstumo iki netoliese esančio objekto.

7 žingsnis: „Larson“skaitytuvas

Larsono skaitytuvas
Larsono skaitytuvas
Larsono skaitytuvas
Larsono skaitytuvas
Larsono skaitytuvas
Larsono skaitytuvas

Norėjau įtraukti kažką įdomaus, todėl įtraukiau „Larson“skaitytuvą, panašų į K. I. T. T. iš „Knight Rider“.

„Larson“skaitytuvui naudojau „ATtiny85“su charlieplexing. „Charlieplexing“yra multipleksuoto ekrano valdymo technika, kurioje palyginti nedaug mikrovaldiklio įvesties/išvesties kaiščių naudojami įvairiems šviesos diodams valdyti. Šis metodas naudoja trijų valdiklių mikrovaldiklių logines galimybes, kad būtų efektyvesnis nei tradicinis multipleksavimas.

Šiuo atveju aš naudoju 3 kaiščius nuo ATtiny85, kad užsidegčiau 6 šviesos diodus !!

Galite uždegti „X“šviesos diodus su N kaiščiais. Norėdami sužinoti, kiek šviesos diodų galite vairuoti, naudokite šią formulę:

X = N (N-1) šviesos diodai su N kaiščiais:

3 kaiščiai: 6 šviesos diodai;

4 kaiščiai: 12 šviesos diodų;

5 kaiščiai: 20 šviesos diodų … jūs suprasite;-)

Srovė teka nuo teigiamo (anodo) iki neigiamo (katodo). Rodyklės galas yra katodas.

Svarbu pažymėti, kad 1 kaištis („Arduino IDE“kode) reiškia fizinį 6 kaištį „ATtiny85“(žr. Pridėtą kištuką).

Pridėtas rasite kodą, kurį reikia įkelti į „ATtiny85“, valdantį „Larson“skaitytuvą. Aš neaprašau, kaip įkelti kodą į „ATtiny85“, nes yra daug nurodymų, kurie tai daro kaip šis.

8 žingsnis: kodas

Kodas
Kodas

Pridedu kodą, kurį reikia įkelti į „ATtiny85“, valdantį „Larson“skaitytuvą, ir „Arduino nano“kodą.

Kalbant apie „Arduino nano“, aš panaudojau dalį kitų instrukcijų kodų (čia) ir padariau pakeitimų, kad atitiktų mano poreikius. Įtraukiau kodo schemą (taip pat ir žodžiu, kad vaizdas būtų aiškesnis), kad geriau suprastumėte, kaip veikia „Switch - Case“.

Svarbu: Norėdami įkelti „CarBluetooth“kodą į „Arduino nano“, turite atjungti Rx ir Tx nuo „HC-05“„Bluetooth“modulio!

9 žingsnis: fotoaparatas

Fotoaparatas
Fotoaparatas
Fotoaparatas
Fotoaparatas

„IP Webcam“programą reikia atsisiųsti iš „Play“parduotuvės ir įdiegti sename mobiliajame telefone. Patikrinkite vaizdo įrašo nuostatas, atitinkamai sureguliuokite skiriamąją gebą ir galiausiai pereikite prie paskutinės komandos „Pradėti serverį“, kad pradėtumėte perdavimą. Nepamirškite įjungti „Wi-Fi“mobiliajame telefone !!

10 veiksmas: „MIT App Inventor2“

„MIT App Inventor“2
„MIT App Inventor“2

„MIT App inventor2“yra debesų įrankis, padedantis kurti programas jūsų žiniatinklio naršyklėje. Šią programą (skirta tik „Android“mobiliesiems) galima įkelti į jūsų mobilųjį telefoną ir valdyti savo robotą automobilį.

Pridedu.apk ir.aia kodą, kad galėtumėte pamatyti, ką padariau, ir pakeisti, kaip norite. Aš naudoju kodą iš interneto („MIT App“) ir pats keičiu. Šis kodas kontroliuoja automobilio roboto judėjimą, gauna signalą iš ultragarso jutiklio, įjungia šviesas ir pypteli. Jis taip pat gauna signalą iš baterijų, informuodamas mus apie įtampos lygį.

Naudodami šį kodą iš automobilio galėsime priimti du skirtingus signalus: 1) atstumą iki netoliese esančio objekto ir 2) įtampą iš variklio ir arduino baterijų.

Norėdami identifikuoti gautą serijos eilutę, į „Arduino“kodą įtraukiau vėliavą, nurodančią siunčiamos eilutės tipą. Jei „Arduino“siunčia atstumą, išmatuotą iš ultragarso jutiklio, tada prieš eilutę jis siunčia „A“simbolį. Kai „Arduino“siunčia akumuliatoriaus įkrovos lygį, jis siunčia vėliavą su „B“simboliu. „MIT App inventors2“kode išanalizavau serijinę eilutę, gautą iš „Arduino“, ir patikrinau, ar nėra šių vėliavų. Kaip sakiau, esu naujokas ir esu tikras, kad yra efektyvesnių būdų tai padaryti, ir tikiuosi, kad kas nors gali mane geriau apšviesti.

Nusiųskite „Arduino_Bluetooth_Car.apk“į savo mobilųjį telefoną (el. Paštu arba „Google“diske) ir įdiekite.

11 veiksmas: prijunkite savo mobilųjį telefoną prie savo RC automobilio

Prijunkite savo mobilųjį telefoną prie savo RC automobilio
Prijunkite savo mobilųjį telefoną prie savo RC automobilio
Prijunkite savo mobilųjį telefoną prie savo RC automobilio
Prijunkite savo mobilųjį telefoną prie savo RC automobilio

Pirmiausia įjunkite „Wi-Fi“sename mobiliajame telefone (tą, kuris yra RC robote).

Valdiklio mobiliajame telefone įjunkite „Wi-Fi“, „Bluetooth“ir atidarykite ką tik įdiegtą „Arduino_Bluetooth_Car.apk“. Ekrano pabaigoje (slinkite žemyn, jei nematote) pamatysite du mygtukus: Įrenginiai ir CONNECT. Spustelėkite Įrenginiai ir iš „RC Car“pasirinkite „Bluetooth“(turėtų būti kažkas HC 05), tada spustelėkite CONNECT ir kairėje ekrano apačioje turėtumėte pamatyti pranešimą CONNECTED. Pirmą kartą jūsų bus paprašyta įvesti slaptažodį (įveskite 0000 arba 1234).

Yra langelis, kuriame reikia įvesti seno mobiliojo telefono (mobiliojo telefono, esančio jūsų RC automobilyje) IP adresą, mano atveju tai yra

Šį IP numerį galima aptikti „Wi-Fi“maršrutizatoriuje. Turite patekti į savo maršrutizatoriaus konfigūraciją, pasirinkti įrenginių sąrašą (arba kažką panašaus, priklausomai nuo jūsų maršrutizatoriaus prekės ženklo) ir turėtumėte matyti seną mobilųjį įrenginį, spustelėkite jį ir įveskite šį IP numerį į šį laukelį.

Tada pasirinkite CAMERA ir turėtumėte pradėti žiūrėti vaizdo transliaciją iš savo RC Car.

12 žingsnis: baigta

Su tavimi baigta!
Su tavimi baigta!

Su tavimi baigta! Pradėkite žaisti su juo

Būsimi pakeitimai: Aš pakeisiu 9 V bateriją su ličio jonų baterijomis, kad jas įkraučiau, ir naudoju nuolatinės srovės nuolatinės srovės įtampos reguliatorių, taip pat noriu patobulinti akumuliatoriaus monitorių, įtraukdamas analoginių rodmenų išlyginimą (vidurkį). Neplanuoja įtraukti A. I. dar …;-)

Aš dalyvavau savo pirmajame pamokomame konkurse … todėl prašau balsuoti;-)

Rekomenduojamas: