Innehållsförteckning:

Virtuellt graffiti: 8 steg
Virtuellt graffiti: 8 steg

Video: Virtuellt graffiti: 8 steg

Video: Virtuellt graffiti: 8 steg
Video: Lär dig måla graffiti 2024, November
Anonim
Virtuellt graffiti
Virtuellt graffiti

Jag har sett några virtuella graffitisystem på webben men kunde inte hitta någon information som publicerats om hur man gör en (se dock sista länksidan). Jag trodde att det skulle vara bra för mina graffitiworkshops, så jag gjorde en själv och har publicerat allt du behöver för att göra din egen här! Funktioner * all öppen källkod och hårdvara, * kostar <£ 100 exklusive projektor och dator, * upptäcker burks munstycke tryck och avstånd från skärmen, * modeller målar droppande om du rör dig för långsamt! Observera * denna instruerbara är ganska hög nivå, men meddela mig om jag har missat något viktigt, * datorinställningen är för Linux. Om du får det att fungera på andra system, vänligen posta dina instruktioner! Färdigheter du behöver * träbearbetning för att göra den bakre projektionsskärmen i trä, * elektroniska kretsar och programmering av Atmel AVR -mikrokontroller (eller arduino), * kunna installera några bibliotek på din dator för att tillåta bearbetning att prata med wiimote.

Steg 1: Hur det fungerar

Hur det fungerar
Hur det fungerar

* Sprutburk har en infraröd lysdiod som lyser genom projektorskärmen och ses av wiimotes kamera. * Wiimote skickar burkens X- och Y-koordinater till datorn via en Bluetooth-radiolänk. * Datorn kör ett enkelt målningsprogram som använder en projektor för att "måla" linjerna när du ritar med burken. Det tar också hand om att kartlägga wiimote -kameran till skärmen med ett 4 -punktskalibreringssystem. * Sprayen kan också upptäcka avståndet från skärmen och munstyckstrycket: ju längre du är borta desto större blir den prickade, desto hårdare trycker du på munstycket, desto mer ogenomskinlig blir färgpunkten.

Steg 2: Komponenterna

Komponenterna
Komponenterna

Här är alla bitar du behöver för att få ihop:

* dator - måste vara cirka 1,4 GHz, bluetooth och en usb -port, * bearbetningsmiljö, * virtualGraffiti -programvara, ladda ner från "datorinstallationssteget", * nintendo wiimote - köp begagnad från ebay, * projektor - den måste var ljus om du planerar att använda under dagen eller inne med lampor tända, * bakre projektionsskärm - gör dig själv, * virtuell sprayburk - gör dig själv, * virtuell sprayburkmottagare - gör dig själv. Kostnad * arduino för burkmottagare (inbyggd usb-> serie) £ 21 * radio rx/tx par £ 9 * komponenter för byggnadssprutburk £ 18 plus valfritt hölje £ 12 * valfritt hölje för mottagare £ 8 * nintendo wiimote - köp second hand från ebay £ 20

Steg 3: Projektionsskärm bak

Bakre projektionsskärm
Bakre projektionsskärm

Skärmen måste vara precis rätt mängd genomskinlighet! Om den inte är tillräckligt genomskinlig syns inte bilden och den infraröda lysdioden syns inte för wiimotes kamera. Om det är för genomskinligt blir projektorn blind och bilden tvättas bort. (Se även den sista sidan för sätt att mildra detta).

Jag använde lycra, vilket är stretchigt så jag kan stretcha det för att göra det mer transparent. För tillfället håller jag den med tummarna, men jag tar examen till kardborreband när jag får tillgång till en symaskin. Jag gjorde en träram med hjälp av en verkstad och en snickare (tack Lou!) Jag behövde att den kollapsade så att jag kunde transportera den på min cykel. Om du gör en för en fast plats blir det lättare att göra. Gör det bara med ett bildförhållande 4: 3 och tillräckligt styvt för att hålla dig upprätt. Jag har funnit att folk tenderar att trycka på skärmmaterialet en hel del så det måste vara lite robust.

Steg 4: Sprutburk

Sprejburk
Sprejburk
Sprejburk
Sprejburk

Detta är den mest komplicerade delen av projektet och det tog längst tid att få rätt. Den goda nyheten är att du inte behöver allt detta för att få ett roligt system att fungera. Det enklaste är bara att få en krets med en switch, och infraröd LED och ett motstånd. När du trycker på strömbrytaren lyser lysdioden och syns och spåras av wiimotes kamera.

Denna version är mer avancerad, eftersom den också mäter avståndet från skärmen och munstyckstrycket. Båda dessa saker är viktiga när du faktiskt spraymålar. Jag ville göra ett utbildningssystem, så det var viktigt att göra systemet så "verkligt" som möjligt (inom mina kostnadsgränser). Kretsen är ganska enkel. Ta en titt på det bifogade kretsschemat för att se själv. Du behöver grundläggande lödningskunskaper och för att kunna sätta en krets på veroboard. Du bör också känna dig nöjd med att programmera mikrokontroller. Att bygga en krets från grunden mot att använda ett arduino -kort alternativ 1: om du vill använda ett arduino -kort i sprayburk. Använd arduino som den är och halvera överföringshastigheten för radio tx i spraykankkoden. alternativ 2: du vill spara pengar men du har ingen säkringsprogrammerare. Bygg kortet och använd en 16 MHz extern kristall. Halvera överföringshastigheten som i alternativ 1. alternativ 3: du vill spara ännu mer pengar och du har en säkringsprogrammerare. Bygg brädet, men utelämna den yttre kristallen. Använd säkringsprogrammeraren för att ställa in atmeln för att använda den interna klockan. Jag tror att den här parallellprogrammeraren gör att du kan programmera säkringar. Jag använder olimex programmeraren. Översikt över kretsen Mikrokontrollern mäter utmatningen från den skarpa 2d120x avståndssensorn (bra information om denna sensor här) och den linjära potentiometern. Det mäter också utsignalen från LED PWM -potentiometern. Detta används för att justera LED: s ljusutgång. IR -lysdioden jag använder är 100mA och toppvåglängden är 950nm (perfekt för wiimote). Mikrokontrollern använder PWM för att blinka LED mycket snabbt. Vi använder en IRF720 power mosfet så att mikro inte bränner ut sin effekt. Jag ville också lägga till kapacitet för en ljusare LED i framtiden. Det finns en status -LED som blinkar varje gång ett datapaket sänds på radion. Om allt fungerar bra bör detta ljus blinka vid cirka 15 Hz. Slutligen är radiosändarmodulen ansluten till stift 3 (digital stift 1 för arduino) på mikrokontrollern så att vi kan skicka informationen vi mäter till datorn. Du behöver också en antenn ansluten till mottagarkortet. Jag använde en 12 cm lång bit tråd. Detta är hälften av vad som rekommenderas på denna utmärkta informationssida. Programmering av mikrokontrollen Efter att du har byggt kretsen måste du ladda upp programmet (bifogat). Jag använder arduino -programmeringsmiljön/libaries. Du kan kompilera detta med arduino IDE och sedan programmera det som du brukar. Min krets görs enklare med hjälp av den interna 8MHz klockan på mikro. Om du använder detta måste du ställa in säkringsinställningarna för att använda den interna 8MHz kalibrerade RC: 1111 0010 = 0xf2 Det betyder att du måste ha en programmerare som kan skriva säkringar../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Om du inte har den här typen av programmerare (säg att du bara har arduino kort), använd bara en 16 MHz kristall mellan stiften 9 och 10 och allt ska fungera (otestat - du kan behöva en kondensator). Du måste också ändra programkoden så att sändarens baud halveras. Testning När du har fått ihop allt och programmet har laddats måste du justera IR -LED: s ljusstyrka. Jag ville bara maximera ljusutgången utan att rosta LED: en så jag sprängde några och slutade med ungefär 120ma draw genomsnitt. Om du har en multimeter kan du justera detta ganska enkelt, annars kan du bara justera potentiometern till att vara ganska hög men inte hela vägen! Du kan också kontrollera de analoga ingångarna på stift 26, 27 och 28 på PWM -justeringspotentiometern, avståndssensorn och munstyckspotentiometern. Om du har en räckvidd kan du kontrollera pulståget som kommer ut från stift 3 i radio -TX -modulen. Kontrollera pwm -utgången från lysdioden på stift 11. Du kan använda en mobiltelefonkamera (eller de flesta CCD -kameror) för att se IR -lysdioden tändas när du trycker på munstyckknappen.

Steg 5: Sprayburkmottagare

Sprayburkmottagare
Sprayburkmottagare
Sprayburkmottagare
Sprayburkmottagare

Om du går den enkla sprayburk behöver du inte den här biten.

Annars använder jag bara ett arduino -kort, med radiomottagaren ansluten till stift 2. Detta gör det enkelt att få in data i en dator via USB -> seriell chip på arduino -kortet. Om jag skulle göra en anpassad krets skulle jag förmodligen använda en FTDI USB -> seriell UART -utvärderingskort. Du behöver också en antenn ansluten till mottagarkortet. Jag använde en 12 cm lång bit tråd. Detta är hälften av vad som rekommenderas på denna utmärkta informationssida. Ladda graffitiCanReader2.pde -skissen i arduinoen. Med burken påslagen bör du se status -lysdioderna på burken och mottagarkortet blinkar snabbt. Varje gång lampan för burk blinkar skickas ett datapaket. Varje gång lysdioden för mottagarkortet blinkar mottas ett giltigt datapaket. Om du inte ser det här är det något med radiolänken. Något att prova är att ansluta burkens TX till mottagarens RX med en tråd. Om detta inte fungerar har du förmodligen en felaktig överensstämmelse i virtuell tråds överföringshastighet (se koden). Om du antar att du har mycket blinkande på mottagarkortet, borde du kunna övervaka detta på din usb -serieport. Om du övervakar den seriella porten (vanligtvis /dev /ttyUSB0) vid 57600 bör du se data sprida ut som Got: FF 02 Got: FF 03… Det första talet är tryck, och det andra är avstånd. Nu kan du köra bearbetning och använda denna information för att göra vackra bilder! Ladda den bifogade bearbetningsskissen (canRadioReader.pde). Starta programmet och kontrollera programmets utmatning. Du borde få en frekvens (som berättar hur många uppdateringar per sekund mottagaren får - du vill definitivt att detta ska vara minst 10Hz). Du får också en avstånds- och munstycksmätning. Testa burken genom att flytta munstyckspotentiometern och genom att flytta en bit kort framför avståndssensorn. Om allt fungerar, gå vidare till nästa steg - gör datorn redo att prata med wiimote!

Steg 6: Computer Setup: Processing och Wiimote

Computer Setup: Processing och Wiimote
Computer Setup: Processing och Wiimote

Vår huvudsakliga här är att få bearbetning att prata med wiimote. Dessa instruktioner är Linux -specifika, men det borde alla fungera på en Mac och Windows med lite forskning om hur du får wiimotes data att bearbetas. Efter installation av bearbetning hittade jag några instruktioner på forumet, men jag hade fortfarande några problem. Här är vad jag var tvungen att göra:

  1. installera bearbetning
  2. installera bluez-bibliotek: sudo apt-get install bluez-utils libbluetooth-dev
  3. skapa./processing/libraries/Loc och./processing/libraries/wrj4P5
  4. ladda ner bluecove-2.1.0.jar och bluecove-gpl-2.1.0.jar och lägg i./processing/libraries/wrj4P5/library/
  5. ladda ner wiiremoteJ v1.6 och sätt in.jar i./processing/libraries/wrj4P5/library/
  6. ladda ner wrj4P5.jar (jag använde alfa-11) och lägg in i./processing/libraries/wrj4P5/library/
  7. ladda ner wrj4P5.zip och packa upp i./processing/libraries/wrj4P5/lll/
  8. ladda ner Loc.jar (jag använde beta-5) och lägg in i./processing/libraries/Loc/library/
  9. ladda ner Loc.zip och packa upp i./processing/libraries/Loc/lll/

