INHOUDSOPGAWE:

Virtuele graffiti: 8 stappe
Virtuele graffiti: 8 stappe

Video: Virtuele graffiti: 8 stappe

Video: Virtuele graffiti: 8 stappe
Video: Graffiti Euro Trip 8 Only Tagging 2024, Julie
Anonim
Virtuele graffiti
Virtuele graffiti

Ek het 'n paar virtuele graffiti -stelsels op die internet gesien, maar kon geen inligting vind oor hoe om dit te maak nie (alhoewel sien die laaste skakelsbladsy). Ek het gedink dit sou wonderlik wees vir my graffiti -werkswinkels, so ek het self een gemaak en hier alles gepubliseer wat u nodig het om u eie te maak! Kenmerke * alle open source en hardeware, * koste <£ 100, uitgesluit projektor en rekenaar, * spoor blikspuitstuk op druk en afstand van die skerm af, * modelle drup as u te stadig beweeg! Notas * hierdie instruksie is redelik hoog, maar laat weet my as ek iets belangriks gemis het, * die rekenaaropstelling is vir Linux. As u dit op ander stelsels laat werk, plaas dan u instruksies! Vaardighede wat u nodig het * houtwerk om die agterste projeksieskerm van hout te maak, * elektroniese stroombane en Atmel AVR -mikrobeheerders (of arduino), * 'n paar te kan installeer biblioteke op u rekenaar sodat verwerking met die wiimote kan praat.

Stap 1: Hoe dit werk

Hoe dit werk
Hoe dit werk

* Die spuitbus het 'n infrarooi LED wat deur die projektorskerm skyn en deur die wiimote se kamera gesien word. * Die wiimote stuur die X- en Y-koördinate van die blikkie na die rekenaar via 'n Bluetooth-radioskakel. * Die rekenaar gebruik 'n eenvoudige skilderprogram wat 'n projektor gebruik om die lyne te "verf" terwyl u met die blik trek. Dit sorg ook vir die kartering van die wiimote -kamera op die skerm met behulp van 'n 4 -punt kalibrasiestelsel. * Die spuitstof kan ook sy afstand van die skerm en die spuitmonddruk waarneem: hoe verder jy weg is, hoe groter word die kolletjie getrek, hoe harder jy die spuitstuk druk, hoe meer ondeursigtig word die verfpunt.

Stap 2: Die komponente

Die komponente
Die komponente

Hier is al die stukkies wat u nodig het om bymekaar te kom:

* rekenaar - moet ongeveer 1,4 GHz, bluetooth en 'n usb -poort wees, * verwerkingsomgewing, * virtualGraffiti -sagteware, aflaai vanaf die "rekenaaropstelling" -stap, * Nintendo wiimote - koop tweedehands by ebay, * projektor - dit sal nodig wees wees helder as u van plan is om gedurende die dag of binne te gebruik met ligte aan, * agterste projeksieskerm - maak u self, * virtuele spuitbus - maak u self, * virtuele spuitbottelontvanger - maak u self. Koste * arduino vir blikkie -ontvanger (ingeboude usb-> reeks) £ 21 * radio rx/tx paar £ 9 * komponente vir spuitbus £ 18 plus opsionele omhulsel £ 12 * opsionele omhulsel vir ontvanger £ 8 * Nintendo wiimote - koop tweedehands by ebay £ 20

Stap 3: Projeksieskerm agter

Agterprojeksieskerm
Agterprojeksieskerm

Die skerm moet net die regte hoeveelheid deursigtigheid hê! As dit nie deursigtig genoeg is nie, word die beeld nie gesien nie en is die infrarooi LED nie sigbaar vir die kamera van die wiimote nie. As dit te deursigtig is, verblind die projektor en word die beeld uitgewas. (Sien die laaste bladsy vir maniere om dit te versag).

Ek het lycra gebruik, wat rekbaar is sodat ek dit kan rek om dit meer deursigtig te maak. Op die oomblik hou ek dit vas met duimstokkies, maar ek studeer tot klittenband as ek toegang tot 'n naaimasjien kry. Ek het 'n houtraamwerk gemaak met behulp van 'n werkswinkel en 'n timmerman (dankie Lou!) Ek het dit nodig gehad om in duie te stort sodat ek dit op my fiets kon vervoer. As u een vir 'n vaste plek maak, is dit makliker om te maak. Maak dit net met 'n verhouding van 4: 3 en styf genoeg om regop te bly. Ek het gevind dat mense geneig is om die skermmateriaal 'n bietjie te druk, sodat dit 'n bietjie taai moet wees.

Stap 4: Spuitblik

Spuitblik
Spuitblik
Spuitblik
Spuitblik

Dit is die mees ingewikkelde deel van die projek en het die langste tyd geneem om reg te kom. Die goeie nuus is dat u nie al hierdie dinge nodig het om 'n prettige stelsel te laat werk nie. Die eenvoudigste is net om 'n stroombaan met 'n skakelaar en infrarooi LED en 'n weerstand te kry. As u die skakelaar druk, brand die LED en word dit deur die wiimote se kamera gesien en dopgehou.

Hierdie weergawe is meer gevorderd, want dit meet ook die afstand van die skerm en die spuitmond. Albei hierdie dinge is belangrik as u eintlik spuit. Ek wou 'n opleidingsisteem maak, daarom was dit belangrik om die stelsel so 'werklik' moontlik te maak (binne my kostegrens). Die kring is redelik eenvoudig. Kyk self na die aangehegte kringdiagram. U benodig basiese soldeervaardighede en om 'n kring op die bord te sit. U moet ook tevrede wees met die programmering van mikrobeheerders. Om 'n stroombaan van nuuts af op te bou teenoor die gebruik van 'n arduino -bord opsie 1: as u 'n arduino -bord in 'n spuitbus wil gebruik. Gebruik arduino soos dit is en halveer die baud -tempo van die radio tx in die spuitkan -kode. opsie 2: u wil geld bespaar, maar u het nie 'n lontprogrammeerder nie. Bou die bord en gebruik 'n 16MHz eksterne kristal. Halveer die baud -koers soos in opsie 1. opsie 3: u wil nog meer geld bespaar en u het 'n lontprogrammeerder. Bou die bord, maar laat die eksterne kristal weg. Gebruik die lontprogrammeerder om die atmel op die interne klok te stel. Ek glo dat hierdie DIY parallelle programmeerder u in staat sal stel om sekuriteite te programmeer. Ek gebruik die olimex programmeerder. Oorsig van die kring Die mikrobeheerder meet die uitset van die skerp 2d120x afstandsensor (goeie inligting oor hierdie sensor hier) en die lineêre potensiometer. Dit meet ook die uitset van die LED PWM -potensiometer. Dit word gebruik om die LED se liguitset aan te pas. Die IR LED wat ek gebruik is 100mA en die maksimum golflengte is 950nm (ideaal vir wiimote). Die mikrobeheerder gebruik PWM om die LED baie vinnig te flits. Ons gebruik 'n IRF720 power mosfet sodat die mikro nie sy uitset verbrand nie. Ek wou ook in die toekoms kapasiteit toevoeg vir 'n helderder LED. Daar is 'n status -LED wat flikker elke keer as 'n datapakket op die radio uitgesaai word. As alles goed werk, moet hierdie lig ongeveer 15Hz flikker. Laastens word die radiosendermodule aan pen 3 (digitale pen 1 vir arduino) van die mikrobeheerder gekoppel, sodat ons die inligting wat ons meet na die rekenaar kan stuur. U benodig ook 'n antenne wat aan die ontvangerbord gekoppel is. Ek het 'n stuk draad van 12 cm lank gebruik. Dit is die helfte van die aanbeveling op hierdie uitstekende inligtingsbladsy. Die mikrobeheerder programmeer Nadat u die kring gebou het, moet u die program (aangeheg) laai. Ek gebruik die arduino -programmeeromgewing/libaries. U kan dit saamstel met die arduino IDE en dit dan programmeer soos u gewoonlik doen. My kring word eenvoudiger gemaak deur die interne 8MHz -klok van die mikro te gebruik. As u dit gebruik, moet u die lontinstellings stel om die interne 8MHz gekalibreerde RC te gebruik: 1111 0010 = 0xf2 Dit beteken dat u 'n programmeerder moet hê wat lontjies kan skryf../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m As u nie hierdie soort programmeerder het nie (sê dat u net die arduino het board), gebruik net 'n 16MHz kristal tussen penne 9 en 10 en dit behoort alles te werk (ongetoets - u benodig moontlik 'n kondensator). U moet ook die programkode wysig sodat die senderbaud gehalveer word. Toets Nadat u alles bymekaargemaak het en die program gelaai het, moet u die helderheid van die IR LED aanpas. Ek wou net die maksimum ligopbrengs maksimeer sonder om die LED te rooster, sodat ek 'n paar blaas en uiteindelik 'n gelykstaande gemiddelde van 120ma kry. As u 'n multimeter het, kan u dit baie eenvoudig aanpas, anders pas u die potensiometer redelik hoog aan, maar nie heeltemal nie! U kan ook die analoog insette op penne 26, 27 en 28 van die PWM -verstelpotensiometer, die afstandsensor en die spuitmondpotentiometer nagaan. As u 'n reikwydte het, kan u die polstrein wat uit pen 3 kom, na die radio -TX -module kyk. Gaan die pwm -uitset van die LED op pen 11. U kan 'n selfoonkamera (of die meeste CCD -kameras) gebruik om te sien hoe die IR -LED aanskakel as u op die spuitknoppie druk.

Stap 5: Spuitbottelontvanger

Spuitbottelontvanger
Spuitbottelontvanger
Spuitbottelontvanger
Spuitbottelontvanger

As u met die eenvoudige spuitbus gaan, het u hierdie bietjie nie nodig nie.

Anders gebruik ek net 'n arduino -bord, met die radio -ontvanger in die pen 2. Dit maak dit maklik om die data via 'n USB -> seriële chip op die arduino -kaart in 'n rekenaar te kry. As ek 'n pasgemaakte stroombaan sou maak, sou ek waarskynlik 'n FTDI USB -> seriële UART -evalueringsbord gebruik. U benodig ook 'n antenne wat aan die ontvangerbord gekoppel is. Ek het 'n stuk draad van 12 cm lank gebruik. Dit is die helfte van die aanbeveling op hierdie uitstekende inligtingsbladsy. Laai die graffitiCanReader2.pde -skets in die arduino. As die blikkie aangeskakel is, moet u die status -LED's op die blik en die ontvangerbord vinnig sien flikker. Elke keer as die blik -LED flikker, word 'n datapakket gestuur. Elke keer as die LED van die ontvangerbord flits, word 'n geldige datapakket ontvang. As u dit nie sien nie, is daar iets met die radioskakel. Iets om te probeer is om die TX van die blikkie met 'n stuk draad aan die RX van die ontvanger te koppel. As dit nie werk nie, het u waarskynlik 'n wanverhouding in die baud -tempo van virtualwire (sien die kode). As u aanvaar dat daar baie flitse op die ontvangerbord is, moet u dit op u usb -seriële poort kan monitor. As u die seriële poort (gewoonlik /dev /ttyUSB0) op 57600 monitor, moet u sien dat data uitspoel soos Got: FF 02 Got: FF 03… Die eerste getal is druk, en die tweede is afstand. Nou kan u verwerking uitvoer en hierdie inligting gebruik om mooi foto's te maak! Laai die aangehegte verwerkingskets (canRadioReader.pde). Begin die program en kyk na die uitvoer van die program. U moet 'n frekwensie kry (wat u vertel hoeveel opdaterings per sekonde die ontvanger kry - u wil beslis dat dit minstens 10Hz is). U kry ook 'n afstand- en spuitpuntmeting. Toets die blik deur die spuitmondpotensiometer te skuif en deur 'n stuk kaart voor die afstandsensor te skuif. As dit alles werk, gaan dan voort met die volgende stap: maak die rekenaar gereed om met die wiimote te praat!

Stap 6: Rekenaaropstelling: verwerking en die Wiimote

Rekenaaropstelling: verwerking en die Wiimote
Rekenaaropstelling: verwerking en die Wiimote

Ons belangrikste hier is die verwerking van praat met die wiimote. Hierdie instruksies is spesifiek vir Linux, maar dit behoort alles op 'n Mac en Windows te werk, met 'n bietjie navorsing oor hoe u die data van die wiimote kan verwerk. Nadat ek die verwerking geïnstalleer het, het ek 'n paar instruksies op die forum gevind, maar ek het steeds probleme ondervind. Hier is wat ek moes doen:

  1. verwerking installeer
  2. installeer bluez-biblioteke: sudo apt-get install bluez-utils libbluetooth-dev
  3. skep./processing/libraries/Loc en./processing/libraries/wrj4P5
  4. laai bluecove-2.1.0.jar en bluecove-gpl-2.1.0.jar af en plaas dit in./processing/libraries/wrj4P5/library/
  5. laai wiiremoteJ v1.6 af en plaas die.jar in./processing/libraries/wrj4P5/library/
  6. laai wrj4P5.jar af (ek het alpha-11 gebruik) en plaas dit in./processing/libraries/wrj4P5/library/
  7. laai wrj4P5.zip af en pak dit in./processing/libraries/wrj4P5/lll/
  8. laai Loc.jar af (ek het beta-5 gebruik) en plaas dit in./processing/libraries/Loc/library/
  9. laai Loc.zip af en pak dit in./processing/libraries/Loc/lll/

Toe gebruik ek kode geïnspireer deur Classiclll om die knoppies en sensorbalk te laat werk. Die aangehegte kode/skets trek net 'n sirkel waar die eerste infrarooi bron deur die wiimote gevind word.

Om u bluetooth te kontroleer, druk die knoppies een en twee op die wiimote en probeer dan $ hcitool scan by die terminale. U moet die Nintendo Wiimote opgespoor sien. As u dit nie doen nie, moet u verder na u Bluetooth -opset kyk. As dit alles goed is, laai die wiimote_sensor.pde (aangehegte) program en begin dit. In die onderste statusgedeelte van die skerm moet u sien: BlueCove weergawe 2.1.0 op bluez wat probeer om 'n wii te vind Druk op knoppies 1 en 2 op die wiimote. Nadat dit opgespoor is, waai u infrarooi bron (die spuitbus) voor dit rond. U behoort 'n rooi sirkel na u beweging te sien! Maak seker dat dit werk voordat u verder gaan. Soek die verwerkingsforum as u dit nie kan laat werk nie.

Stap 7: Stel alles op

Alles opstel
Alles opstel

Laai die virtualGraffiti -sagteware hieronder af. Pak dit uit in u sketsboekgids en volg dan hierdie stappe!

* maak die spuitbus aan, kyk of die LED -lig flikker. * skakel die rekenaar aan, steek die spuitbus -ontvanger in, * die opstelskerm en die projektor, * kyk of die status -LED van die spuitbottel flikker, * begin met die verwerking en laai die virtualGraffiti -program, * kyk of u beide die seriële aanwyser RX en TX kry LED's flikker op die arduino -bord, * druk op beide knoppies op wiimote, * doen 'n kalibrasie van vier punte wanneer dit gevra word (plaas spuitkanne om die beurt op elke teiken, druk dan op die spuitkop totdat die skrif rooi word). * hê pret!

Stap 8: Hulpbronne, skakels, dankie, idees

Skakels Hier is die skakels wat van onskatbare waarde was om hierdie projek te laat werk: RF -inligting: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Verwerking: www.processing.org Gebruik van wii met verwerking: 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#Golflengtes 4 -puntskalibrasie: https://www.zaunert.de/jochenz/wii/Dankie! Sonder dat baie mense hul werk publiseer, sou hierdie projek baie moeiliker en duurder gewees het. Baie dankie aan alle open source -bemanning, mense wat die wiimote gekap het, Classiclll om die wiimote maklik te gebruik met die verwerking, Jochen Zaunert vir kode om kalibrasie te doen, verwerkingspersoneel, arduino -bemanning, Lou vir timmerhulp, en almal wat ondersoek, en publiseer dan hul bevindings aanlyn! Ander mense se stelsels * Ek het pas https://friispray.co.uk/ gevind, met open source sagteware en 'n handleiding * hierdie stelsel laat die gebruik van stensils toe: cool! https://www.wiispray.com/, geen kode of hoe nie * yrwall se virtuele graffiti -stelsel, geen kode of hoe nie. Idees vir verkenning * gebruik 2 wiimotes om 3D -volume op te spoor en afstandsensor in die blik weg te doen: https://www.cl.cam.ac.uk/~sjeh3/wii/. Dit sal goed wees omdat die afstandsensor tans die swakste deel van die stelsel is. Dit sou ook beteken dat ons 'n behoorlike agterste projeksieskerm kan gebruik vir meer lewendige beelde. * Gebruik 'n wiimote in die blik om die spuitbus se hoek op te spoor. Dit sal realisme toevoeg tot die spuitverfmodel.

Aanbeveel: