Daftar Isi:

Graffiti Virtual: 8 Langkah
Graffiti Virtual: 8 Langkah

Video: Graffiti Virtual: 8 Langkah

Video: Graffiti Virtual: 8 Langkah
Video: DEMO Graffiti Unlimited Collection 2024, November
Anonim
Grafiti Virtual
Grafiti Virtual

Saya telah melihat beberapa sistem grafiti virtual di web tetapi tidak dapat menemukan informasi yang dipublikasikan tentang cara membuatnya (meskipun lihat halaman tautan terakhir). Saya pikir itu akan bagus untuk bengkel grafiti saya, jadi saya membuatnya sendiri dan telah menerbitkan semua yang Anda butuhkan untuk membuatnya sendiri di sini! Fitur * semua sumber terbuka dan perangkat keras, * biaya < £100 tidak termasuk proyektor dan komputer, * mendeteksi nosel kaleng tekanan dan jarak dari layar, * model cat menetes jika Anda bergerak terlalu lambat! Catatan * instruksi ini cukup tinggi, tapi tolong beri tahu saya jika saya melewatkan sesuatu yang penting, * pengaturan komputasi untuk Linux. Jika Anda membuatnya bekerja pada sistem lain, harap kirimkan instruksi Anda! Keterampilan yang Anda perlukan * pengerjaan kayu untuk membuat layar proyeksi belakang kayu, * sirkuit elektronik dan pemrograman pengontrol mikro Atmel AVR (atau arduino), * dapat menginstal beberapa perpustakaan di komputer Anda untuk memungkinkan pemrosesan berbicara dengan wiimote.

Langkah 1: Cara Kerjanya

Bagaimana itu bekerja
Bagaimana itu bekerja

* Kaleng semprotan memiliki LED infra merah yang bersinar melalui layar proyektor dan terlihat oleh kamera wiimote. * Wiimote mengirimkan koordinat X dan Y kaleng ke komputer melalui tautan radio bluetooth. * Komputer menjalankan program melukis sederhana yang menggunakan proyektor untuk "melukis" garis saat Anda menggambar dengan kaleng. Ini juga menangani pemetaan kamera wiimote ke layar menggunakan sistem kalibrasi 4 titik. * Semprotan juga dapat mendeteksi jaraknya dari layar dan tekanan nosel: semakin jauh Anda menjauh, semakin besar titik yang ditarik, semakin keras Anda menekan nosel, semakin buram titik catnya.

Langkah 2: Komponen

Komponen
Komponen

Berikut adalah semua bit yang Anda butuhkan untuk berkumpul:

* komputer - perlu sekitar 1.4Ghz, bluetooth dan port usb, * lingkungan pemrosesan, * perangkat lunak virtualGraffiti, unduh dari langkah "pengaturan komputer", * nintendo wiimote - beli barang bekas dari ebay, * proyektor - perlu terang jika Anda berencana untuk menggunakan siang hari atau di dalam dengan lampu menyala, * layar proyeksi belakang - buat sendiri, * kaleng semprot virtual - buat sendiri, * penerima kaleng semprot virtual - buat sendiri. Biaya * arduino untuk penerima kaleng (built in usb->serial) £21 * radio rx/tx pair £9 * komponen untuk kaleng semprot bangunan £18 plus enclosure opsional £12 * enclosure opsional untuk receiver £8 * nintendo wiimote - beli barang bekas dari ebay £20

Langkah 3: Layar Proyeksi Belakang

Layar Proyeksi Belakang
Layar Proyeksi Belakang

Layar harus memiliki jumlah tembus pandang yang tepat! Jika tidak cukup transparan, gambar tidak akan terlihat dan LED infra merah tidak akan terlihat oleh kamera wiimote. Jika terlalu transparan maka proyektor akan membutakan dan gambarnya luntur. (Meskipun lihat halaman terakhir untuk cara mengurangi ini).

Saya menggunakan lycra, yang melar sehingga saya bisa meregangkannya agar lebih transparan. Saat ini saya memegangnya dengan paku payung, tetapi saya lulus ke velcro ketika saya mendapatkan akses ke mesin jahit. Saya membuat bingkai kayu dengan bantuan bengkel dan tukang kayu (terima kasih Lou!) Saya membutuhkannya untuk runtuh sehingga saya dapat mengangkutnya dengan sepeda saya. Jika Anda membuatnya untuk tempat tetap maka akan lebih mudah untuk membuatnya. Buat saja pada rasio aspek 4:3, dan cukup kaku untuk tetap tegak. Saya telah menemukan orang cenderung mendorong materi layar sedikit sehingga perlu sedikit kasar.

Langkah 4: Kaleng Semprot

Kaleng semprot
Kaleng semprot
Kaleng semprot
Kaleng semprot

Ini adalah bagian proyek yang paling rumit dan membutuhkan waktu paling lama untuk memperbaikinya. Kabar baiknya adalah Anda tidak memerlukan semua ini untuk membuat sistem yang menyenangkan bekerja. Hal paling sederhana adalah hanya untuk mendapatkan rangkaian dengan sakelar, dan LED infra merah dan resistor. Saat Anda menekan sakelar, LED akan menyala dan terlihat serta dilacak oleh kamera wiimote.

Versi ini lebih maju, karena juga mengukur jarak dari layar dan tekanan nozzle. Kedua hal ini penting ketika Anda benar-benar melukis semprot. Saya ingin membuat sistem pelatihan, jadi penting untuk membuat sistem itu "nyata" mungkin (dalam batas biaya saya). Sirkuitnya cukup sederhana. Lihatlah diagram sirkuit terlampir untuk melihat sendiri. Anda memerlukan keterampilan menyolder dasar dan untuk dapat memasang sirkuit ke veroboard. Juga, Anda harus merasa senang dengan mikrokontroler pemrograman. Membangun sirkuit dari awal vs menggunakan papan arduino opsi 1: jika Anda ingin menggunakan papan arduino dalam kaleng semprot. Gunakan arduino apa adanya dan kurangi separuh baud rate radio tx dalam kode spraycan. opsi 2: Anda ingin menghemat uang tetapi Anda tidak memiliki programmer sekering. Bangun papan dan gunakan kristal eksternal 16MHz. Kurangi separuh baud rate seperti pada opsi 1. opsi 3: Anda ingin menghemat lebih banyak uang dan Anda memiliki pemrogram sekering. Bangun papan, tetapi hilangkan kristal eksternal. Gunakan programmer sekering untuk mengatur atmel untuk menggunakan jam internalnya. Saya percaya programmer paralel DIY ini akan memungkinkan Anda memprogram sekering. Saya menggunakan pemrogram olimex. Gambaran Umum rangkaian Mikrokontroler mengukur output dari sensor jarak tajam 2d120x (info bagus tentang sensor ini di sini) dan potensiometer linier. Ini juga mengukur output dari potensiometer PWM LED. Ini digunakan untuk mengatur output cahaya LED. LED IR yang saya gunakan adalah 100mA dan panjang gelombang puncak adalah 950nm (ideal untuk wiimote). Mikrokontroler menggunakan PWM untuk mem-flash LED dengan sangat cepat. Kami menggunakan mosfet daya IRF720 sehingga mikro tidak membakar outputnya. Saya juga ingin menambah kapasitas untuk LED yang lebih cerah di masa mendatang. Ada LED status yang berkedip setiap kali paket data disiarkan di radio. Jika semuanya bekerja dengan baik, lampu ini akan berkedip sekitar 15Hz. Terakhir, modul pemancar radio dipasang pada pin 3 (pin digital 1 untuk arduino) mikrokontroler sehingga kita dapat mengirimkan informasi yang kita ukur ke komputer. Anda juga MEMBUTUHKAN antena yang terpasang pada papan penerima. Saya menggunakan seutas kawat sepanjang 12 cm. Ini adalah setengah dari apa yang direkomendasikan pada halaman info yang sangat baik ini. Memrogram mikrokontroler Setelah Anda membuat sirkuit, Anda harus mengunggah program (terlampir). Saya menggunakan lingkungan/perpustakaan pemrograman arduino. Anda dapat mengkompilasi ini dengan IDE arduino, dan kemudian memprogramnya seperti yang biasa Anda lakukan. Sirkuit saya dibuat lebih sederhana dengan menggunakan jam 8MHz internal mikro. Jika Anda menggunakan ini, Anda harus mengatur pengaturan sekering untuk menggunakan RC terkalibrasi 8MHz internal: 1111 0010 = 0xf2 Ini berarti Anda harus memiliki programmer yang dapat menulis sekering../avrdude -C./avrdude.conf -V -p ATmega168 -P /dev/ttyACM0 -c stk500v2 -U lfuse:w:0xf2:m Jika Anda tidak memiliki programer semacam ini (misalnya Anda hanya memiliki arduino board), cukup gunakan kristal 16MHz antara pin 9 dan 10 dan semuanya akan berfungsi (belum diuji - Anda mungkin memerlukan kapasitor). Anda juga perlu memodifikasi kode program sehingga baud pemancar dibagi dua. Pengujian Setelah Anda mengumpulkan semuanya dan program dimuat, Anda perlu menyesuaikan kecerahan LED IR. Saya hanya ingin memaksimalkan keluaran cahaya tanpa memanggang LED jadi saya meledakkan beberapa dan berakhir dengan rata-rata imbang 120ma. Jika Anda memiliki multimeter, Anda dapat menyesuaikan ini dengan mudah, jika tidak, cukup sesuaikan potensiometer menjadi cukup tinggi tetapi tidak sepenuhnya! Anda juga dapat memeriksa input analog pada pin 26, 27 dan 28 dari potensiometer penyesuaian PWM, sensor jarak dan potensiometer nozzle. Jika Anda memiliki ruang lingkup Anda dapat memeriksa kereta pulsa yang keluar dari pin 3 ke modul radio TX. Periksa output pwm LED pada pin 11. Anda dapat menggunakan kamera ponsel (atau sebagian besar kamera CCD) untuk melihat LED IR menyala saat Anda menekan tombol nozzle.

