Turinys:

Virtualus grafiti: 8 žingsniai
Virtualus grafiti: 8 žingsniai

Video: Virtualus grafiti: 8 žingsniai

Video: Virtualus grafiti: 8 žingsniai
Video: Ужасы местного отеля. Комната из которой нет выхода. Полуночная Газета #9 2024, Liepa
Anonim
Virtualus grafiti
Virtualus grafiti

Internete mačiau keletą virtualių grafiti sistemų, bet neradau jokios paskelbtos informacijos apie tai, kaip ją sukurti (nors žr. Paskutinių nuorodų puslapį). Maniau, kad tai puikiai tiktų mano graffiti dirbtuvėms, todėl pats sukūriau ir čia paskelbiau viską, ko reikia, kad padarytumėte savo! Funkcijos * visas atviro kodo ir aparatinė įranga, * kainuoja <100 svarų sterlingų, neįskaitant projektoriaus ir kompiuterio, * aptinka skardinės antgalį slėgis ir atstumas nuo ekrano, * modeliai dažo, kad varva, jei judate per lėtai! Pastabos * šis nurodymas yra gana aukštas, tačiau praneškite man, jei praleidau kažką svarbaus, * skaičiavimo sąranka skirta „Linux“. Jei dirbate su kitomis sistemomis, rašykite savo instrukcijas! Įgūdžiai, kurių jums prireiks * medžio apdirbimas, norint pagaminti medinį galinį projekcinį ekraną, * elektroninės grandinės ir programavimas Atmel AVR mikrovaldikliai (arba arduino), * galėsite įdiegti kai kuriuos bibliotekos jūsų kompiuteryje, kad apdorojimas galėtų kalbėti su „wiimote“.

1 žingsnis: kaip tai veikia

Kaip tai veikia
Kaip tai veikia

* Purškimo skardinėje yra infraraudonųjų spindulių šviesos diodas, kuris šviečia pro projektoriaus ekraną ir yra matomas „wiimote“fotoaparato. * „Wi-Fi“siunčia skardinės X ir Y koordinates į kompiuterį per „Bluetooth“radijo ryšį. * Kompiuteryje vykdoma paprasta dažymo programa, kurios metu projektorius „piešia“linijas, kai piešiate skardine. Ji taip pat rūpinasi, kad „Wi -Fi“fotoaparatas būtų susietas su ekranu naudojant 4 taškų kalibravimo sistemą. * Purškiklis taip pat gali aptikti jo atstumą nuo ekrano ir purkštukų slėgį: kuo toliau, tuo didesnis taškas, tuo stipriau spaudžiate purkštuką, tuo matomesnis tampa dažų taškas.

2 žingsnis: komponentai

Komponentai
Komponentai

Čia yra visos dalys, kurių jums reikia norint susiburti:

* kompiuteris - turi būti apie 1,4 Ghz, „Bluetooth“ir USB prievadas, * apdorojimo aplinka, * virtualGraffiti programinė įranga, atsisiųskite iš „kompiuterio sąrankos“veiksmo, * „nintendo wiimote“- nusipirkite naudotą iš „ebay“, * projektorių - reikės būkite šviesūs, jei planuojate naudoti dieną ar viduje su įjungtomis lemputėmis, * galinis projekcinis ekranas - pasidarykite patys, * virtuali purškimo skardinė - pasidarykite patys, * virtualios purškimo skardinės imtuvas - pasidarykite patys. įmontuotas usb-> serijinis) £ 21 * radijo rx/tx pora £ 9 * pastato purškimo skardinės komponentai £ 18 plius papildomas korpusas £ 12 * papildomas gaubtas imtuvui £ 8 * „nintendo wiimote“- nusipirkite naudotą iš „ebay“£ 20

3 žingsnis: galinio projekcijos ekranas

Galinės projekcijos ekranas
Galinės projekcijos ekranas

Ekranas turi būti tinkamo matomumo! Jei jis nėra pakankamai skaidrus, vaizdas nebus matomas ir infraraudonųjų spindulių šviesos diodas nebus matomas „wiimote“fotoaparatui. Jei jis per skaidrus, projektorius apakins ir vaizdas bus išblukęs. (Nors paskutiniame puslapyje rasite būdų, kaip tai sušvelninti).

Aš naudojau likrą, kuri yra tampri, kad galėčiau ją ištempti, kad ji būtų skaidresnė. Šiuo metu aš jį laikau nykščiais, bet baigiu velcro, kai gaunu prieigą prie siuvimo mašinos. Padariau medinį rėmą padedamas dirbtuvių ir dailidės (ačiū Lou!) Man reikėjo, kad jis sugriūtų, kad galėčiau jį vežti dviračiu. Jei gaminsite fiksuotą vietą, tai bus lengviau padaryti. Tiesiog padarykite jį 4: 3 formato santykiu ir pakankamai standžiai, kad liktų vertikaliai. Aš pastebėjau, kad žmonės linkę šiek tiek stumti ekrano medžiagą, todėl ji turi būti šiek tiek nelygi.

4 žingsnis: purškimo skardinė

Purškimo skardinė
Purškimo skardinė
Purškimo skardinė
Purškimo skardinė

Tai yra sudėtingiausia projekto dalis, kuriai prireikė daugiausiai laiko. Geros naujienos yra tai, kad jums nereikia viso to, kad smagi sistema veiktų. Paprasčiausias dalykas yra tiesiog gauti grandinę su jungikliu, infraraudonųjų spindulių šviesos diodu ir rezistoriumi. Kai paspausite jungiklį, šviesos diodas užsidegs ir bus matomas bei stebimas „wiimote“fotoaparato.

Ši versija yra pažangesnė, nes ji taip pat matuoja atstumą nuo ekrano ir purkštukų slėgį. Abu šie dalykai yra svarbūs, kai iš tikrųjų dažote purškiant. Norėjau sukurti mokymo sistemą, todėl buvo svarbu, kad sistema būtų kuo „tikresnė“(neviršijant savo išlaidų ribų). Grandinė yra gana paprasta. Pažiūrėkite į pridėtą schemą ir įsitikinkite patys. Jums reikia pagrindinių litavimo įgūdžių ir sugebėti įdėti grandinę į „Veroboard“. Be to, turėtumėte jaustis patenkinti programuodami mikrovaldiklius. Sukurkite grandinę nuo nulio ir naudodami „arduino“plokštės 1 parinktį: jei norite naudoti „arduino“plokštę purškimo skardinėje. Naudokite „arduino“tokį, koks yra, ir perpus sumažinkite radijo „tx“duomenų perdavimo spartą „sprayycan“kode. 2 variantas: norite sutaupyti pinigų, bet neturite saugiklių programuotojo. Sukurkite plokštę ir naudokite 16MHz išorinį kristalą. Perpus sumažinkite duomenų perdavimo spartą, kaip nurodyta 1 variante. 3 variantas: norite sutaupyti dar daugiau pinigų ir turite saugiklių programuotoją. Sukurkite lentą, bet praleiskite išorinį kristalą. Naudokite saugiklių programuotoją, kad atmelė naudotų vidinį laikrodį. Manau, kad šis „pasidaryk pats“programuotojas leis programuoti saugiklius. Aš naudoju olimex programuotoją. Grandinės apžvalga Mikrokontroleris matuoja aštraus 2d120x atstumo jutiklio išvestį (puiki informacija apie šį jutiklį čia) ir linijinį potenciometrą. Jis taip pat matuoja LED PWM potenciometro išėjimą. Jis naudojamas LED šviesos srautui reguliuoti. Naudojamas IR šviesos diodas yra 100 mA, o didžiausias bangos ilgis yra 950 nm (idealiai tinka „wiimote“). Mikrovaldiklis naudoja PWM, kad labai greitai mirksėtų šviesos diodas. Mes naudojame „IRF720“galios „mosfet“, kad mikro nedegintų savo produkcijos. Taip pat norėjau ateityje padidinti ryškesnio šviesos diodo talpą. Yra būsenos šviesos diodas, kuris mirksi kiekvieną kartą, kai per radiją transliuojamas duomenų paketas. Jei viskas veikia gerai, ši lemputė turėtų mirksėti maždaug 15 Hz dažniu. Galiausiai radijo siųstuvo modulis yra prijungtas prie mikrovaldiklio 3 kaiščio (skaitmeninis 1 kaištis, skirtas arduino), kad galėtume nusiųsti matuojamą informaciją į kompiuterį. Jums taip pat reikia antenos, pritvirtintos prie imtuvo plokštės. Aš naudojau 12 cm ilgio vielos gabalėlį. Tai yra pusė to, kas rekomenduojama šiame puikiame informacijos puslapyje. Mikrovaldiklio programavimas Sukūrę grandinę, turėsite įkelti programą (pridedama). Aš naudoju arduino programavimo aplinką/bibliotekas. Galite tai kompiliuoti naudodami „arduino IDE“ir tada užprogramuoti, kaip paprastai darote. Mano grandinė yra paprastesnė naudojant vidinį 8MHz laikrodį. Jei naudosite tai, turėsite nustatyti saugiklių nustatymus, kad būtų naudojamas vidinis 8MHz kalibruotas RC: 1111 0010 = 0xf2 Tai reiškia, kad jums reikės programuotojo, galinčio rašyti saugiklius../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Jei neturite tokio programuotojo (tarkime, kad turite tik arduino) plokštę), tiesiog naudokite 16MHz kristalą tarp 9 ir 10 kaiščių ir viskas turėtų veikti (neišbandyta - jums gali prireikti kondensatoriaus). Taip pat turėsite modifikuoti programos kodą, kad siųstuvo bodas būtų sumažintas perpus. Testavimas Kai viską surinksite ir programa bus įkelta, turite sureguliuoti IR šviesos diodų ryškumą. Aš tiesiog norėjau maksimaliai padidinti šviesos srautą, neskrudindamas šviesos diodo, todėl kelis susprogdinau ir galiausiai pasiekiau apie 120 mA vidurkį. Jei turite multimetrą, tai galite lengvai sureguliuoti, kitaip tiesiog sureguliuokite potenciometrą, kad jis būtų gana aukštas, bet ne iki galo! Taip pat galite patikrinti analoginius įėjimus PWM reguliavimo potenciometro 26, 27 ir 28 kaiščiuose, atstumo jutiklyje ir purkštukų potenciometre. Jei turite apimtį, galite patikrinti impulsinį traukinį, išeinantį iš 3 kaiščio į radijo TX modulį. Patikrinkite šviesos diodo pwm išvestį ant 11 kaiščio. Galite naudoti mobiliojo telefono kamerą (arba daugumą CCD kamerų), kad pamatytumėte, kaip IR šviesos diodas įsijungia paspaudus purkštuko mygtuką.

5 žingsnis: purškimo balionėlio imtuvas

Purškimo skardinės imtuvas
Purškimo skardinės imtuvas
Purškimo skardinės imtuvas
Purškimo skardinės imtuvas

Jei naudojate paprastą purškimo purkštuką, jums to nereikia.

Priešingu atveju aš tiesiog naudoju arduino plokštę su radijo imtuvu, prijungtu prie kištuko 2. Tai leidžia lengvai gauti duomenis į kompiuterį per USB -> serijos lustą arduino plokštėje. Jei norėčiau sukurti pasirinktinę grandinę, tikriausiai naudočiau FTDI USB -> nuoseklią UART vertinimo plokštę. Jums taip pat reikia antenos, pritvirtintos prie imtuvo plokštės. Aš naudojau 12 cm ilgio vielos gabalėlį. Tai yra pusė to, kas rekomenduojama šiame puikios informacijos puslapyje. Įkelkite „grafitiCanReader2.pde“eskizą į arduino. Įjungę skardinę, turėtumėte matyti būsenos šviesos diodus ant skardinės ir imtuvo plokštę, greitai mirksinčią. Kiekvieną kartą, kai mirksi skardinės indikatorius, siunčiamas duomenų paketas. Kiekvieną kartą, kai ima mirksėti imtuvo plokštės šviesos diodas, gaunamas galiojantis duomenų paketas. Jei to nematote, radijo nuorodoje yra kažkas negerai. Reikėtų pabandyti prijungti skardinės TX prie imtuvo RX vielos gabalu. Jei tai nepadeda, tikriausiai „Virtualwire“duomenų perdavimo sparta neatitinka (žr. Kodą). Darant prielaidą, kad imtuvo plokštėje mirksi daug, turėtumėte turėti galimybę tai stebėti savo USB serijiniame prievade. Jei stebite 57600 serijos prievadą (paprastai /dev /ttyUSB0), turėtumėte matyti tokius duomenis kaip „Got: FF 02 Got: FF 03“… Pirmasis skaičius yra slėgis, o antrasis - atstumas. Dabar galite pradėti apdoroti ir naudoti šią informaciją, kad padarytumėte gražias nuotraukas! Įkelkite pridėtą apdorojimo eskizą (canRadioReader.pde). Paleiskite programą ir patikrinkite programos išvestį. Turėtumėte gauti dažnį (tai nurodo, kiek atnaujinimų per sekundę gauna imtuvas - jūs tikrai norite, kad tai būtų bent 10 Hz). Taip pat galite išmatuoti atstumą ir purkštukus. Išbandykite skardinę judindami purkštukų potenciometrą ir priešais atstumo jutiklį perkeldami kortelės gabalėlį. Jei viskas veikia, pereikite prie kito žingsnio - paruoškite kompiuterį kalbėtis su „wiimote“!

6 veiksmas: kompiuterio sąranka: apdorojimas ir „Wiimote“

Kompiuterio sąranka: apdorojimas ir „Wiimote“
Kompiuterio sąranka: apdorojimas ir „Wiimote“

Mūsų pagrindinis dalykas yra apdoroti pokalbį su „wiimote“. Šios instrukcijos yra skirtos „Linux“, tačiau visa tai turėtų veikti „Mac“ir „Windows“, atlikus tam tikrus tyrimus, kaip apdoroti „wiimote“duomenis. Įdiegęs apdorojimą, radau keletą instrukcijų forume, tačiau vis tiek turėjau problemų. Štai ką turėjau padaryti:

  1. įdiegti apdorojimą
  2. įdiegti „bluez“bibliotekas: sudo apt-get install bluez-utils libbluetooth-dev
  3. sukurti./processing/libraries/Loc ir./processing/libraries/wrj4P5
  4. atsisiųskite „bluecove-2.1.0.jar“ir „bluecove-gpl-2.1.0.jar“ir įdėkite į./processing/libraries/wrj4P5/library/
  5. atsisiųskite „wiiremoteJ“v1.6 ir įdėkite.jar į./processing/libraries/wrj4P5/library/
  6. atsisiųskite wrj4P5.jar (naudojau alfa-11) ir įdėkite į./processing/libraries/wrj4P5/library/
  7. atsisiųskite wrj4P5.zip ir išpakuokite į./processing/libraries/wrj4P5/lll/
  8. atsisiųskite „Loc.jar“(naudojau beta-5) ir įdėkite į./processing/libraries/Loc/library/
  9. atsisiųskite „Loc.zip“ir išpakuokite į./processing/libraries/Loc/lll/

Tada aš naudoju „Classicllll“įkvėptą kodą, kad mygtukai ir jutiklių juosta veiktų. Pridėtas kodas/eskizas tiesiog nupiešia apskritimą, kuriame „wiimote“randa pirmąjį infraraudonųjų spindulių šaltinį.

Norėdami patikrinti „Bluetooth“ryšį, paspauskite vieną ir antrą „wiimote“mygtuką, tada terminale išbandykite $ hcitool nuskaitymą. Turėtumėte pamatyti aptiktą „nintendo wiimote“. Jei to nepadarysite, turėsite atidžiau pažvelgti į „Bluetooth“sąranką. Jei viskas gerai, įkelkite programą wiimote_sensor.pde (pridedama) ir paleiskite ją. Apatinėje ekrano būsenos dalyje turėtumėte matyti: „BlueCove“2.1.0 versija „bluez“, bandanti rasti „wii“Paspauskite „wiimote“mygtukus 1 ir 2. Kai jis aptinkamas, pamojuokite priešais jį infraraudonųjų spindulių šaltinį (purškimo skardinę). Po judesio turėtumėte pamatyti raudoną apskritimą! Prieš tęsdami įsitikinkite, kad tai veikia. Jei nepavyksta, kad jis veiktų, ieškokite apdorojimo forume.

7 žingsnis: nustatykite viską

Viską nustatant
Viską nustatant

Atsisiųskite „virtualGraffiti“programinę įrangą žemiau. Ištraukite jį į eskizų knygos katalogą ir atlikite šiuos veiksmus!

* įjunkite purškimo skardinę, patikrinkite būseną LED lemputė mirksi. * įjunkite kompiuterį, prijunkite purškimo buteliuko imtuvą, * sąrankos ekraną ir projektorių, * patikrinkite, ar mirksi purškimo skardinės imtuvo būsenos šviesos diodas, * pradėkite apdoroti ir įkelkite „virtualGraffiti“programą, * patikrinkite, ar gaunate ir RX, ir TX serijos indikatorių. Šviesos diodai mirksi ant „arduino“plokštės, * paspauskite abu „Wi -Fi“mygtukus, * atlikite 4 taškų kalibravimą, kai būsite paraginti (paeiliui uždėkite purškimo balionėlį virš kiekvieno taikinio, tada spauskite antgalį, kol užrašas taps raudonas). * pasilinksmink!

8 žingsnis: ištekliai, nuorodos, ačiū, idėjos

Nuorodos Štai šios nuorodos, kurios buvo neįkainojamos, kad šis projektas veiktų: RF informacija: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Apdorojimas: www.processing.org „Wii“naudojimas apdorojant: https://processing.org/discourse/yabb2/YaBB.pl? num = 1186928645/15 Linux: www.ubuntu.org Wiimote: https://www.wiili.org/index.php/Wiimote, https:// wiki.wiimoteproject.com/IR_Sensor#Bangų ilgių 4 taškų kalibravimas: https://www.zaunert.de/jochenz/wii/Ačiū! Jei nebūtų daug žmonių, skelbiančių savo darbus, šis projektas būtų buvęs daug sunkesnis ir brangesnis. Didelis ačiū visai atvirojo kodo įgulai, žmonėms, kurie įsilaužė į „wiimote“, „Classiclll“, kad „wiimote“būtų lengva naudoti apdorojant, Jochenui Zaunertui už kodą kalibravimui, apdorojimo įgulai, „arduino“įgulai, Lou už dailidės pagalbą ir visiems tiems, kurie tyrinėja, daro ir tada paskelbti savo išvadas internete! Kitų žmonių sistemos * Aš ką tik radau https://friispray.co.uk/ su atvirojo kodo programine įranga ir instrukcija * ši sistema leidžia naudoti trafaretus: šaunu! https://www.wiispray.com/, be kodo ar kaip * yrwall virtualios grafiti sistemos, be kodo ar kaip. Tyrinėjimo idėjos * naudokite 2 „wiimotes“, kad atliktumėte 3D garsumo stebėjimą ir panaikintumėte atstumo jutiklį skardinėje: https://www.cl.cam.ac.uk/~sjeh3/wii/. Tai būtų gerai, nes atstumo jutiklis šiuo metu yra silpniausia sistemos dalis. Tai taip pat reikštų, kad galėdami naudoti ryškesnius vaizdus, galėtume naudoti tinkamą galinės projekcijos ekraną. * naudokite „wiimote“skardinėje, kad nustatytumėte purškimo skardinės kampą. Tai purškiamų dažų modeliui suteiktų tikroviškumo.

Rekomenduojamas: