- Konsepti:
- Tarvittavat materiaalit:
- Kaaviot ja laitteistot:
- Ohjelma Arduinolle:
- Käsittelyohjelma:
- Työskentely:
Tämä on erittäin mielenkiintoinen projekti, jossa aiomme oppia toteuttamaan virtuaalitodellisuuden Arduinon ja prosessoinnin avulla. Suurimmalle osalle meistä Jon Favreaun elokuva Iron man on aina ollut inspiraatio rakentaa uusia asioita, jotka tekevät elämästämme helppoa ja hauskempaa. Olen henkilökohtaisesti ihaillut elokuvassa esitettyjä tekniikoita ja olen aina halunnut rakentaa jotain vastaavaa. Joten tässä projektissa olen yrittänyt jäljitellä elokuvassa esiintyviä virtuaalitodellisuustietoja, kuten voimme yksinkertaisesti heiluttaa kätemme tietokoneen edessä ja siirtää osoittimen haluttuun paikkaan ja suorittaa joitain tehtäviä.
Tässä näytän sinulle, kuinka voit yksinkertaisesti heiluttaa kätesi verkkokameran edessä ja piirtää jotain tietokoneellesi. Näytän myös, kuinka voit vaihtaa valoja käytännössä liikuttamalla kättäsi ja napsauttamalla sormillasi ilmassa.
Konsepti:
Tämän saavuttamiseksi meidän on hyödynnettävä Arduinon ja Processingin yhdistettyä voimaa. Suurin osa tuntisi Arduinon, mutta käsittely saattaa olla sinulle uutta. Käsittely on sovellus kuten Arduino, ja se on myös avoimen lähdekoodin ja ilmainen ladata. Käsittelyn avulla voit luoda yksinkertaisia järjestelmäsovelluksia, Android-sovelluksia ja paljon muuta. Se pystyy myös suorittamaan kuvankäsittelyn ja äänentunnistuksen. Se on aivan kuten Arduino, ja se on paljon helppo oppia, mutta älä huoli, jos olet täysin uusi käsittelyssä, koska olen kirjoittanut tämän opetusohjelman melko yksinkertaiseksi, jotta kuka tahansa kiinnostunut voi saada tämän toimimaan hetkessä.
Tässä opetusohjelmassa luodaan Processing yksinkertaisen järjestelmäsovelluksen luomiseksi, joka tarjoaa käyttöliittymän ja seuraa kätemme asemaa kuvankäsittelyllä. Nyt meidän on tehtävä vasen ja oikea napsautus sormillamme. Tämän toteuttamiseksi olen käyttänyt kahta sali-anturia (toista etusormessani ja toista keskisormessani), jotka Arduino Nano lukee. Arduino välittää napsautustilan myös tietokoneelle langattomasti Bluetoothin kautta.
Se saattaa kuulostaa monimutkaiselta, mutta luota minuun; se ei ole niin vaikeaa kuin miltä se kuulostaa. Katsokaamme siis tämän projektin käynnistämiseen tarvittavia materiaaleja.
Tarvittavat materiaalit:
- Arduino Nano
- Hall-anturi (A3144) - 2Nos
- Pieni pala magneettia
- Bluetooth-moduuli (HC-05 / HC-06)
- 9 V: n akku
- Johtojen liittäminen Dot-kortti.
- Hanskat
- Arduino IDE (ohjelmisto)
- IDE: n (ohjelmisto) käsittely
- Tietokone, jossa on verkkokamera ja Bluetooth (voit käyttää myös ulkoista Bluetoothia tai verkkokameraa tietokoneellesi)
Kaaviot ja laitteistot:
Tämän projektin laitteisto-osa on hyvin yksinkertainen ja helppo rakentaa. Täydellinen kaavio on esitetty alla.
Arduino, vastukset ja berg-tikkutapit on juotettu pistekortille alla olevan kuvan mukaisesti.
Hall-anturi ja Bluetooth-moduuli on juotettu liitosjohtoon alla olevan kuvan mukaisesti.
Kun nämä kaksi osaa ovat valmiit, se voidaan koota käsineisiin, jotta niitä on helppo käyttää. Olen käyttänyt kertakäyttöisiä muovikäsineitä, jotka voi ostaa mistä tahansa lähellä olevasta lääketieteellisestä liikkeestä. Varmista, että magneetti tulee peukalosormellesi ja hall-anturin 1 ja hall-anturin 2 tulee olla etusormen ja keskisormen edessä. Olen kiinnittänyt komponentit paikoilleen ankka-teipillä. Kun komponentit on koottu, sen pitäisi näyttää tältä.
Avaa nyt Arduino IDE ja aloita ohjelmointi.
Ohjelma Arduinolle:
Tämän Arduino-koodin tarkoituksena on lukea hall-anturin tila ja lähettää se Bluetooth-moduulin avulla. Sen pitäisi myös vastaanottaa tietoja Bluetoothista ja vaihtaa ajoneuvon LED-valoa tulevan arvon perusteella. Koko ohjelma on tämän opetusohjelman lopussa; Olen myös selittänyt muutama rivi alla.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Tarkista, painetaanko uusia näppäimiä {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); if (HallState_1 == HIGH && HallState_2 == LOW) Aisha.write (2); if (HallState_1 == LOW && HallState_2 == KORKEA) Aisha.write (3); if (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
Kuten yllä olevilla riveillä on esitetty hall-anturin tilan perusteella, Bluetooth kirjoittaa tietyn arvon. Esimerkiksi, jos hall-anturi 1 on korkea ja hall-anturi 2 on matala, lähetämme venttiilin “2” Bluetooth-moduulin kautta. Muista kirjoittaa arvot BT-moduuliin äläkä tulosta niitä. Koska ainoa käsittelyn puoli on helppo lukea vain, jos ne on kirjoitettu. Myös arvo lähetetään vain, jos se ei ole sama kuin edellinen arvo.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Näitä viivoja käytetään vaihtamaan sisäänrakennettu LED, joka on kytketty nastaan 13 BT-moduulin vastaanottaman arvon perusteella. Esimerkiksi jos moduuli saa y: n, LED syttyy ja jos se saa n: n, se sammutetaan.
Käsittelyohjelma:
Processing-ohjelman tarkoituksena on luoda järjestelmäsovellus, joka voi toimia käyttöliittymänä (User Interface) ja suorittaa myös kuvankäsittelyn tietyn objektin seuraamiseksi. Tässä tapauksessa seuraamme sinistä esinettä, jonka kiinnitimme käsineisiimme yllä. Ohjelmassa on periaatteessa neljä näyttöä.
- Kalibrointinäyttö
- Päänäyttö
- Maalataulu
- LED-vaihtonäyttö
Voimme navigoida yhdestä näytöstä toiseen yksinkertaisesti heiluttamalla käsiämme ja vetämällä näyttöjä ilmassa. Voimme myös napsauttaa haluamiasi paikkoja vaihtaaksesi LEDiä tai jopa piirtää jotain näytölle.
Voit kopioida koko käsittelyohjelman (annettu lopussa) ja muokata sitä luovuutesi perusteella tai ladata yksinkertaisesti EXE-tiedostot täältä ja käynnistää sovellus noudattamalla seuraavia ohjeita.
- Asenna JAVA tietokoneellesi, ellet ole asentanut sitä aiemmin
- Asenna You Cam perfect tietokoneellesi
- Käynnistä Arduino ja yhdistä tietokone Bluetooth-moduulin kanssa
- Käynnistä sovellustiedosto
Jos kaikki menee hyvin, sinun pitäisi pystyä huomaamaan, että Bluetooth-moduulin LED-valo vakiintuu ja verkkokameravalo syttyy. Jos sinulla on ongelmia, tavoita minut kommenttiosion kautta ja autan sinua.
Katso videon lopussa tietää, miten kalibroida sovelluksesi ja käyttää sitä.
Jos haluat muokata koodia ja rakentaa siihen lisää ominaisuuksia, voit käyttää seuraavia ohjelman oivalluksia
Käsittely-IDE voidaan ladata täältä. Jos haluat oppia lisää käsittelystä ja luoda mielenkiintoisempia projekteja, voit käydä täällä olevissa opetusohjelmissa.
Käsittelyllä on kyky lukea sarjatietoja, tässä ohjelmassa sarjatiedot tulevat Bluetooth COM -portista. Sinun on valittava, mihin COM-porttiin Bluetooth on yhteydessä, käyttämällä tätä alla olevaa riviä
portti = uusi sarja (tämä, Serial.list (), 9600);
Tässä olen valinnut minun 1 kpl COM-portti, joka on COM5 minun tapauksessani (katso kuva alla) ja olen maininnut, että Bluetooth-moduuli kulkee 9600 baudrate.
Kuten aiemmin mainittiin, on myös kyky tehdä kuvankäsittely, tässä opetusohjelmassa kuvat lähetetään luonnoksen sisään verkkokameralla. Kussakin kuvassa seuraamme tiettyä objektia. Lisätietoja tästä voit käydä tässä opetusohjelmassa.
Olen yrittänyt parhaani mukaan selittää ohjelmaa (annettu lopussa) kommenttiriveillä. Voit ladata tiedostot täältä.
Jos haluat tietää enemmän luonnoksesta, voit tavoittaa minut kommenttiosion kautta ja autan sinua.
Työskentely:
Kun laitteisto ja ohjelmisto ovat valmiita, käytä käsineitä ja valmistaudu toimintaan. Nyt yksinkertaisesti virtaa Arduino ja käynnistä sitten sovellus. Bluetooth-moduulin ledin pitäisi mennä vakaana. Nyt se tarkoittaa, että järjestelmäsovelluksesi on luonut Bluetooth-yhteyden Arduinoon.
Saat seuraavan näytön, jossa sinun on valittava seurattava kohde. Tämä jäljitys voidaan tehdä yksinkertaisesti napsauttamalla kohdetta. Tässä tapauksessa esine on sininen levy. Nyt voit siirtää objektiasi ja huomata, että osoitin seuraa kohdetta. Käytä ainutlaatuisia värikohteita ja valoisaa huonetta saadaksesi parhaat tulokset.
Kosketa nyt peukalosormeasi etusormella ja sinun pitäisi nähdä viesti "Näppäin 1 painettuna" ja kun painat peukaloa keskisormella, sinun pitäisi nähdä "Näppäin 2 painettu", mikä tarkoittaa, että kaikki toimii hyvin ja kalibrointi on ohi. Napsauta nyt Valmis-painiketta.
Kun Valmis-painiketta painetaan, sinut ohjataan päänäyttöön, jossa voit maalata ilmassa tai vaihtaa Arduino-levyn LEDiä alla olevan videon mukaisesti.