Langkah 5: Semprotkan Penerima Kaleng

Penerima Kaleng Semprot
Penerima Kaleng Semprot
Penerima Kaleng Semprot
Penerima Kaleng Semprot

Jika Anda menggunakan semprotan sederhana, Anda tidak perlu sedikit ini.

Kalau tidak, saya hanya menggunakan papan arduino, dengan penerima radio dicolokkan ke pin 2. Ini memudahkan untuk memasukkan data ke komputer melalui USB -> chip serial pada papan arduino. Jika saya akan membuat sirkuit khusus, saya mungkin akan menggunakan FTDI USB -> papan evaluasi serial UART. Anda juga MEMBUTUHKAN antena yang terpasang pada papan penerima. Saya menggunakan seutas kawat sepanjang 12 cm. Ini adalah setengah dari apa yang direkomendasikan di halaman info luar biasa ini. Muat sketsa graffitiCanReader2.pde ke dalam arduino. Dengan kaleng menyala, Anda akan melihat LED status pada kaleng dan papan penerima berkedip dengan cepat. Setiap kali LED kaleng berkedip, paket data dikirim. Setiap kali LED papan penerima berkedip, paket data yang valid diterima. Jika Anda tidak melihat ini, maka ada sesuatu dengan tautan radio. Sesuatu untuk dicoba adalah menghubungkan TX kaleng ke RX penerima dengan seutas kabel. Jika ini tidak berhasil maka Anda mungkin memiliki ketidakcocokan dalam baud rate virtualwire (lihat kodenya). Dengan asumsi Anda memiliki banyak flashing pada papan penerima, Anda harus dapat memantau ini pada port serial usb Anda. Jika Anda memantau port serial (biasanya /dev/ttyUSB0) pada 57600, Anda akan melihat data yang keluar seperti Got: FF 02 Got: FF 03… Angka pertama adalah tekanan, dan yang kedua adalah jarak. Sekarang Anda dapat menjalankan pemrosesan dan menggunakan informasi ini untuk membuat gambar yang cantik! Muat sketsa pemrosesan terlampir (canRadioReader.pde). Jalankan program dan periksa output program. Anda harus mendapatkan frekuensi (yang memberi tahu Anda berapa banyak pembaruan per detik yang diterima penerima - Anda pasti ingin ini setidaknya 10Hz). Anda juga akan mendapatkan jarak dan pengukuran nozzle. Uji kaleng dengan menggerakkan potensiometer nosel dan dengan menggerakkan sepotong kartu di depan sensor jarak. Jika semuanya berfungsi, lanjutkan ke langkah berikutnya - siapkan komputer untuk berbicara dengan wiimote!

Langkah 6: Computer Setup: Processing and the Wiimote

Pengaturan Komputer: Pemrosesan dan Wiimote
Pengaturan Komputer: Pemrosesan dan Wiimote

Utama kami di sini adalah mendapatkan pemrosesan berbicara dengan wiimote. Instruksi ini khusus untuk Linux, tetapi semuanya harus bekerja pada mac dan windows dengan beberapa penelitian tentang cara mendapatkan data wiimote ke dalam pemrosesan. Setelah menginstal pemrosesan, saya menemukan beberapa instruksi di forum, tetapi saya masih memiliki beberapa masalah. Inilah yang harus saya lakukan:

  1. instal pemrosesan
  2. instal perpustakaan bluez: Sudo apt-get install bluez-utils libbluetooth-dev
  3. buat./processing/libraries/Loc dan./processing/libraries/wrj4P5
  4. unduh bluecove-2.1.0.jar dan bluecove-gpl-2.1.0.jar dan masukkan ke./processing/libraries/wrj4P5/library/
  5. unduh wiiremoteJ v1.6, dan masukkan.jar ke./processing/libraries/wrj4P5/library/
  6. unduh wrj4P5.jar (saya menggunakan alpha-11) dan masukkan ke./processing/libraries/wrj4P5/library/
  7. unduh wrj4P5.zip dan unzip ke./processing/libraries/wrj4P5/lll/
  8. unduh Loc.jar (saya menggunakan beta-5) dan masukkan ke./processing/libraries/Loc/library/
  9. unduh Loc.zip dan unzip ke./processing/libraries/Loc/lll/

Kemudian saya menggunakan kode yang terinspirasi dari Classiclll agar tombol dan bilah sensor berfungsi. Kode/sketsa terlampir hanya menggambar lingkaran di mana sumber infra merah pertama ditemukan oleh wiimote.

Untuk memeriksa bluetooth Anda, tekan tombol satu dan dua di wiimote, lalu coba pindai $ hcitool di terminal. Anda akan melihat nintendo wiimote terdeteksi. Jika tidak, Anda perlu melihat pengaturan bluetooth Anda lebih lanjut. Jika semuanya baik-baik saja, muat program wiimote_sensor.pde (terlampir) dan jalankan. Di bagian status bawah layar Anda akan melihat: BlueCove versi 2.1.0 pada bluez mencoba mencari wii Tekan tombol 1 dan 2 pada wiimote. Setelah terdeteksi, lambaikan sumber infra merah Anda (kaleng semprot) di depannya. Anda akan melihat lingkaran merah mengikuti gerakan Anda! Pastikan ini berfungsi sebelum melanjutkan. Jika Anda tidak dapat menjalankannya, cari di forum pemrosesan.

Langkah 7: Mengatur Semuanya

Mengatur Semuanya
Mengatur Semuanya

Download software virtualGraffiti di bawah ini. Ekstrak ke direktori buku sketsa Anda dan kemudian ikuti langkah-langkah ini!

* power up spray can, periksa status lampu LED berkedip. * nyalakan komputer, pasang penerima kaleng semprot, * siapkan layar dan proyektor, * periksa apakah LED status kaleng semprot berkedip, * mulai memproses dan memuat program virtualGraffiti, * periksa apakah Anda mendapatkan indikator serial RX dan TX LED berkedip pada papan arduino, * tekan kedua tombol di wiimote, * lakukan kalibrasi 4 titik saat diminta (letakkan kaleng semprot di atas setiap target secara bergantian, lalu tekan nozzle sampai tulisannya menjadi merah). * Selamat bersenang-senang!

Langkah 8: Sumber Daya, Tautan, Terima Kasih, Ide

Tautan Berikut adalah tautan yang sangat berharga dalam membuat proyek ini berhasil: Info RF: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Pemrosesan: www.processing.org Menggunakan wii dengan pemrosesan: 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 titik kalibrasi: https://www.zaunert.de/jochenz/wii/Terima kasih! Tanpa banyak orang yang mempublikasikan karya mereka, proyek ini akan jauh lebih sulit dan lebih mahal. Terima kasih banyak untuk semua kru open source, orang yang meretas wiimote, Classiclll untuk membuat wiimote mudah digunakan dengan pemrosesan, Jochen Zaunert untuk kode untuk melakukan kalibrasi, kru pemrosesan, kru arduino, Lou untuk bantuan pertukangan, dan semua yang menjelajahi, membuat dan kemudian mempublikasikan temuan mereka secara online! Sistem orang lain * Saya baru saja menemukan https://friispray.co.uk/, dengan perangkat lunak open source dan howto * sistem ini memungkinkan penggunaan stensil: keren! https://www.wiispray.com/, no code or howto * yrwall's virtual graffiti system, no code or howto. Ide untuk eksplorasi * gunakan 2 wiimotes untuk melakukan pelacakan volume 3D dan singkirkan sensor jarak di kaleng: https://www.cl.cam.ac.uk/~sjeh3/wii/. Ini akan bagus karena sensor jarak saat ini merupakan bagian terlemah dari sistem. Ini juga berarti kita dapat menggunakan layar proyeksi belakang yang tepat untuk gambar yang lebih jelas. * gunakan wiimote di kaleng untuk mendeteksi sudut semprotan kaleng. Ini akan menambah realisme pada model cat semprot.

Direkomendasikan: