Мазмуну:

Виртуалдык граффити: 8 кадам
Виртуалдык граффити: 8 кадам

Video: Виртуалдык граффити: 8 кадам

Video: Виртуалдык граффити: 8 кадам
Video: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, Июль
Anonim
Виртуалдык граффити
Виртуалдык граффити

Мен интернетте бир нече виртуалдык граффити системаларын көрдүм, бирок кантип жасоо боюнча эч кандай маалымат таба алган жокмун (акыркы шилтемелер барагын караңыз). Граффити боюнча мастер -класстар үчүн бул абдан жакшы болот деп ойлогом, ошондуктан мен аны өзүм жасадым жана бул жерде өзүңүз жасашыңыз үчүн керектүү нерселердин бардыгын жарыяладым! Өзгөчөлүктөрү * бардык ачык булактар жана жабдуулар, * баасы <£ 100 проектор менен компьютерди эсепке албаганда, * банканын шүмүгүн аныктайт кысым жана экрандан алыстык, * моделдер эгер сиз өтө жай кыймылдасаңыз, тамчылап боёлот! Эскертүүлөр * бул көрсөтмө абдан жогорку деңгээлде, бирок маанилүү нерсени сагындымбы, мага билдирип коюңуз, * эсептөө орнотуусу Linux үчүн. Эгерде сиз башка системаларда иштеп жатсаңыз, анда көрсөтмөлөрүңүздү жазыңыз! Сизге чеберчилик керек * жыгачтын арткы проекциялык экранын жасоо үчүн жыгач, * электрондук схемалар жана программалоо Atmel AVR микро контроллери (же arduino), wiimote менен сүйлөшүүгө иштетүү үчүн компьютериңиздеги китепканалар.

1 -кадам: Бул кантип иштейт

Бул кантип иштейт
Бул кантип иштейт

* Спрейде проектордун экранынан жаркыраган инфракызыл LED бар жана аны wimote камерасы көрөт. * Wiimote bluetooth радио байланышы аркылуу компьютердин X жана Y координаттарын жөнөтөт. * Компьютер проекторду колдонуп, боёк менен тарткандай сызыктарды "боёйт". Ошондой эле wiimote камерасын 4 чекиттүү калибрлөө тутумун колдонуп экранга түшүрүү кам көрөт. * Спрей ошондой эле анын экрандан алыстыгын жана учтун басымын аныктай алат: канчалык алыс болсок, чекит ошончолук чоңураак басылган сайын, боёктун чекити ошончолук тунук болуп калат.

2 -кадам: Компоненттер

Компоненттер
Компоненттер

Бул жерде сиз чогултууңуз керек болгон бардык биттер:

* компьютер - болжол менен 1,4 ГГц, bluetooth жана USB порту, * иштетүү чөйрөсү, * virtualGraffiti программасы, "компьютерди орнотуу" кадамынан жүктөө, * nintendo wiimote - ebayдан экинчи колун сатып алуу, * проектор - керек болот Эгерде сиз күндүз же ичинде жарыктары менен колдонууну пландап жатсаңыз, жарык болуңуз, * арткы проекциялык экран - өзүңүздү жасаңыз, * виртуалдык чачыраткыч - өзүңүздү жасаңыз, * виртуалдык спрейиңизди кабыл алгыч - өзүңүз жасаңыз. usb-> serialде курулган) £ 21 * радио rx/tx жуп £ 9 * курулуш спрейи үчүн компоненттер £ 18 плюс кошумча корпус £ 12 * алуучу үчүн кошумча корпус £ 8 * nintendo wiimote - ebayден £ 20дан экинчи колун сатып алуу

3 -кадам: Арткы проекциялык экран

Арткы проекциялык экран
Арткы проекциялык экран

Экран керектүү өлчөмдө болушу керек! Эгерде ал жетишээрлик тунук болбосо, анда сүрөт көрүнбөйт жана инфракызыл диод wiimote камерасына көрүнбөйт. Эгерде ал өтө тунук болсо, анда проектор сокур болуп калат жана сүрөттү жууп салат. (Муну азайтуу жолдору үчүн акыркы баракты караңыз).

Мен lycra колдондум, ал ийкемдүү, ошондуктан аны тунук кылуу үчүн сунам. Учурда мен аны бармагым менен кармап турам, бирок тигүү машинасына кире баштаганда велкрону бүтүрүп жатам. Мен жыгач алкакты устакананын жана жыгач устанын жардамы менен жасадым (рахмат Лу!) Мен аны велосипедде ташуу үчүн кулашы керек болчу. Эгер сиз аны белгилүү бир жерге жасасаңыз, анда жасоо оңой болот. Жөн гана 4: 3 пропорциясында жасаңыз жана тик туруу үчүн жетиштүү катуу. Мен адамдар экранда материалды бир аз ийкемдүү көрүшөт, ошондуктан ал бир аз орой болушу керек.

4 -кадам: Спрей болот

Spray Can
Spray Can
Spray Can
Spray Can

Бул долбоордун эң татаал бөлүгү жана оңдоого эң көп убакыт кетти. Жакшы жаңылык, кызыктуу системанын иштеши үчүн мунун баарынын кереги жок. Эң жөнөкөй нерсе - жөн эле өчүргүч менен схеманы алуу, жана инфракызыл LED жана резистор. Сиз баскычты басканыңызда, LED күйөт жана wiimote камерасы аркылуу байкалат.

Бул версия дагы өнүккөн, анткени ал экрандан алыстыкты жана мурундун басымын өлчөйт. Бул эки нерсе тең чындыгында боёк чачып жатканда маанилүү. Мен окутуу системасын түзгүм келди, андыктан системаны мүмкүн болушунча "реалдуу" кылуу маанилүү (менин чыгымдардын чегинде). Район абдан жөнөкөй. Өзүңүз көрүү үчүн тиркелген схеманы карап көрүңүз. Сизге негизги ширетүү көндүмдөрү керек жана veroboardго схеманы орното алышыңыз керек. Ошондой эле, сиз микроконтроллерлерди программалоо менен бактылуу болушуңуз керек. Ардуино тактасынын 1 вариантын колдонуу менен схеманы нөлдөн баштап куруу: эгер сиз спрей идиште arduino тактасын колдонууну кааласаңыз. Ардуинону колдонуңуз жана спрей сканеринин кодунда радио txтин берүү ылдамдыгын эки эсе азайтыңыз. 2 -вариант: накталай акча сактагыңыз келет, бирок сизде сактандыруучу программист жок. Такта куруп, 16 МГц тышкы кристаллды колдонуңуз. Боддун ылдамдыгын 1 -вариантта эки эсе төмөндөтүңүз: 3 -вариант: сиз андан да көбүрөөк акчаны үнөмдөңүз жана сактандыруучу программистиңиз бар. Такта куруңуз, бирок тышкы кристаллды калтырыңыз. Атмельди ички саатын колдонууга орнотуу үчүн сактандыруучу программистти колдонуңуз. Мен ишенем, бул DIY параллелдүү программисти, сизде сактандыргычтарды программалоого мүмкүндүк берет. Мен olimex программистин колдоном. Схемага сереп Микроконтроллер курч 2d120x аралык сенсорунан (бул жерде бул сенсор жөнүндө чоң маалымат) жана сызыктуу потенциометрден өлчөйт. Ал ошондой эле LED PWM потенциометринин өндүрүшүн өлчөйт. Бул LEDдин жарык берүүсүн тууралоо үчүн колдонулат. Мен колдонуп жаткан IR LED 100mA жана эң жогорку толкун узундугу 950nm (wiimote үчүн идеалдуу). Микроконтроллер PWMди колдонуп, LEDди абдан тез күйгүзөт. Биз микрофонду күйгүзүп албашы үчүн IRF720 кубаттуу мосфетин колдонобуз. Ошондой эле мен келечекте жаркыраган LED үчүн кубаттуулукту кошкум келди. Маалымат пакети радиодон уктурулган сайын күйүп турган статустук LED бар. Эгерде баары жакшы иштеп жатса, анда бул жарык 15 Гц тегерегинде жаркырап турушу керек. Акырында, радио өткөргүч модулу микроконтроллердин 3 -пинине (arduino үчүн санариптик 1 -пин) тиркелет, ошондо биз өлчөп жаткан маалыматты компьютерге жөнөтө алабыз. Сизге ошондой эле ресивер тактасына тиркелген антена керек. Мен 12 см узундуктагы зым колдондум. Бул эң сонун маалымат баракчасында сунушталган нерсенин жарымы. Микроконтроллерди программалоо Районду кургандан кийин, программаны жүктөө керек болот (тиркелет). Мен arduino программалоо чөйрөсүн/libaries колдоном. Сиз муну arduino IDE менен түзүп, анан аны кадимкидей программалай аласыз. Менин схемам микро 8 МГц ички саатын колдонуу менен жөнөкөй кылынды. Эгер сиз муну колдонсоңуз, анда ички 8MHz калибрленген RCди колдонуу үчүн сактандыруучу жөндөөлөрдү орнотушуңуз керек болот: 1111 0010 = 0xf2 Бул сизде сактандыргычтарды жаза турган программист болушуңуз керек дегенди билдирет../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Эгерде сизде мындай программист жок болсо такта), 9 жана 10 -пиндердин ортосунда 16 МГц кристаллын колдонуңуз жана баары иштеши керек (текшерилбеген - сизге конденсатор керек болушу мүмкүн). Программанын кодун эки эсе кыскартуу үчүн программанын кодун өзгөртүүгө туура келет. Тестирлөө Баарын чогулткандан кийин жана программа жүктөлгөндөн кийин, IR LED жарыктыгын тууралашыңыз керек. Мен жөн гана светодиодду күйгүзбөстөн, жарыктын максимумун көбөйткүм келди, ошондуктан мен бир нече жардырдым жана орточо 120ма чийүү менен аяктадым. Эгерде сизде мультиметр болсо, анда муну оңой эле жөнгө салсаңыз болот, антпесе потенциометрди өтө бийик кылып тууралаңыз, бирок баары бир эмес! Сиз ошондой эле PWMдин потенциометрин, алыстык сенсорун жана сопло потенциометринин 26, 27 жана 28 төөнөгүчтөрүндөгү аналогдук кирүүлөрдү текшере аласыз. Эгерде сизде мүмкүнчүлүгүңүз болсо, анда сиз радио TX модулуна 3 -пинден чыккан импульстук поездди текшере аласыз. 11 -пиндеги LEDдин pwm чыгарылышын текшериңиз. Сиз чаң баскычын басканыңызда IR LEDдин күйүп турганын көрүү үчүн уюлдук телефондун камерасын (же көпчүлүк CCD камераларын) колдоно аласыз.

5 -кадам: Спрей Алуучу

Спрей алуучу
Спрей алуучу
Спрей алуучу
Спрей алуучу

Эгерде сиз бара турган болсоңуз, анда жөнөкөй спрей кете алат, анда сизге бул биттин кереги жок.

Болбосо, мен жөн гана arduino тактасын колдоном, радио кабыл алгыч 2 -пинге туташтырылган. Бул ардуино тактасындагы USB -> сериялык чип аркылуу маалыматтарды компьютерге киргизүүнү жеңилдетет. Эгерде мен ыңгайлаштырылган схеманы түзө турган болсом, анда FTDI USB -> UART сериялык баалоо тактасын колдонмокмун. Сизге ошондой эле ресивер тактасына тиркелген антена керек. Мен 12 см узундуктагы зым колдондум. Бул эң сонун маалымат баракчасында сунушталган нерсенин жарымы. ГраффитиCanReader2.pde эскизин arduinoго жүктөңүз. Контейнер күйгүзүлгөндө, банкадагы абалдын диоддорун жана кабыл алуучу такта тез жаркылдап турганын көрүшүңүз керек. Жарык диоду жарк эткен сайын, маалымат пакети жөнөтүлөт. Кабыл алуучу такта LED жарк эткен сайын, жарактуу маалымат пакети алынат. Эгер сиз муну көрө албасаңыз, анда радио шилтемеси бар. Бир нерсе аракет кылыш керек, банканын TXсын ресивердин RXине зым менен туташтыруу. Эгер бул иштебесе, анда, балким, сиз виртуалдык зымдын берилиш ылдамдыгына дал келбешиңиз мүмкүн (кодду караңыз). Кабыл алуучу тактада көп жаркылдап жатат деп ойлосоңуз, сиз муну USB сериялык портунда көзөмөлдөй алышыңыз керек. Эгерде сиз сериялык портту (адатта /dev /ttyUSB0) 57600дө көзөмөлдөсөңүз, анда Got: FF 02 Got: FF 03 сыяктуу маалыматтардын чыгып жатканын көрөсүз… Биринчи сан - басым, экинчиси - аралык. Эми сиз иштетүүнү иштете аласыз жана бул маалыматты кооз сүрөттөрдү тартуу үчүн колдоно аласыз! Тиркелген иштетүү эскизин жүктөңүз (canRadioReader.pde). Программаны баштаңыз жана программанын өндүрүшүн текшериңиз. Сиз жыштыкты алышыңыз керек (бул кабыл алуучу секундасына канча жаңыртуу алып жатканын айтат - сиз муну жок дегенде 10 Гц болушун каалайсыз). Ошондой эле сиз аралыкты жана сопло өлчөөнү аласыз. Контейнерди потенциометрди жылдыруу жана аралык сенсорунун алдына бир карта жылдыруу менен сынап көрүңүз. Эгер баары иштеп жатса, анда кийинки кадамга өтүңүз - компьютерди wiimote менен сүйлөшүүгө даярдаңыз!

6 -кадам: Компьютерди орнотуу: иштетүү жана Wiimote

Компьютерди орнотуу: иштетүү жана Wiimote
Компьютерди орнотуу: иштетүү жана Wiimote

Бул жерде биздин башкы нерсе - wiimote менен сүйлөшүү. Бул көрсөтмөлөр Linuxка тиешелүү, бирок анын бардыгы wiimote'дун маалыматтарын иштетүүгө кантип алуу керектиги боюнча бир аз изилдөө менен Mac жана Windowsто иштеши керек. Иштетүүнү орноткондон кийин, мен форумда кээ бир көрсөтмөлөрдү таптым, бирок менде дагы эле кээ бир көйгөйлөр болгон. Мына, мен эмне кылышым керек эле:

  1. иштетүүнү орнотуу
  2. bluez китепканаларын орнотуу: sudo apt-get bluez-utils libbluetooth-dev орнотуу
  3. түзүү./processing/libraries/Loc жана./processing/libraries/wrj4P5
  4. bluecove-2.1.0.jar жана bluecove-gpl-2.1.0.jar жүктөп алып./processing/libraries/wrj4P5/library/
  5. wiiremoteJ v1.6 жүктөп алып,.jar ичине салыңыз./processing/libraries/wrj4P5/library/
  6. wrj4P5.jar жүктөп алыңыз (мен альфа-11ди колдондум) жана./processing/libraries/wrj4P5/library/
  7. wrj4P5.zipди жүктөп алып,./processing/libraries/wrj4P5/lll/ ичине ачыңыз.
  8. Loc.jar жүктөп алыңыз (мен бета-5ти колдондум) жана./processing/libraries/Loc/library/
  9. Loc.zip жүктөп алыңыз./processing/libraries/Loc/lll/

Андан кийин мен баскычтарды жана сенсор тилкесин иштетүү үчүн Classiclllден шыктандырылган кодду колдондум. Тиркелген код/эскиз жөн эле 1 -инфра кызыл булак wiimote аркылуу табылган тегеректи тартат.

Bluetoothңузду текшерүү үчүн, wiimoteдагы бир жана эки баскычтарды басыңыз, андан кийин терминалда $ hcitool сканерлеп көрүңүз. Сиз nintendo wiimote табылганын көрүшүңүз керек. Эгер андай кылбасаңыз, анда Bluetooth орнотууларын карап чыгыңыз. Эгерде баары жакшы болсо, wiimote_sensor.pde (тиркелген) программасын жүктөп, аны баштаңыз. Экрандын ылдыйкы статусунда сиз көрүшүңүз керек: Bluez боюнча BlueCove версиясы 2.1.0 wii табууга аракет кылып, wiimoteдагы 1 жана 2 баскычтарын басыңыз. Ал аныкталгандан кийин, инфракызыл булагыңызды (чачыратуучу идишти) анын маңдайына булгалаңыз. Сиздин кыймылыңыздан кийин кызыл тегеректи көрүшүңүз керек! Бул өтүүдөн мурун иштээрин текшериңиз. Эгер аны иштете албасаңыз, кайра иштетүү форумун издеңиз.

7 -кадам: Баарын жөндөө

Баарын жөндөө
Баарын жөндөө

Төмөндө virtualGraffiti программасын жүктөп алыңыз. Аны эскиздер китепчеңизге чыгарып, анан бул кадамдарды аткарыңыз!

* чачыраткычты күйгүзүү, LED жарыгы күйүп турганын текшерүү. * Компьютерди күйгүзүңүз, спрейди кабыл алгычты, * орнотуу экраны менен проекторду, * спрейдин кабыл алуучу статусунун жарыгы күйүп турганын текшериңиз, * иштетүүнү баштаңыз жана virtualGraffiti программасын жүктөңүз, * RX жана TX сериялык индикаторун алып жатканыңызды текшериңиз. Жарык диоддору arduino тактасында жаркырап турат, * wiimote'тогу эки баскычты тең басыңыз, * суралганда 4 чекиттүү калибрлөөнү аткарыңыз (спрейди ар бир бутага кезеги менен чачыңыз, андан кийин жазуу кызыл түскө келгенге чейин мурунду басыңыз). * көңүл ачуу!

8 -кадам: Ресурстар, шилтемелер, рахмат, идеялар

Шилтемелер Бул жерде бул долбоордун ишке ашуусунда баа жеткис болгон шилтемелер бар: RF маалыматы: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Processing: www.processing.org wiiти иштетүү менен колдонуу: 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#Wavelengths 4 баллдык калибрлөө: https://www.zaunert.de/jochenz/wii/Рахмат! Көп адамдар чыгармаларын жарыялабаса, бул долбоор бир топ кыйын жана кымбат болмок. Бардык ачык булак экипажына, wiimoteту бузган адамдарга, иштетүү менен колдонууну оңой кылганы үчүн Classiclll, калибрлөө үчүн код үчүн Йохен Заунерт, иштетүү экипажы, arduino экипажы, жыгач устасы үчүн Лу жана изилдегендердин баарына чоң рахмат Андан кийин табылгаларын интернетте жарыялаңыз! Башка адамдардын системалары * Мен жаңы эле https://friispray.co.uk/ таба алдым, ачык булагы бар программалык камсыздоо жана Howto * бул система трафареттерди колдонууга мүмкүндүк берет: сонун! https://www.wiispray.com/, эч кандай код же howto * yrwall виртуалдык граффити системасы, эч кандай код же howto. Ideas чалгындоо * 3 көлөмүн көзөмөлдөө үчүн 2 wiimotes колдонот жана банкадагы аралык сенсорун жок кылат: https://www.cl.cam.ac.uk/~sjeh3/wii/. Бул жакшы болмок, анткени аралык сенсору учурда системанын эң алсыз бөлүгү. Бул дагы ачык сүрөттөр үчүн арткы проекциялык экранды колдоно алабыз дегенди билдирет. * Чачыраткычтын бурчун аныктоо үчүн идишке wiimote колдонуңуз. Бул чачыратуучу боек моделине реализмди кошот.

Сунушталууда: