Sisukord:

Virtuaalne grafiti: 8 sammu
Virtuaalne grafiti: 8 sammu

Video: Virtuaalne grafiti: 8 sammu

Video: Virtuaalne grafiti: 8 sammu
Video: GANGSTAR VEGAS (КАЖДЫЙ ГАНГСТА, ДО ...) СУБТИТРЫ 2024, November
Anonim
Virtuaalne grafiti
Virtuaalne grafiti

Olen veebis näinud mõnda virtuaalset grafitisüsteemi, kuid ei leidnud selle tegemise kohta avaldatud teavet (kuigi vaadake viimast linkide lehte). Ma arvasin, et see oleks minu graffiti töötubade jaoks suurepärane, nii et tegin selle ise ja avaldasin siin kõik, mida vajate oma valmistamiseks! Omadused * kõik avatud lähtekoodiga ja riistvara, * maksumus <100 £, välja arvatud projektor ja arvuti, * tuvastab purgi otsiku rõhk ja kaugus ekraanilt, * mudelid värvivad liiga aeglaselt liikudes värvi! Märkused * see juhend on üsna kõrge, kuid palun andke mulle teada, kui olen millestki olulisest ilma jäänud, Kui kasutate seda teistes süsteemides, saatke palun oma juhised! Oskused, mida vajate * puidust tagumise projektsiooniekraani tegemiseks, * elektroonilised ahelad ja Atmel AVR mikrokontrollerite (või arduino) programmeerimine, * saate installida mõned raamatukogudes, et võimaldada töötlemist wiimote'iga rääkimiseks.

1. toiming: kuidas see toimib

Kuidas see töötab
Kuidas see töötab

* Pihustuspudelil on infrapuna LED, mis paistab läbi projektori ekraani ja mida näeb wiimote kaamera. * Wiimote saadab purgi X- ja Y-koordinaadid arvutisse bluetooth-raadiolingi kaudu. * Arvutis töötab lihtne maalimisprogramm, mis kasutab projektorit joonte joonistamiseks, kui joonistate purki. See hoolitseb ka wiimote kaamera kaardistamise eest ekraanile, kasutades 4 -punktilist kalibreerimissüsteemi. * Pihusti suudab tuvastada ka selle kauguse ekraanist ja düüsi rõhu: mida kaugemal olete, seda suurem on joonistatud täpp, mida tugevamalt düüsi vajutate, seda läbipaistmatumaks värvipunkt muutub.

2. samm: komponendid

Komponendid
Komponendid

Siin on kõik tükid, mida peate kokku saama:

* arvuti - peab olema umbes 1,4 Ghz, bluetooth ja usb -port, * töötlemiskeskkond, * virtualGraffiti tarkvara, laadige alla "arvuti seadistamise" etapist, * nintendo wiimote - ostke ebayst kasutatud käsi, * projektor - seda on vaja olge särav, kui kavatsete kasutada päeva jooksul või sees, kui tuled on sisse lülitatud, * tagumine projektsiooniekraan - tehke ennast, * virtuaalne pihustuspurk - tehke ennast, * virtuaalne pihustuspudeli vastuvõtja - tehke ise. Kulud * arduino purkide vastuvõtjale (sisseehitatud usb-> seeria) £ 21 * raadio rx/tx paar £ 9 * ehituspritsi osad

3. samm: tagumine projektsiooniekraan

Tagumine projektsiooniekraan
Tagumine projektsiooniekraan

Ekraan peab olema täpselt vajalikul määral nähtav! Kui see pole piisavalt läbipaistev, siis pilti ei näe ja infrapuna LED ei ole wiimote'i kaamerale nähtav. Kui see on liiga läbipaistev, jääb projektor pimedaks ja pilt pestakse välja. (Kuigi selle leevendamise viise leiate viimaselt lehelt).

Kasutasin lycrat, mis on veniv, et saaksin seda läbipaistvamaks venitada. Hetkel hoian seda pöidlahoidjatega kinni, aga õmblusmasina juurde pääsedes lõpetan takjapala. Tegin puidust raami töökoja ja puusepa abiga (aitäh Lou!) Mul oli vaja seda kokku variseda, et saaksin rattaga transportida. Kui teete selle kindla asukoha jaoks, on seda lihtsam teha. Lihtsalt tehke see 4: 3 kuvasuhtega ja piisavalt jäik, et püsti püsida. Olen avastanud, et inimesed kalduvad ekraanimaterjali üsna palju suruma, nii et see peab olema pisut karm.

4. samm: pihustuspurk

Pihustuspurk
Pihustuspurk
Pihustuspurk
Pihustuspurk

See on projekti kõige keerulisem osa ja selle lahendamiseks kulus kõige kauem aega. Hea uudis on see, et lõbusa süsteemi toimimiseks pole seda kõike vaja. Lihtsaim asi on lihtsalt lüliti, infrapuna -LEDi ja takistiga vooluahela hankimine. Lülitit vajutades süttib LED ja wiimote kaamera näeb ja jälgib seda.

See versioon on arenenum, kuna see mõõdab ka kaugust ekraanist ja düüsi survet. Mõlemad asjad on olulised, kui tegelete pihustusvärvimisega. Tahtsin teha koolitussüsteemi, seega oli oluline muuta süsteem võimalikult "reaalseks" (minu kulude piires). Ahel on üsna lihtne. Vaadake lisatud lülitusskeemi, et ise veenduda. Teil on vaja jootmise põhioskusi ja vooluahela veroboardile paigutamist. Samuti peaksite mikrokontrollerite programmeerimisega rahule jääma. Vooluahela loomine nullist vs arduino -plaadi valiku 1 kasutamine: kui soovite kasutada pihustuspurgis arduino -plaati. Kasutage arduinot sellisena, nagu see on, ja vähendage poole võrra raadio tx edastuskiirust spraycani koodis. valik 2: soovite raha säästa, kuid teil pole kaitsmete programmeerijat. Ehitage plaat ja kasutage 16MHz välist kristalli. Vähendage edastuskiirust poole võrra, nagu 1. valikus. 3. variant: soovite veelgi rohkem raha säästa ja teil on kaitsmeprogrammeerija. Ehita plaat, kuid jäta väline kristall välja. Kasutage kaitsmeprogrammeerijat, et seadistada atmel sisemist kella kasutama. Usun, et see DIY paralleelprogrammeerija võimaldab teil programmeerida kaitsmeid. Ma kasutan olimexi programmeerijat. Ülevaade vooluringist Mikrokontroller mõõdab terava 2d120x kaugusanduri (selle anduri kohta siin suurepärane teave) ja lineaarse potentsiomeetri väljundit. See mõõdab ka LED PWM potentsiomeetri väljundit. Seda kasutatakse LED -valgustugevuse reguleerimiseks. IR LED, mida ma kasutan, on 100 mA ja tipplainepikkus on 950 nm (ideaalne wiimote jaoks). Mikrokontroller kasutab PWM -i LED -i väga kiireks vilkumiseks. Kasutame IRF720 toiteallikat, et mikro ei põleks oma väljundit. Samuti tahtsin tulevikus lisada heledama LED -i võimsust. Olekutuled vilguvad iga kord, kui raadios edastatakse andmepaketti. Kui kõik töötab hästi, peaks see tuli vilkuma umbes 15 Hz juures. Lõpuks on raadiosaatja moodul kinnitatud mikrokontrolleri tihvti 3 (digitaalne tihvt 1 arduino jaoks) külge, et saaksime arvutisse saata teavet, mida me mõõdame. Samuti on vaja vastuvõtjaplaadile kinnitatud antenni. Kasutasin 12 cm pikkust traadi tükki. See on pool sellest, mida sellel suurepärasel infolehel soovitatakse. Mikrokontrolleri programmeerimine Pärast vooluringi ehitamist peate programmi üles laadima (lisatud). Ma kasutan arduino programmeerimiskeskkonda/raamatukogusid. Saate selle kompileerida arduino IDE abil ja seejärel programmeerida, nagu tavaliselt. Minu vooluahel on lihtsustatud, kasutades mikro sisemist 8MHz kella. Kui kasutate seda, peate kaitsme seaded kasutama sisemist 8MHz kalibreeritud RC -d: 1111 0010 = 0xf2 See tähendab, et teil peab olema programmeerija, kes oskab kaitsmeid kirjutada../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Kui teil sellist programmeerijat pole (ütle, et teil on lihtsalt arduino plaat), kasutage lihtsalt 16MHz kristalli tihvtide 9 ja 10 vahel ja see peaks kõik toimima (testimata - võib -olla vajate kondensaatorit). Samuti peate muutma programmi koodi nii, et saatja edastuskiirus oleks poole võrra väiksem. Testimine Kui olete kõik kokku kogunud ja programm laaditud, peate IR -valgusdioodi heledust reguleerima. Tahtsin lihtsalt valgustugevust maksimeerida ilma LED -i röstimata, nii et lõin mõned üles ja lõpuks sain umbes 120 mA tõmbe keskmise. Kui teil on multimeeter, saate seda üsna lihtsalt reguleerida, vastasel juhul seadistage potentsiomeeter üsna kõrgeks, kuid mitte lõpuni! Samuti saate kontrollida analoogsisendeid PWM reguleerimispotentsiomeetri tihvtidel 26, 27 ja 28, kaugusanduril ja düüsi potentsiomeetril. Kui teil on ulatus, saate kontrollida pulsirongi, mis väljub tihvtist 3 raadio TX -moodulisse. Kontrollige LED -i pwm -väljundit tihvtil 11. Saate kasutada mobiiltelefoni kaamerat (või enamikku CCD -kaameraid), et näha, et IR -LED lülitub sisse, kui vajutate düüsi nuppu.

5. samm: pihustuspudeli vastuvõtja

Pihustuspudeli vastuvõtja
Pihustuspudeli vastuvõtja
Pihustuspudeli vastuvõtja
Pihustuspudeli vastuvõtja

Kui lähete lihtsa pihustiga, siis pole seda natuke vaja.

Muidu kasutan ma lihtsalt arduino -tahvlit, raadiovastuvõtja on ühendatud tihvtiga 2. Nii on lihtne andmeid arvutisse saada arduino -tahvli USB -> jadakiibi kaudu. Kui ma teeksin kohandatud vooluringi, kasutaksin tõenäoliselt FTDI USB -> jada UART hindamiskilpi. Samuti on vaja vastuvõtjaplaadile kinnitatud antenni. Kasutasin 12 cm pikkust traadikoort. See on pool sellest, mida sellel suurepärasel infolehel soovitatakse. Laadige graffitiCanReader2.pde visand arduinosse. Kui purk on sisse lülitatud, peaksite nägema purgil oleku LED -e ja vastuvõtjaplaati kiiresti vilkuma. Iga kord, kui purgi LED -tuli vilgub, saadetakse andmepakett. Iga kord, kui vastuvõtjaplaadi LED vilgub, võetakse vastu kehtiv andmepakett. Kui te seda ei näe, on raadiosidemega midagi valesti. Midagi proovida on ühendada purgi TX vastuvõtja RX -ga juhtmestiku abil. Kui see ei tööta, on teil tõenäoliselt virtualwire'i andmeedastuskiirus mittevastav (vt koodi). Eeldades, et vastuvõtjaplaadil vilgub palju, peaksite saama seda oma USB -jadaportis jälgida. Kui jälgite jadapordi (tavaliselt /dev /ttyUSB0) 57600 juures, peaksite nägema andmeid, nagu näiteks Got: FF 02 Got: FF 03… Esimene number on rõhk ja teine kaugus. Nüüd saate käivitada töötlemise ja kasutada seda teavet ilusate piltide tegemiseks! Laadige lisatud töötlusvisand (canRadioReader.pde). Käivitage programm ja kontrollige programmi väljundit. Te peaksite saama sageduse (see ütleb teile, kui palju värskendusi sekundis vastuvõtja saab - kindlasti soovite, et see oleks vähemalt 10 Hz). Samuti saate mõõta kaugust ja düüse. Kontrollige purki, liigutades düüsi potentsiomeetrit ja liigutades kaarditükki kaugusanduri ette. Kui see kõik töötab, liikuge järgmise sammu juurde - valmistage arvuti ette wiimote'iga rääkimiseks!

6. samm: arvuti seadistamine: töötlemine ja Wiimote

Arvuti seadistamine: töötlemine ja Wiimote
Arvuti seadistamine: töötlemine ja Wiimote

Meie peamine eesmärk on saada wiimotega rääkimine. Need juhised on Linuxi jaoks spetsiifilised, kuid see kõik peaks töötama Macis ja Windowsis, uurides, kuidas wiimote'i andmeid töötlemiseks saada. Pärast töötlemise installimist leidsin foorumist mõned juhised, kuid mul oli siiski probleeme. Ma pidin tegema järgmist.

  1. installida töötlemine
  2. installige bluez teegid: sudo apt-get install bluez-utils libbluetooth-dev
  3. luua./processing/libraries/Loc ja./processing/libraries/wrj4P5
  4. Laadige alla bluecove-2.1.0.jar ja bluecove-gpl-2.1.0.jar ning sisestage./processing/libraries/wrj4P5/library/
  5. laadige alla wiiremoteJ v1.6 ja sisestage.jar faili./processing/libraries/wrj4P5/library/
  6. laadige alla wrj4P5.jar (ma kasutasin alfa-11) ja sisestage./processing/libraries/wrj4P5/library/
  7. laadige alla wrj4P5.zip ja pakkige lahti./processing/libraries/wrj4P5/lll/
  8. laadige alla Loc.jar (ma kasutasin beeta-5) ja pange./processing/libraries/Loc/library/
  9. laadige alla Loc.zip ja pakkige lahti./processing/libraries/Loc/lll/

Seejärel kasutasin nuppude ja anduriba toimimiseks Classiclllist inspireeritud koodi. Lisatud kood/visand tõmbab lihtsalt ringi, kust wiimote leiab 1. infrapunaallika.

Bluetoothi kontrollimiseks vajutage wiimote'i nuppe üks ja kaks, seejärel proovige terminalis $ hcitool skaneerida. Te peaksite nägema tuvastatud nintendo wiimote'i. Kui te seda ei tee, peate oma Bluetoothi seadistust lähemalt vaatama. Kui kõik on korras, laadige programm wiimote_sensor.pde (lisatud) ja käivitage see. Ekraani alumises olekuosas peaksite nägema: BlueCove versioon 2.1.0 Bluez'il, püüdes leida wii Vajutage wiimote nuppe 1 ja 2. Pärast selle avastamist lehvitage oma infrapunaallikat (pihustuspurki) selle ees. Teie liikumist jälgides peaksite nägema punast ringi! Enne jätkamist veenduge, et see töötab. Kui te ei saa seda tööle, otsige töötlemise foorumist.

Samm: seadistage see kõik üles

Selle seadistamine
Selle seadistamine

Laadige alla virtualGraffiti tarkvara. Tõmmake see oma visandiraamatu kataloogi ja järgige neid samme!

* lülitage pihustuspurk sisse, kontrollige olekut LED -tuli vilgub. * lülitage arvuti sisse, ühendage pihustuspudeli vastuvõtja, * seadistusekraan ja projektor, * kontrollige, kas pihustuspudeli vastuvõtja oleku LED vilgub, * alustage töötlemist ja laadige virtualGraffiti programm, * kontrollige, kas saate nii RX- kui ka TX -jadaindikaatorit LED -id vilguvad arduino -tahvlil, * vajutage wiimote'i mõlemat nuppu, * tehke küsimisel 4 -punktiline kalibreerimine (pange pihustuspudel kordamööda igale sihtmärgile, seejärel vajutage otsikut, kuni kiri läheb punaseks). * lõbutse hästi!

8. samm: ressursid, lingid, tänud, ideed

Lingid Siin on lingid, mis olid selle projekti toimimiseks hindamatud: RF info: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Töötlemine: www.processing.org Wii kasutamine töötlemisega: 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#Lainepikkuste 4 -punktiline kalibreerimine: https://www.zaunert.de/jochenz/wii/Aitäh! Kui paljud inimesed oma töid ei avaldaks, oleks see projekt olnud palju raskem ja kallim. Suur tänu kogu avatud lähtekoodiga meeskonnale, inimestele, kes häkkisid wiimote'i, Classiclllile, mis muutis wiimote'i töötlemisega hõlpsaks kasutamiseks, Jochen Zaunertile kalibreerimiskoodi jaoks, töötlemismeeskonnale, arduino meeskonnale, Loule puusepatöödele ja kõigile neile, kes uurivad, teevad ja seejärel avaldage oma leiud võrgus! Teiste inimeste süsteemid * Leidsin alles nüüd https://friispray.co.uk/ koos avatud lähtekoodiga tarkvara ja juhistega * see süsteem võimaldab kasutada šabloone: lahe! https://www.wiispray.com/, pole koodi ega juhiseid * yrwall virtuaalne grafiti süsteem, pole koodi ega juhiseid. Uurimisideed * kasutage 3D helitugevuse jälgimiseks kahte wiimote'i ja kaotage purgis olev kaugusandur: https://www.cl.cam.ac.uk/~sjeh3/wii/. See oleks hea, sest kaugusandur on praegu süsteemi nõrgim osa. See tähendaks ka seda, et saaksime erksamate piltide jaoks kasutada korralikku tagumist projektsiooniekraani. * kasutage pihustuspurgi nurga tuvastamiseks purgis olevat wiimote'i. See lisaks pihustusvärvi mudelile realismi.

Soovitan: