- Koncepcija:
- Reikalingos medžiagos:
- Schemos ir techninė įranga:
- „Arduino“ programa:
- Apdorojimo programa:
- Darbas:
Tai labai įdomus projektas, kurio metu mokysimės, kaip įgyvendinti virtualią realybę naudojant „Arduino“ ir „Processing“. Daugumai iš mūsų Jono Favreau filmas „Geležinis žmogus“ visada buvo įkvėpimas kurti naujus dalykus, kurie padarys mūsų gyvenimą lengvą ir linksmesnį. Aš asmeniškai žavėjausi filme rodomomis technikomis ir visada norėjau sukurti ką nors panašaus į tai. Taigi šiame projekte bandžiau imituoti virtualios realybės medžiagas, kurios vyksta filme, pavyzdžiui, mes galime tiesiog numoti ranka priešais kompiuterį ir perkelti rodyklę į norimą vietą ir atlikti kai kurias užduotis.
Čia aš jums parodysiu, kaip galite paprasčiausiai numoti ranka prieš internetinę kamerą ir nupiešti ką nors savo kompiuteryje. Aš taip pat jums parodysiu, kaip galite perjungti žibintus praktiškai judindami ranką ir spragtelėdami pirštais ore.
Koncepcija:
Kad tai įvyktų, turime pasinaudoti „ Arduino“ ir „Processing“ jėga kartu. Dauguma jų būtų susipažinę su „Arduino“, tačiau apdorojimas jums gali būti naujas. Apdorojimas yra programa kaip ir „Arduino“, ji taip pat yra atvirojo kodo ir nemokama atsisiųsti. Naudodami „Processing“ galite sukurti paprastas sistemos programas, „Android“ programas ir daug daugiau. Jis taip pat turi galimybę apdoroti vaizdus ir atpažinti balsą. Tai panašu į „Arduino“ ir ją yra labai lengva išmokti, tačiau nesijaudinkite, jei esate visiškai nauji apdoroję, nes aš parašiau šią pamoką gana paprasta, kad visi, kurie domisi, galėtų tai padaryti greitai.
Šioje pamokoje mes naudojame „Processing“, kad sukurtume paprastą sistemos programą, kuri suteikia mums vartotojo sąsają ir stebi rankos padėtį naudodama vaizdų apdorojimą. Dabar mes turime spustelėti kairįjį ir dešinįjį pelės klavišus, naudodami pirštus. Kad tai įvyktų, naudojau du salės jutiklius (vieną ant rodomojo, o kitą - ant vidurinio piršto), kuriuos skaitys „Arduino Nano“. „Arduino“ taip pat belaidžiu būdu per „Bluetooth“ perduoda paspaudimo būseną į kompiuterį.
Tai gali skambėti komplikuotai, bet, patikėk manimi; tai nėra taip sunku, kaip atrodo. Taigi pažvelkime į medžiagą, reikalingą šiam projektui pradėti ir vykdyti.
Reikalingos medžiagos:
- „Arduino Nano“
- „Hall“ jutiklis (A3144) - 2 Nr
- Mažas gabalėlis magneto
- „Bluetooth“ modulis (HC-05 / HC-06)
- 9 V akumuliatorius
- Laidų sujungimas Dot board.
- Pirštinių pora
- „Arduino IDE“ (programinė įranga)
- IDE apdorojimas (programinė įranga)
- Kompiuteris su interneto kamera ir „Bluetooth“ (kompiuteriui taip pat galite naudoti išorinę „Bluetooth“ arba internetinę kamerą)
Schemos ir techninė įranga:
Šio projekto techninė dalis yra labai paprasta ir lengvai pastatoma. Visa schema parodyta žemiau.
„Arduino“, rezistoriai ir bergo lazdelės kaiščiai yra sulituoti ant taškinės lentos, kaip parodyta žemiau.
Salės jutiklis ir „Bluetooth“ modulis yra prilituoti prie jungties laido, kaip parodyta žemiau.
Kai šios dvi dalys bus paruoštos, ją bus galima sumontuoti ant pirštinių, kad būtų lengva ją naudoti. Aš naudojau vienkartines plastikines pirštines, kurias galima įsigyti bet kurioje šalia jūsų esančioje medicinos parduotuvėje. Turėtumėte įsitikinti, kad magnetas yra ant jūsų nykščio piršto, o salės jutiklis 1 ir salės jutiklis 2 turėtų būti atitinkamai prieš rodomąjį ir vidurinį pirštus. Aš panaudojau ančių juostas, kad tvirtinčiau komponentus. Surinkus komponentus, jis turėtų atrodyti maždaug taip.
Dabar atidarykime „Arduino IDE“ ir pradėkime programuoti.
„Arduino“ programa:
Šio „Arduino“ kodo tikslas yra perskaityti salės jutiklio būseną ir transliuoti juos naudojant „Bluetooth“ modulį. Jis taip pat turėtų gauti duomenis iš „Bluetooth“ ir perjungti vidinį šviesos diodą pagal gaunamą vertę. Visa programa pateikiama šios pamokos pabaigoje; Aš taip pat paaiškinau kelias eilutes žemiau.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Patikrinkite, ar paspausti nauji klavišai {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); jei (HallState_1 == HIGH && HallState_2 == LOW) Aisha.write (2); if (HallState_1 == LOW && HallState_2 == HIGH) Aisha.write (3); jei (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
Kaip parodyta pirmiau pateiktose eilutėse, atsižvelgiant į salės jutiklio būseną, „Bluetooth“ įrašys tam tikrą vertę. Pavyzdžiui, jei salės jutiklis 1 yra aukštas, o salės jutiklis 2 yra žemas, tada „Bluetooth“ moduliu transliuosime sklendę „2“. Įsitikinkite, kad įrašėte reikšmes į BT modulį ir jų nespausdinate. Nes lengva bus perskaityti tik apdorojimo pusėje, tik jei jie parašyti. Taip pat vertė bus siunčiama tik tuo atveju, jei ji nebus tokia pati kaip ankstesnė.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Šios linijos naudojamos perjungti borto šviesos diodą, kuris yra prijungtas prie 13 kaiščio, atsižvelgiant į BT modulio gaunamą vertę. Pavyzdžiui, jei modulis gauna „y“, tada šviesos diodas įsijungia, o jei gauna „n“, jis išjungiamas.
Apdorojimo programa:
Apdorojimo programos tikslas yra sukurti sistemos programą, kuri galėtų veikti kaip vartotojo sąsaja (vartotojo sąsaja), taip pat atlikti vaizdo apdorojimą tam tikram objektui stebėti. Šiuo atveju mes sekame mėlyną daiktą, kurį priklijavome prie pirštinių aukščiau. Iš esmės programa turi keturis ekranus.
- Kalibravimo ekranas
- Pagrindinis ekranas
- Dažų ekranas
- LED perjungimo ekranas
Mes galime naršyti iš vieno ekrano į kitą paprasčiausiai mojuodami rankomis ir vilkdami ekranus ore. Mes taip pat galime spustelėti norimas vietas norėdami perjungti LED ar net nupiešti ką nors ekrane.
Galite nukopijuoti visą „Processing“ programą (pateiktą pabaigoje) ir modifikuoti ją pagal savo kūrybiškumą arba paprasčiausiai atsisiųskite EXE failus iš čia ir atlikite šiuos veiksmus, kad paleistumėte programą.
- Įdiekite JAVA į savo kompiuterį, jei dar neįdiegėte
- Įdiekite „You Cam“ puikiai savo kompiuteryje
- Įjunkite „Arduino“ ir suporuokite kompiuterį su „Bluetooth“ moduliu
- Paleiskite programos failą
Jei viskas gerai, turėtumėte pastebėti, kad „Bluetooth“ modulio šviesos diodas stabilizuojasi, o jūsų internetinė kamera įsijungia. Jei turite kokių nors problemų, susisiekite su manimi per komentarų skiltį ir aš jums padėsiu.
Pabaigoje žiūrėkite vaizdo įrašą, kad sužinotumėte, kaip sukalibruoti programą ir ją naudoti.
Jei norite modifikuoti kodą ir sukurti daugiau funkcijų, galite naudoti šias programos įžvalgas
Apdorojimo IDE galite atsisiųsti iš čia. Jei norite sužinoti daugiau apie apdorojimą ir sukurti įdomesnių projektų, galite apsilankyti pamokose čia.
Apdorojimas turi galimybę nuskaityti nuoseklius duomenis, šioje programoje nuoseklūs duomenys gaunami iš „Bluetooth“ COM prievado. Naudodamiesi šia žemiau esančia eilute, turite pasirinkti, prie kurio COM prievado prisijungia jūsų „Bluetooth“ ryšys
port = new Serial (tai, Serial.list (), 9600);
Čia aš pasirinkote mano 1 g COM prievadą, kuris yra COM5 mano atveju (žr paveikslėlį žemiau) ir minėjau, kad "Bluetooth" modulis veikia 9600 bodo.
Kaip minėta, ankstesnis apdorojimas taip pat turi galimybę apdoroti vaizdus, šioje pamokoje vaizdai siunčiami eskizo viduje naudojant interneto kamerą. Kiekviename vaizde stebime konkretų objektą. Norėdami sužinoti daugiau apie tai, galite apsilankyti šioje pamokoje.
Iš visų jėgų bandžiau paaiškinti programą (pateiktą pabaigoje) komentarų eilutėse. Failus galite atsisiųsti čia.
Jei norite sužinoti daugiau apie eskizą, galite susisiekti su manimi per komentarų skiltį ir aš jums padėsiu.
Darbas:
Kai aparatinė įranga ir programinė įranga bus paruošta, mūvėkite pirštines ir pasiruoškite atlikti veiksmus. Dabar tiesiog įjunkite „Arduino“ ir paleiskite programą. „Bluetooth“ modulio lemputė turėtų stabiliai veikti. Dabar tai reiškia, kad jūsų sistemos programa sukūrė „Bluetooth“ ryšį su „Arduino“.
Gausite šį ekraną, kuriame turėsite pasirinkti objektą, kurį norite sekti. Šį atsekimą galima paprasčiausiai atlikti spustelėjus objektą. Šiuo atveju objektas yra mėlynas diskas. Dabar galite perkelti savo objektą ir pastebėti, kad žymeklis seka jūsų objektą. Norėdami gauti geriausius rezultatus, naudokite unikalų spalvų objektą ir šviesų kambarį.
Dabar palieskite nykščiu pirštu rodomuoju pirštu ir turėtumėte pamatyti pranešimą „1 mygtukas paspaustas“, o kai paspausite nykštį viduriniu pirštu, turėtumėte pamatyti „2 mygtukas paspaustas“, tai rodo, kad viskas veikia gerai ir kalibravimas baigtas. Dabar spustelėkite mygtuką Atlikta.
Paspaudus mygtuką Atlikta, būsite nukreipti į pagrindinį ekraną, kuriame galėsite piešti ore arba perjungti „Arduino“ lentos šviesos diodą, kaip parodyta toliau pateiktame vaizdo įraše.