Cuprins:

Graffiti virtuali: 8 pași
Graffiti virtuali: 8 pași

Video: Graffiti virtuali: 8 pași

Video: Graffiti virtuali: 8 pași
Video: Reacting To Graffiti Cringe 8 2024, Iulie
Anonim
Graffiti virtuali
Graffiti virtuali

Am văzut câteva sisteme virtuale de graffiti pe web, dar nu am găsit nicio informație publicată despre cum să faci unul (deși vezi pagina finală a linkurilor). M-am gândit că ar fi grozav pentru atelierele mele de graffiti, așa că am creat unul singur și am publicat tot ce ai nevoie pentru a-ți crea propriile aici! Caracteristici * toate sursele deschise și hardware-ul, * costă <100 GBP, cu excepția proiectorului și computerului, * detectează duza can. presiunea și distanța față de ecran, * modelele vopsesc picurând dacă vă mișcați prea încet! Dacă îl faceți să funcționeze pe alte sisteme, vă rugăm să postați instrucțiunile dvs. Abilități de care aveți nevoie * prelucrarea lemnului pentru realizarea ecranului de proiecție din lemn, * circuite electronice și programarea microcontrolerelor Atmel AVR (sau arduino), * puteți instala unele biblioteci de pe computerul dvs. pentru a permite procesarea să vorbească cu wiimote.

Pasul 1: Cum funcționează

Cum functioneaza
Cum functioneaza

* Lada de pulverizare are un LED infraroșu care strălucește prin ecranul proiectorului și este văzut de camera wiimote. * Wiimote trimite coordonatele X și Y ale cutiei către computer printr-o conexiune radio bluetooth. * Computerul rulează un program simplu de pictură care folosește un proiector pentru a „picta” liniile pe măsură ce desenați cu cutia. De asemenea, se ocupă de maparea camerei wiimote pe ecran utilizând un sistem de calibrare în 4 puncte. * Spray-ul poate detecta, de asemenea, distanța față de ecran și presiunea duzei: cu cât ești mai departe, cu atât este mai mare punctul trasat, cu atât apeți mai tare duza, cu atât devine mai opac punctul de vopsea.

Pasul 2: Componentele

Componentele
Componentele

Iată toți biții de care aveți nevoie pentru a vă reuni:

* computer - trebuie să aibă aproximativ 1,4 Ghz, bluetooth și un port USB, * mediu de procesare, * software VirtualGraffiti, descărcare din pasul „configurare computer”, * nintendo wiimote - cumpărați mâna a doua de pe ebay, * proiector - va trebui să fii luminos dacă intenționezi să îl folosești în timpul zilei sau în interior, cu lumini aprinse, * ecran de proiecție spate - fă-ți, * spray virtual poate - fă-te, * receptor spray spray virtual - fă-te. Cost * arduino pentru receptor receptor (încorporat în USB-> serial) 21 GBP * pereche radio rx / tx 9 GBP * componente pentru clădire spray 18 GBP plus carcasă opțională 12 GBP * carcasă opțională pentru receptor 8 GBP * nintendo wiimote - cumpărați mâna a doua de pe eBay 20 GBP

Pasul 3: Ecran de proiecție spate

Ecran de proiecție spate
Ecran de proiecție spate

Ecranul trebuie să fie doar cantitatea potrivită de vizibilitate! Dacă nu este suficient de transparentă, imaginea nu va fi văzută și LED-ul infraroșu nu va fi vizibil pentru camera Wiimote. Dacă este prea transparent, proiectorul va orbi și imaginea va fi spălată. (Deși consultați ultima pagină pentru modalități de a atenua acest lucru).

Am folosit lycra, care este elastică, astfel încât să o pot întinde pentru a o face mai transparentă. În acest moment îl țin cu vârfurile degetului mare, dar absolv velcro când am acces la o mașină de cusut. Am realizat un cadru din lemn cu ajutorul unui atelier și al unui tâmplar (mulțumesc Lou!) Aveam nevoie să se prăbușească pentru a-l putea transporta pe bicicletă. Dacă faceți unul pentru un loc fix, atunci va fi mai ușor de realizat. Faceți-l doar la un raport de aspect 4: 3 și suficient de rigid pentru a rămâne în poziție verticală. Am descoperit că oamenii tind să împingă materialul de pe ecran un pic corect, așa că trebuie să fie puțin robust.

Pasul 4: Spray Can

Spray
Spray
Spray
Spray

Aceasta este cea mai complicată parte a proiectului și a durat cel mai mult timp pentru a avea dreptate. Vestea bună este că nu aveți nevoie de toate aceste lucruri pentru a face un sistem distractiv să funcționeze. Cel mai simplu lucru este doar să obții un circuit cu un comutator și un LED cu infraroșu și un rezistor. Când apăsați comutatorul, LED-ul se aprinde și este văzut și urmărit de camera Wiimote.

Această versiune este mai avansată, deoarece măsoară și distanța față de ecran și presiunea duzei. Ambele lucruri sunt importante atunci când vopsiți cu spray. Am vrut să fac un sistem de instruire, deci era important să fac sistemul cât mai „real” posibil (în limitele costurilor mele). Circuitul este destul de simplu. Aruncați o privire la schema circuitului atașat pentru a vedea personal. Aveți nevoie de abilități de bază de lipire și pentru a putea pune un circuit pe veroboard. De asemenea, ar trebui să vă simțiți fericit cu programarea microcontrolerelor. Construirea unui circuit de la zero față de utilizarea unei plăci arduino opțiunea 1: dacă doriți să utilizați o placă arduino în spray. Utilizați arduino așa cum este și reduceți la jumătate rata de transmisie a radio tx în codul spraycan. opțiunea 2: doriți să economisiți bani, dar nu aveți un programator de siguranțe. Construiți placa și utilizați un cristal extern de 16 MHz. Reduceți la jumătate rata de transmisie ca în opțiunea 1. opțiunea 3: doriți să economisiți și mai mulți bani și aveți un programator de siguranțe. Construiți placa, dar omiteți cristalul extern. Utilizați programatorul de siguranțe pentru a seta atmosfera să utilizeze ceasul său intern. Cred că acest programator paralel DIY vă va permite să programați siguranțe. Folosesc programatorul olimex. Prezentare generală a circuitului Microcontrolerul măsoară ieșirea de la senzorul de distanță ascuțit 2d120x (informații excelente despre acest senzor aici) și potențiometrul liniar. De asemenea, măsoară ieșirea potențiometrului LED PWM. Acesta este utilizat pentru a regla puterea de lumină a LED-ului. LED-ul IR pe care îl folosesc este de 100mA și lungimea de undă de vârf este de 950 nm (ideal pentru wiimote). Microcontrolerul folosește PWM pentru a aprinde LED-ul foarte rapid. Folosim un MOSF de alimentare IRF720, astfel încât micro să nu-și arde ieșirea. De asemenea, am vrut să adaug capacitate pentru un LED mai luminos în viitor. Există un LED de stare care clipește de fiecare dată când un pachet de date este difuzat la radio. Dacă totul funcționează bine, această lumină ar trebui să clipească la aproximativ 15Hz. În cele din urmă, modulul emițătorului radio este atașat la pinul 3 (pinul digital 1 pentru arduino) al microcontrolerului, astfel încât să putem trimite informațiile pe care le măsurăm la computer. Aveți, de asemenea, nevoie de o antenă atașată la placa receptorului. Am folosit o bucată de sârmă lungă de 12 cm. Aceasta este jumătate din ceea ce este recomandat pe această pagină de informații excelente. Programarea microcontrolerului După ce ați construit circuitul, va trebui să încărcați programul (atașat). Folosesc mediul de programare arduino / libaries. Puteți compila acest lucru cu IDE-ul arduino și apoi îl puteți programa așa cum faceți de obicei. Circuitul meu este simplificat prin utilizarea ceasului intern de 8 MHz al micro. Dacă utilizați acest lucru, va trebui să setați setările siguranței pentru a utiliza RC intern calibrat de 8 MHz: 1111 0010 = 0xf2 Aceasta înseamnă că va trebui să aveți un programator care poate scrie siguranțe../avrdude -C./avrdude.conf -V -p ATmega168 -P / dev / ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Dacă nu aveți acest tip de programator (spuneți că aveți doar arduino bord), utilizați doar un cristal de 16 MHz între pinii 9 și 10 și ar trebui să funcționeze (netestat - este posibil să aveți nevoie de un condensator). De asemenea, va trebui să modificați codul programului, astfel încât transmisia să fie redusă la jumătate. Am vrut doar să maximizez puterea de lumină fără să prăjesc LED-ul, așa că am suflat câțiva și am ajuns cu o medie de 120ma. Dacă aveți un multimetru, puteți regla acest lucru destul de ușor, altfel reglați doar potențiometrul pentru a fi destul de mare, dar nu până la capăt! De asemenea, puteți verifica intrările analogice de pe pinii 26, 27 și 28 ai potențiometrului de reglare PWM, senzorului de distanță și potențiometrului duzei. Dacă aveți un scop, puteți verifica trenul de impulsuri care iese din pinul 3 în modulul radio TX. Verificați ieșirea pwm a LED-ului de pe pinul 11. Puteți utiliza o cameră de telefonie mobilă (sau majoritatea camerelor CCD) pentru a vedea cum LED-ul IR se aprinde când apăsați butonul duzei.

Pasul 5: Receptor de spray

Receptor pentru spray
Receptor pentru spray
Receptor de spray
Receptor de spray

Dacă mergeți, spray-ul simplu poate rută, atunci nu aveți nevoie de acest bit.

În caz contrar, folosesc doar o placă arduino, cu receptorul radio conectat la pinul 2. Acest lucru face mai ușor să obțineți datele într-un computer prin intermediul cipului serial USB -> de pe placa arduino. Dacă aș face un circuit personalizat, aș folosi probabil o placă de evaluare serial UART FTDI USB -> serial. Aveți, de asemenea, nevoie de o antenă atașată la placa receptorului. Am folosit o bucată de sârmă lungă de 12 cm. Aceasta este jumătate din ceea ce este recomandat pe această pagină excelentă de informații. Încărcați schița graffitiCanReader2.pde în arduino. Cu cutia alimentată, ar trebui să vedeți LED-urile de stare de pe cutie și placa receptorului clipind rapid. De fiecare dată când LED-ul pentru cutie clipește, este trimis un pachet de date. De fiecare dată când LED-ul plăcii receptorului clipește, se primește un pachet de date valid. Dacă nu vedeți acest lucru, atunci există ceva cu legătura radio. Ceva de încercat este conectarea TX-ului cutiei la RX-ul receptorului cu o bucată de sârmă. Dacă acest lucru nu funcționează, atunci probabil că aveți o nepotrivire în rata de transmisie a virtualwire (a se vedea codul). Presupunând că aveți multe intermitente pe placa receptorului, ar trebui să puteți monitoriza acest lucru pe portul serial USB. Dacă monitorizați portul serial (de obicei / dev / ttyUSB0) la 57600, ar trebui să vedeți datele care se scurg ca Got: FF 02 Got: FF 03… Primul număr este presiunea, iar al doilea este distanța. Acum puteți rula procesarea și puteți utiliza aceste informații pentru a face poze frumoase! Încărcați schița de procesare atașată (canRadioReader.pde). Porniți programul și verificați ieșirea programului. Ar trebui să primiți o frecvență (care vă spune câte actualizări pe secundă primește receptorul - doriți cu siguranță ca aceasta să fie de cel puțin 10Hz). De asemenea, veți obține o măsurare a distanței și a duzei. Testați cutia mutând potențiometrul duzei și mutând o bucată de cartelă în fața senzorului de distanță. Dacă totul funcționează, treceți la pasul următor - pregătiți computerul pentru a vorbi cu wiimote!

Pasul 6: Configurare computer: Procesare și Wiimote

Configurare computer: procesare și Wiimote
Configurare computer: procesare și Wiimote

Principalul nostru lucru aici este obținerea procesării vorbind cu wiimote. Aceste instrucțiuni sunt specifice Linux, dar toate acestea ar trebui să funcționeze pe un Mac și Windows, cu unele cercetări despre cum să obțineți datele wiimote în procesare. După instalarea procesării, am găsit câteva instrucțiuni pe forum, dar totuși am avut câteva probleme. Iată ce a trebuit să fac:

  1. instalați procesarea
  2. instalați bibliotecile bluez: sudo apt-get install bluez-utils libbluetooth-dev
  3. creați./processing/libraries/Loc și./processing/libraries/wrj4P5
  4. descărcați bluecove-2.1.0.jar și bluecove-gpl-2.1.0.jar și introduceți în./processing/libraries/wrj4P5/library/
  5. descărcați wiiremoteJ v1.6 și puneți.jar în./processing/libraries/wrj4P5/library/
  6. descărcați wrj4P5.jar (am folosit alpha-11) și puneți-l în./processing/libraries/wrj4P5/library/
  7. descărcați wrj4P5.zip și dezarhivați în./processing/libraries/wrj4P5/lll/
  8. descărcați Loc.jar (am folosit beta-5) și puneți-l în./processing/libraries/Loc/library/
  9. descărcați Loc.zip și dezarhivați în./processing/libraries/Loc/lll/

Apoi am folosit codul inspirat din Classiclll pentru a face ca butoanele și bara senzorului să funcționeze. Codul / schița atașat desenează doar un cerc în care prima sursă cu infraroșu este găsită de wiimote.

Pentru a vă verifica Bluetooth-ul, apăsați butoanele unu și două de pe wiimote, apoi încercați scanarea $ hcitool la terminal. Ar trebui să vedeți detectarea wiimote nintendo. Dacă nu, va trebui să vă uitați la configurarea Bluetooth. Dacă totul este bun, încărcați programul wiimote_sensor.pde (atașat) și porniți-l. În partea de jos a ecranului ar trebui să vedeți: BlueCove versiunea 2.1.0 pe bluez încercând să găsiți un wii Apăsați butoanele 1 și 2 pe wiimote. După detectare, fluturați sursa cu infraroșu (recipientul de pulverizare) în fața sa. Ar trebui să vedeți un cerc roșu care vă urmărește mișcarea! Asigurați-vă că funcționează înainte de a trece mai departe. Dacă nu reușiți să funcționeze, căutați pe forumul de procesare.

Pasul 7: Configurarea totul

Setarea totul
Setarea totul

Descărcați software-ul virtualGraffiti de mai jos. Extrageți-l în directorul dvs. de schițe și urmați acești pași!

* alimentați spray-ul, verificați starea LED-ului luminează intermitent. * porniți computerul, conectați receptorul pentru spray spray, * ecranul de configurare și proiectorul, * verificați dacă LED-ul de stare al receptorului sprayului clipește, * începeți procesarea și încărcați programul virtualGraffiti, * verificați dacă primiți atât indicatorul serial RX, cât și TX LED-urile clipesc pe placa arduino, * apăsați ambele butoane de pe wiimote, * efectuați calibrarea în 4 puncte când vi se solicită (puneți spray-ul pe fiecare țintă la rândul său, apoi apăsați duza până când scrierea devine roșie). * a se distra!

Pasul 8: Resurse, Link-uri, Mulțumiri, Idei

Link-uri Iată linkurile care au fost de neprețuit pentru a face acest proiect să funcționeze: informații RF: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Procesare: www.processing.org Utilizarea wii cu procesare: 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 # Calibrare în 4 puncte lungimi de undă: https://www.zaunert.de/jochenz/wii/Multumesc! Fără o mulțime de oameni care își publică munca, acest proiect ar fi fost mult mai greu și mai scump. Mulțumiri masive tuturor echipajelor open source, persoanelor care au spart wiimote, Classiclll pentru a face wiimote ușor de utilizat cu procesarea, Jochen Zaunert pentru codul de calibrare, echipajul de procesare, echipajul arduino, Lou pentru ajutor de tâmplărie și toți cei care explorează, fac și apoi publicați rezultatele online! https://www.wiispray.com/, fără cod sau cum * sistemul virtual de graffiti yrwall, fără cod sau cum. Idei pentru explorare * folosiți 2 wiimotes pentru a urmări volumul 3D și eliminați senzorul de distanță în cutie: https://www.cl.cam.ac.uk/~sjeh3/wii/. Acest lucru ar fi bun, deoarece senzorul de distanță este în prezent cea mai slabă parte a sistemului. Ar însemna, de asemenea, că am putea folosi un ecran de proiecție posterior adecvat pentru imagini mai vii. * folosiți un wiimote în cutie pentru a detecta unghiul de pulverizare. Acest lucru ar adăuga realism modelului de vopsea spray.

Recomandat: