Arduino Lilypad Interactive Passion Sensing Scarf: 7 Steps (with Pictures)

Arduino Lilypad Interactive Passion Sensing Scarf: 7 Steps (with Pictures)

Isi kandungan:

Anonim

Ini adalah kali pertama saya bekerja dengan Lilypad Arduino. Saya telah mahu mencuba sesuatu yang berurusan dengan litar lembut untuk sementara waktu sekarang. Projek ini adalah apa yang saya jumpai. Konsep ini didasarkan pada rakan saya Ethan Dicks dari projek Arca Sheep yang baru muncul diFusefactory.org.

The Lilypad Interactive Passion Sensing Scarf berfungsi seperti itu:

Nombor selendang yang dipakai oleh seseorang berjalan bersendirian akan menyala dengan warna Blue for Lonely. Apabila pemakai selendang nombor dua bergabung dengan nombor satu, kedua selendang itu akan saling mengenali dan kemudian menyala Red for Love.

Rancangan masa depan untuk sentuhan kapasitansi: yang akan membolehkan warna menjadi Pulsate for Passion jika ada pemakai menyentuh selendang pemakai yang lain.

Di bawah adalah video supaya anda dapat melihat bagaimana ia berfungsi. Sila ambil perhatian bahawa ini adalah kerja yang sedang dijalankan, saya hanya mempunyai elektronik yang terbenam dalam satu syal sekarang. Saya masih berusaha dan menyempurnakan ini. Sila isikan percuma untuk berkongsi idea anda!

Bekalan:

Langkah 1: Bahan

Berikut adalah senarai item yang perlu anda selesaikan projek ini. Untuk barangan Lilypad, saya membeli segalanya dari FunGizmos.com. Anda memerlukan dua untuk membuat dua tudung.

Tip Simpanan: Jika anda perlu menjimatkan wang, anda boleh mempunyai satu daripada selendang berfungsi sebagai pemancar sahaja, yang hanya memerlukan pemancar IR dan bateri.

Komponen elektronik

1. Lilypad Arduino Board

2. Lilypad Tri-Warna LED

3. Pemegang Sel Syiling

4. Bateri Sel Benda 3V 20mm

(atau anda boleh menggunakan mana-mana kuasa lain dan papan bateri untuk Lilypad)

5. Thread konduktif

6. Papan Butang Lilypad (pilihan)

7. (x2) Pengesan Inframerah dan Pengesan Phototransistor - boleh didapati di RadioShack

8. Resistor 10Kohm dan 56ohm

9. Lembaga pelarian asas FTDI (digunakan untuk memprogram Lilypad)

Komponen Scarf - Untuk keperluan kain, saya pergi ke kedai kraf tempatan saya.

1. Saya menggunakan dua tudung bulu berwarna yang berbeza

2. Dua cetakan kain yang berbeza (saya mempunyai 1 yd setiap)

3. Heat'n Bond Ultra Hold Iron-On Adhesive

4. Cat kain

5. Patch besi (pilihan)

Langkah 2: Penciptaan Corak

Untuk selendang saya, saya mahu api untuk reka bentuk. Saya menggunakan folder fail lama dan mengeluarkan bentuk api di atasnya untuk digunakan sebagai corak.

Sebaik sahaja saya mempunyai bentuk corak saya, saya menggunakan pelekat kain dan menyetrika ke bahagian bawah kain. Pelekat ini mempunyai kertas belakang di sebelah (anda mahu bahagian ini).

Dengan pelekat sekarang pada kain, saya mengalir api saya ke bahagian kertas dan kemudian memotong bentuk. Jangan keluarkan kertas lagi! Simpan ini sehingga anda bersedia untuk menyeterika pada selendang.

Petua: Besi pada pelekat sebelum memotong bentuk corak kain anda. Ini akan menjadikan kain anda daripada menggoreng!

Langkah 3: Jahitan Elektronik

The MakeZine mempunyai tutorial video yang hebat oleh Becky Stern apabila bermula dengan Lilypad. Inilah yang saya sebut ketika saya mula dengan projek ini.

Seperti yang dapat anda lihat dalam gambar pertama, saya mempunyai papan litar kuasa terlalu dekat dengan Lilypad. Saya kemudian terpaksa memindahkannya sebaik sahaja saya mula menjahit jejak litar saya.

Litar sebenar agak mudah. Sambungkan Positif Kuasa dan Ground dari Bateri ke Lilypad. Kemudian pin keluar adalah seperti berikut:

int statusPin = 13; // status LED dihidupkan ke pin digital 13

int redPin = 11; // R petal pada modul LED RGB disambungkan ke pin digital 11

int greenPin = 9; // G kelopak pada modul LED RGB disambungkan ke pin digital 9

int bluePin = 10; // B petal pada modul LED RGB disambungkan ke pin digital 10

int sensorPin = 5; // Phototransistor IR disambungkan ke pin digital 5

int irPin = 6; // LED IR disambungkan ke pin digital 6

CATATAN: lakaran Arduino lengkap adalah pada akhir Pengajaran ini

TIP: Anda boleh menggunakan beberapa potong kain untuk memegang jejak litar anda. Adalah penting bahawa mereka tidak menyentuh atau menyentuh antara satu sama lain supaya anda tidak membuat keputusan yang singkat.

TIP: Seperti yang dapat anda lihat, bahagian bawah selendang anda kelihatan seperti hodoh dengan jejak litar yang sedang berjalan. Anda boleh menutupnya dengan menjahit selendang lain di atas (meninggalkan bukaan untuk program Lilypad anda) atau dengan memotong syal dari kain tambahan yang anda gunakan untuk bentuk corak anda.

Langkah 4: Pemancar Inframerah dan Fototransistor

Pemancar IR adalah yang berwarna dalam warna, dan Phototransistor (pengesan) adalah satu dengan pakej yang jelas.

Anda perlu menambah beberapa perintang ke pemancar dan pengesan. Saya menggunakan perintang 10Kohm (coklat, hitam, oren) pada pengesan dan perintang 56ohm (hijau, biru, hitam) untuk pemancar.

Untuk menyembunyikan komponen sejak pemancar dan pengesan akan berada di bahagian depan selendang, saya menggunakan patch besi pada. Saya menggulung petunjuk masing-masing pemancar dan pengesan, kemudian menggunakan pisau exacto dan memotong celah "X" ke dalam setiap mata. Ini membolehkan saya untuk menolak pemancar dan pengesan melalui patch.

Menyambung: Pengemulsi dan pengesan masing-masing dapat disambungkan dari POWER kepada RESISTOR ke PIN LILIPAD untuk IR LED ke GROUND. Rujuk kepada skema pada langkah ini untuk memahami lebih baik. Lebih banyak maklumat mengenai pull up resistors dengan Make Online.

CATATAN: Skema penuh adalah pada akhir Pengajaran ini.

TIP: Anda tidak akan dapat melihat cahaya LED IR. Jika anda melihatnya melalui kamera digital anda, anda akan dapat. Anda akan melihat dalam video saya bahawa anda dapat melihat pemancar sedang menyala.

Langkah 5: Corak Iron-on

Sebaik sahaja anda bersedia untuk iron-on corak anda. Tetapkan seterika ke haba sederhana dengan NO steam. Kupas sokongan kertas dan susun corak anda di mana anda ingin mereka berada di selendang.

Saya memastikan saya dapat menyembunyikan mana-mana thread konduktif yang akan dilihat.

Bergantung pada kain selendang anda, anda tidak mahu memegang besi terlalu lama di satu tempat. Saya menggunakan bulu jadi saya terpaksa bergerak cepat dan menekan dengan cepat agar dapat mencairkan dan / atau membakar kain.

Sebaik sahaja semuanya telah disetrika ke selendang, saya pergi mengelilingi tepi menggunakan cat kain. Ini membantu untuk melayani dua tujuan. Ia membantu untuk menjaga kain yang selamat dan juga menambah pop kecil kepada bentuk.

TIP: Biarkan cat kain kering pada waktu malam di kawasan yang hangat. Ini akan membantu cat kering. Jika anda mempunyai ini dalam garaj sejuk atau sesuatu maka cat kemudian akan retak.

CATATAN: Sekiranya anda berguna dengan jahitan atau mesin jahit, anda boleh menjahit corak. Saya tidak tahap itu lagi jadi ini adalah cara yang paling mudah bagi saya untuk melakukannya.

Langkah 6: Lakaran Arduino

Saya telah menambah lakaran arca domba asal Ethan Dicks ke langkah ini. Saya akan menambah fail lakaran yang dikemaskini di kemudian hari apabila saya telah menyelesaikan reka bentuk. Ini sekurang-kurangnya akan bermula dengan dua tudung kerja.

/ * ++ Sheep - Gunakan kombinasi RGB dan IR LED dan photosensor untuk meniru tingkah laku orang ramai-reaktif (muncul) Kod ini diikuti dengan Bengkel Kilang Fuse "Buat Arca Kelakuan Muncul Dengan Arduino" http: // thefusefactory. org / 2009/09/03 / make-an-emergent-tile-with-the-arduino / The scultpture, atau "domba", adalah kumpulan artistik kit Lilypad Pro (base Lilypad yang melekat pada kuasa 5V Lilipad unit) dengan LED tiga warna dipasang pada MCU 328V pada papan Lilypad. Prototipe Lilypad Besar terletak di antara PSU dan Lilypad sendiri untuk mengarahkan kuasa dan memegang perintang dan komponen IR. Ilusi quadraped selesai oleh 1W dan LED 2W dipateri ke "badan" PSU dan dibengkokkan sebagai kaki. Kod bergantung kepada pemboleh ubah yang berterusan yang dipanggil "mood" - apabila ia adalah sifar atau hampir sifar, domba itu "gembira". Di bawah sifar dan domba adalah "kesepian"; di atas sifar dan biri-biri berasa sesak atau gelisah. Kesepian diwakili oleh biru, kebahagiaan oleh hijau, dan kegelisahan oleh merah. Di antara mengekspresikan "mood" (menggunakan PWM untuk menghalang RGB LED), bahagian utama kod tersebut memeriksa denyutan IR dari kambing lain dan boleh memancarkan denyutan sendiri untuk "memanggil" kepada domba lain. Dengan memperbetulkan pembolehubah dalaman, domba boleh lebih sensitif terhadap panggilan domba lain. Tingkah laku yang muncul muncul apabila berbilang biri-biri dipasang dan diletakkan di atas meja, memanggil antara satu sama lain. Keburukan denyutan IR boleh mendorong domba untuk gembira atau mungkin gelisah. Sedikit denyutan dan domba mempamerkan kesepian. Sheep.pde - mengubah Arduino ke arca tingkah laku yang muncul Copyright (C) 2009, Ethan Dicks Program ini adalah perisian percuma: anda boleh mengagihkan semula dan / atau mengubahnya di bawah syarat GNU General Public License seperti yang diterbitkan oleh Perisian Bebas Yayasan, sama ada versi 3 Lesen, atau (pada pilihan anda) versi yang lebih baru. Program ini diedarkan dengan harapan ia berguna, tetapi TANPA JAMINAN MANA-MANA; tanpa jaminan yang tersirat dari KEMUNGKINAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat GNU General Public License untuk maklumat lanjut. Anda sepatutnya menerima salinan GNU General Public License bersama-sama dengan program ini. Jika tidak, lihat.-- * // * ++ Pengubahsuaian ubahsuaian - sebelum kod mula, letakkan semua parameter laras pengguna pada bahagian atas supaya mudah untuk menala. - * /// Definisi "mood" nilai #define MOODMAX 80 #define MOODMIN (-1 * MOODMAX) #define LONELY (MOODMIN) #define HAPPY (0) #define CROWDED (MOODMAX) #define MSTEPS 5 #define BLEAT_VOLUME 1 / / Definisi global assigments pin (untuk memudahkan panggilan fungsi individu) int statusPin = 13; // status LED LED disambungkan ke pin digital 13int redPin = 11; // R petal pada modul LED RGB disambungkan ke pin digital 11int greenPin = 9; // G kelopak pada modul LED RGB disambungkan ke pin digital 9int bluePin = 10; // B petal pada modul RGB LED disambungkan ke pin digital 10int sensorPin = 5; // Phototransistor IR disambungkan ke pin digital 5int irPin = 6; // LED IR disambungkan ke pin digit 6 // Mula mengharapkan gembira int mood = HAPPY; / // Jejak pengertian input pinint eye = 0; / / Dan ingat bagaimana "kuat" kita "bleating" (berkelip IR kami LED) int bleat = BLEAT_VOLUME; / * ++ setup () - Persekitaran Arduino akan memanggil kod dalam persediaan () satu kali sahaja, selepas papan semula ditetapkan. Letakkan kod dalam fungsi ini untuk memulakan pin I / O dan perkara - perkara yang hanya perlu dilakukan sekali dalam jangka masa. - * / tidak sahpersediaan() {// untuk debugging Serial.begin (9600); Serial.println ("Sheep v0.02"); // Kebanyakannya, pin I / O kami adalah output kepada LED pinMode (statusPin, OUTPUT); / / set statusPin menjadi output pinMode (redPin, OUTPUT); / / set redPin menjadi output pinMode (greenPin, OUTPUT); / / set greenPin menjadi output pinMode (bluePin, OUTPUT); / / set bluePin menjadi output pinMode (irPin, OUTPUT); / / menetapkan irPin menjadi output // Satu pengecualian adalah phototransistor pinMode IR (sensorPin, INPUT); / / set sensorPin menjadi input Serial.print ("Setting IR 'bleat' to"); Serial.println (bleat); analogWrite (irPin, bleat); } / * ++ loop () - persekitaran Arduino akan memanggil kod dalam gelung ini selama-lamanya. Letakkan perkara menarik di sini yang bertujuan untuk berjalan tanpa henti selepas persediaan () dipanggil sekali. Satu-satunya jalan keluar dari gelung ini adalah untuk menetapkan semula papan. - * / tidak sahgelung() // berlari berulang-ulang {// Tetapkan LED RGB kami untuk mencerminkan "mood" kami, yang semestinya akan berubah dari semasa ke semasa set_mood (mood); / // Kurangkan berapa cepat kita bertindak balas terhadap kelewatan 'kambing' lain (100); / // kelewatan untuk.1 second // sensorPin mempunyai perintang pullup 10K, jadi * tiada * laporan cahaya a 1. Kita perlu / // membalikkan rasa logik pin jika kita ingin memikirkan cahaya secara logik // sebagai 1 mata pada / 0-mata = 1 - digitalRead (sensorPin); // tetapkan mata kepada 1 jika kita "melihat" mana-mana cahaya IR // Laporkan status sekarang kami setiap masa melalui gelung Serial.print ("Mood adalah"); Serial.print (mood); Serial.print (".ensor adalah"); Serial.println (mata); // Jika kita melihat denyutan dari 'domba' yang lain, tambah mood, tetapi tidak melewati MOODMAX jika (mata) {// kerana manusia tidak dapat "melihat" cahaya inframerah, gunakan status LED sebagai penunjuk digitalWrite (statusPin, HIGH); // echo IR pengesanan input pada status LED mood + = MSTEPS * 2; jika (mood> MOODMAX) {mood = MOODMAX; }} / / Jika kita tidak melihat mana-mana denyutan IR, mengurangkan mood, tetapi tidak di bawah MOODMIN else {// kerana manusia tidak dapat "melihat" cahaya inframerah, gunakan status LED sebagai penunjuk digitalWrite (statusPin, LOW) // echo IR pengesanan input pada mood LED status - = 1; jika (mood <MOODMIN) {mood = MOODMIN; }}} / * ++ set_mood - menukar "mood" kepada skema warna Mood berbeza dari beberapa nombor negatif ke nilai yang sama sebagai nombor positif (sejauh ini, -80 / + 80 dan -100 / + 100 menghasilkan hasil yang berpatutan). Secara amnya, kontinum mood untuk pemetaan warna menyerupai berikut: Mood -100 0 +100 Lonely -> Happy -> CrowdedR 0 0 0 30 100G 0 30 100 70 0B 100 70 0 0 0 - * / void set_mood (int mood) {// Mulakan dengan setiap warna dimatikan - melaraskan ke atas berdasarkan "mood" unsignedchar kemerahan = 0; unsignedchar greenness = 0; unsignedchar blueness = 0; #ifdef DEBUG Serial.print ("Mood adalah"); Serial.println (mood); #endif // blueness adalah semua tentang mood yang kurang maka senang jika (mood <HAPPY) {blueness = abs (mood); greenness = MOODMAX + mood; } // kemerahan adalah semua tentang mood yang lebih daripada gembira elseif (mood> HAPPY) {kemerahan = mood; greenness = MOODMAX - mood; } // greenness adalah tentang mood yang berada di sekitar gembira lain {greenness = MOODMAX; } // Tetapkan LED untuk mencerminkan warna mood semasa kami (kemerahan, kelembutan, keberanian); } / * ++ warna (r, g, b) - tetapkan tri-warna LED ke nilai warna yang diminta Menggunakan analogWrite (pin, nilai) untuk menetapkan nilai PWM bagi setiap warna LED individu Warna LED Tri- alat anod, jadi untuk membuat cahaya, kita tanah pin yang dikehendaki. Untuk membalikkan gelombang PWM, kita menolak keamatan yang diingini dari 255, supaya, misalnya, jika kita ingin merah, secara logiknya kita melewati nilai sifar, tetapi tetapkan nilai PWM kepada 255 supaya pin didorong tinggi 100% masa.Untuk mendapatkan kecerahan maksimum merah, kita melewati nilai logik sebanyak 255, tetapi tetapkan nilai PWM kepada 0, tarik pin itu 100% pada masa yang sama.-- * / void color (unsignedchar red, unsignedchar green, unsignedchar blue) // fungsi penjanaan warna {#ifdef DEBUG Serial.print ("warna ("); Serial.print (merah, HEX); Serial.print (biru, HEX); Serial.print (hijau, HEX); cetak (")"); #endif // membalikkan rasa nilai PWM ketika memanggil analogWrite () untuk setiap analogWrite warna (redPin, 255-merah); analogWrite (bluePin, 255-biru); analogWrite (greenPin, 255-green); }

Langkah 7: Skematik

Skema dilampirkan pada langkah ini sebagai fail Adobe PDF. Ini adalah fail biri-biri yang asli, tetapi saya menetapkan tudung menggunakan kaedah yang sama.

Jika anda menambah idea ini, yang saya harap ada yang akan … e-mel saya, saya suka melihat apa yang telah ditambahkan oleh orang lain.

- Pikirkan Ia - Bina Ia - Kongsi Ini -

www.ArduinoFun.com