Sedan använde jag kod inspirerad av Classiclll för att få knapparna och sensorfältet att fungera. Den bifogade koden/skissen ritar bara en cirkel där den första infraröda källan hittas av wiimote.

För att kontrollera din bluetooth, tryck på knapparna ett och två på wiimote, försök sedan $ hcitool scan på terminalen. Du bör se nintendo wiimote upptäckt. Om du inte gör det måste du titta på din bluetooth -inställning ytterligare. Om allt är bra, ladda wiimote_sensor.pde (bifogat) program och starta det. I den nedre statusdelen av skärmen ska du se: BlueCove version 2.1.0 på bluez försöker hitta en wii Tryck på knapparna 1 och 2 på wiimote. När det har upptäckts, vifta din infraröda källa (sprayburk) runt framför den. Du bör se en röd cirkel efter din rörelse! Se till att detta fungerar innan du går vidare. Om du inte kan få det att fungera, sök i behandlingsforumet.

Steg 7: Konfigurera allt

Ställer upp allt
Ställer upp allt

Ladda ner virtualGraffiti -programvaran nedan. Extrahera den i din skissbokskatalog och följ sedan dessa steg!

* slå på sprutburk, kontrollera status -LED -lampan blinkar. * slå på datorn, koppla in sprayburkmottagaren, * installationsskärm och projektor, * kontrollera att lysdioden för mottagarens status blinkar, * börja bearbeta och ladda virtualGraffiti -programmet, * kontrollera att du får både RX- och TX -seriell indikator Lysdioder blinkar på arduino -kortet, * tryck på båda knapparna på wiimote, * gör 4 -punktskalibrering när du uppmanas (lägg sprayburk över varje mål i tur och ordning, tryck sedan på munstycket tills skrivningen blir röd). * ha så kul!

Steg 8: Resurser, länkar, tack, idéer

Länkar Här är länkarna som var ovärderliga för att få detta projekt att fungera: RF -info: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Bearbetning: www.processing.org Använda wii med bearbetning: 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#Våglängder 4 -punktskalibrering: https://www.zaunert.de/jochenz/wii/Tack! Utan att många publicerade sitt arbete hade detta projekt varit mycket svårare och dyrare. Stort tack till alla öppen källkod, personer som hackat wiimote, Classiclll för att göra wiimote lätt att använda med bearbetning, Jochen Zaunert för kod för att göra kalibrering, bearbetningsbesättning, arduino -besättning, Lou för snickerihjälp och alla som utforskar, gör och publicera sedan sina resultat online! Andra människors system * Jag hittade bara https://friispray.co.uk/, med öppen källkod och en howto * detta system tillåter användning av schabloner: coolt! https://www.wiispray.com/, ingen kod eller hur * yrwalls virtuella graffitisystem, ingen kod eller hur. Idéer för utforskning * använd 2 wiimotes för att göra 3D -volymspårning och avlägsna avståndssensorn i burken: https://www.cl.cam.ac.uk/~sjeh3/wii/. Detta skulle vara bra eftersom avståndssensorn för närvarande är den svagaste delen av systemet. Det skulle också innebära att vi kunde använda en ordentlig bakre projektionsskärm för mer levande bilder. * använd en wiimote i burken för att upptäcka sprutburkens vinkel. Detta skulle ge realism till sprayfärgsmodellen.

Rekommenderad: