Isi kandungan:

Interaktif, Mood Light Open Source: 9 Langkah (dengan Gambar)
Interaktif, Mood Light Open Source: 9 Langkah (dengan Gambar)

Video: Interaktif, Mood Light Open Source: 9 Langkah (dengan Gambar)

Video: Interaktif, Mood Light Open Source: 9 Langkah (dengan Gambar)
Video: Rental PS Sepi Tahun 2023 2024, Julai
Anonim
Interaktif, Mood Light Open Source
Interaktif, Mood Light Open Source

Instruksional ini akan melalui bagaimana membuat suasana mood interaktif dan pelbagai fungsi. Inti projek ini adalah BlinkM I2C RGB LED. Semasa saya melayari laman web suatu hari, BlinkM menarik perhatian saya, dan saya hanya berfikir bahawa itu terlalu sejuk untuk dilalui. Oleh itu, beberapa bulan kemudian, saya memutuskan untuk menjadikan suasana mood ringan menggunakannya. Dan ini dia!

Langkah 1: Apa yang Anda Perlu

Projek ini boleh menjadi sangat murah jika anda menggunakan barang yang betul. Saya akan perhatikan bahagian ganti yang boleh digunakan untuk membuatnya lebih murah untuk dibuat. Saya hanya menggunakan beberapa komponen yang sedikit lebih mahal, kerana wajahnya menjadikan proses pembinaan sedikit lebih mudah.

Sumber cahaya:

LED Berkawal BlinkM RGB I2C

Pengawal:

Mikrokontroler Arduino - Saya menggunakan 'Arduino Nano' kerana saya memerlukan sesuatu yang sangat kecil, kerana jumlah ruang yang ada di dalam 'lampu sentuh' yang digunakan untuk menempatkan segalanya

Perumahan:

Saya mempertimbangkan banyak lampiran yang berbeza untuk cahaya suasana ini, dan akhirnya saya memutuskan sesuatu yang kita semua kenal: lampu-lampu kubah sentuh-putih, putih. Saya menjumpai depot dua pek di rumah dengan harga sekitar $ 4. Jumlah ruang dalam lampu ini lebih dari cukup untuk memuatkan semua komponen, jika anda melakukannya dengan betul.

Kuasa / Penyambung:

Pada mulanya, saya fikir akan lebih baik untuk menghabiskan kuasa bateri ini (kerana perumahan sudah mempunyai, ruang bateri), tetapi tidak praktikal jika anda akan menggunakannya dalam jangka masa yang panjang. Sebagai gantinya, saya menggunakan soket kuasa 5.5mm DC dari rak radio dengan transformer 12V 150Ma yang saya letak. Pengatur di arduino menurunkan 12 volt, dan 150Ma mempunyai banyak arus untuk menghidupkan segalanya. Untuk wayar, saya hanya menggunakan apa sahaja yang saya ada. Pastikan anda menggunakan wayar teras padat.

Komponen:

Komponen tersebut digunakan untuk membuat tiga sensor untuk cahaya suasana: sensor suara, sensor 'ketuk', dan sensor cahaya. Untuk sensor suara, anda memerlukan: - LM741 Op-Amp- Electret Microhone (3-lead) - 2.2k perintang- 100k resisor - 200k perintang - 0.47uf kapasitor elektrolitik - 0.047uf kapasitor seramik - 2x 10k perintang - Diod Untuk Sensor 'ketuk', anda hanya memerlukan: - Elemen Piezo (anda boleh menyelamatkannya dari mainan elektronik tertentu, telefon, dan banyak alat elektronik lain yang berbunyi, atau anda boleh mendapatkannya dari mouser, radioshack, dll.). - 1M resistor … Dan untuk sensor cahaya, anda memerlukan: - Sel CdS (LDR), lebih disukai yang sangat besar (lebih banyak resolusi). - Perintang 10K - tajuk 3-pin & wayar penyambung berkerut (pilihan)

Yang lain

Saya menggunakan papan roti kerana saya tidak terlalu mahu menyolder. Saya juga menggunakan banyak wayar penyambung berkerut untuk membuat semua sambungan lebih selamat, tetapi itu adalah pilihan. Sebagai alternatif, anda boleh menggunakan papan pengembangan homebrew untuk menyokong mikro ATmega168, dan menggunakan ATmega168 gaya DIP (yang panjang dengan petunjuk yang lebih besar). Saya tidak pasti seberapa baiknya, tetapi ia pasti patut dicuba. Sekiranya anda tidak memiliki / mempunyai uang untuk papan roti, anda boleh memasukkan ATmega168 biasa ke PCB dan menambahkan pengatur, sambungan pengaturcaraan, dll.

Langkah 2: Siapkan 'Touch touch'

Siapkan 'sentuh Lampu'
Siapkan 'sentuh Lampu'
Siapkan 'sentuh Lampu'
Siapkan 'sentuh Lampu'
Siapkan 'sentuh Lampu'
Siapkan 'sentuh Lampu'
Siapkan 'sentuh Lampu'
Siapkan 'sentuh Lampu'

Pertama, kita perlu membuat 'lampu sentuh' yang murah yang kita dapat di depot di rumah dengan suasana yang mesra. Pertama, balikkan lampu dan lepaskan penutup bateri dan skru. Di dalam ruang bateri, anda akan melihat lekapan bola lampu. Keluarkan, dan buang dan bola lampu. Seterusnya, buka selongsong. Sekarang kita perlu berurusan dengan kekuatan. Tanggalkan bahagian logam di bahagian tengah bateri serta wayar yang menghubungkannya ke salah satu kenalan bateri. Kabel pateri ke kenalan bateri seperti yang ditunjukkan. Anda juga mungkin mahu melabelnya jika anda tidak mempunyai wayar berwarna. Kami juga akan menjadikan suasana hati ini dapat dikendalikan melalui alatubah dinding. Bor lubang menggunakan bit gerudi dengan ukuran yang sama dengan diameter soket kuasa DC. Kemudian masukkan ke dalam sehingga rata dengan selongsong. Pengubahsuaian terakhir yang perlu kita buat di sini adalah dengan menambahkan sensor ketukan piezo. Sebaiknya pasangkannya di 'rim' plastik untuk kepekaan yang lebih baik. Saya memaparkannya kemudian di instruksional ini yang dipasang di tempat lain, tetapi itu hanya kerana saya terpaksa membuka dan menutup selongsong semasa ujian sehingga wayar mula pecah. Cukup lekatkannya ke plastik, tetapi pastikan ia tidak menghalang pergerakan mekanikal pada kubah movabke! (iaitu jangan biarkan terlalu banyak melekat)

Langkah 3: Tambahkan Perlindungan Litar Kuasa

Tambahkan Perlindungan Litar Kuasa
Tambahkan Perlindungan Litar Kuasa

Bahagian ini adalah alat tambah sederhana yang menggunakan dioda untuk melindungi pengubah dinding / bateri daripada digoreng jika anda memasang bateri pada masa yang sama anda menggunakan soket kuasa DC. Anda boleh menggunakan sebarang diod penyekat selagi penilaian voltan maksimum untuknya lebih tinggi daripada penilaian pengubah dinding. Bahagian berlabel 'VIN' di jalur kuasa yang tidak terkawal di papan roti (yang menuju ke VIN di arduino). Bahagian yang berlabel 'DCPower' adalah soket kuasa DC. Atas sebab-sebab tertentu, program yang saya gunakan untuk membuat skema ini sangat memilih label, jadi itulah yang membolehkan saya menamakannya. CATATAN: Sekiranya anda tidak membuat litar ini, anda TIDAK akan dapat menyimpan bateri ke dalam ruang bateri pada masa yang sama anda mempunyai lampu mood yang terpasang pada pengubah dinding, jika tidak, ia akan merosakkannya.

Langkah 4: Tambahkan Breadboard, Arduino, dan BlinkM

Tambahkan Breadboard, Arduino, dan BlinkM
Tambahkan Breadboard, Arduino, dan BlinkM

Sebelum kita menambah papan roti, kita perlu melindungi kenalan bateri dari sandaran papan roti logam (iaitu, jika anda mempunyai plat logam yang melekat pada anda. Sekiranya tidak, langkau langkah ini). Letakkan beberapa pita scotch di atas semua kenalan logam untuk memastikan ia terlindung. Kami tidak mahu wayar terdedah. Sekarang lem ke bawah (saya menggunakan lem panas) papan roti di atas petak bateri. Nasib baik bagi kita, kebetulan sesuai. Sekarang pasangkan wayar positif (+) dan negatif (-) dari langkah 2 ke salah satu jalur kuasa positif dan negatif papan roti. Sekarang kita dapat menghubungkan arduino dan sekejap. Inilah sambungan pin:

  • A5 - Jam (berlabel 'c' di BlinkM)
  • A4 - Data (berlabel 'd' di BlinkM)

Dan yang telah anda lakukan, sambungkan VCC UNREGULATED (+) ke pin 'VIN' di arduino, dan VCC yang DILULUSKAN ke pin (+) di BlinkM. Kemudian sambungkan GND pada arduino dan BlinkM ke GND pada jalur kuasa, dan jambatan kedua-dua jalur kuasa GND bersama-sama. HATI-HATI untuk tidak mencampuradukkan hubungan ini, atau anda boleh menggoreng BlinkM.

Langkah 5: Sensor - Bunyi, Ketuk, dan Cahaya

Sensor - Bunyi, Ketuk, dan Cahaya
Sensor - Bunyi, Ketuk, dan Cahaya
Sensor - Bunyi, Ketuk, dan Cahaya
Sensor - Bunyi, Ketuk, dan Cahaya
Sensor - Bunyi, Ketuk, dan Cahaya
Sensor - Bunyi, Ketuk, dan Cahaya

Selanjutnya adalah sensor. Sensor cahaya adalah yang paling mudah dibina. Kawat yang pergi ke kanan menghubungkan ke arduino. Maklumat lebih lanjut mengenai pin yang disambungkan oleh sensor adalah langkah seterusnya. Sensor suara agak keras, tetapi tidak terlalu rumit. PERHATIAN: Saya tidak menunjukkan litar pembahagi voltan di sini. 2.5V dalam skema harus disediakan melalui sesuatu yang disebut 'pembahagi voltan'. Ini adalah litar yang sangat sederhana yang terdiri daripada pelbagai perintang tetap, atau periuk (potensiometer). Gunakan periuk 50K untuk litar ini. 'Pembahagi voltan' Google dan lihat entri wikipedia untuk mendapatkan bantuan membina. EDIT 9/27/08: Saya membuang litar suara ini dan sebaliknya menggunakan satu yang diselamatkan dari loket lampu yang diaktifkan dengan suara. Litar di sini tidak berfungsi dengan baik; Saya tidak pasti mengapa, tetapi reka bentuknya cacat; ada yang tidak betul. Saya perhatikan litar dari loket menggunakan op-amp SMD LM386. Saya hanya menyolder sebelum perintang menuju LED, VCC, dan GND. Kemudian yang harus saya lakukan adalah memanipulasi nilai-nilai dalam perisian sedikit, dan presto! cahaya suasana responsif suara yang lebih baik berfungsi. Pada masa sekarang, video cahaya yang berdenyut ke muzik adalah ketika rangkaian asal digunakan. Mungkin saya akan memuat naik satu lagi yang menunjukkan reka bentuk yang lebih baik (nampaknya ia bertindak balas terhadap muzik kerana litar baru). Saya tidak pasti bagaimana menyolder elemen piezo, jadi saya meneka dan menyoldernya seperti yang ditunjukkan. Ia berfungsi. Kekutuban piezo tidak menjadi masalah. Perintang ada di papan roti (tidak ditunjukkan). CATATAN PENTING lain: Nilai untuk litar ini AKAN berbeza dari yang anda buat, jadi anda perlu melakukan beberapa perubahan pada kod. Sekiranya anda mempunyai pertanyaan mengenai nilai-nilai ini, sila beritahu saya.

Langkah 6: Cari Ruang untuk Sensor, dan Sambungkan Semua

Cari Ruang untuk Sensor, dan Sambungkan Semua
Cari Ruang untuk Sensor, dan Sambungkan Semua
Cari Ruang untuk Sensor, dan Sambungkan Semua
Cari Ruang untuk Sensor, dan Sambungkan Semua

Bahagian ini tidak boleh terlalu keras. Sarung 'lampu sentuh' mempunyai ruang yang cukup untuk memenuhi semua yang kita perlukan. Saya meletakkan sensor di mana sahaja mereka sesuai. Semua sambungan adalah:

  • Pin A6: Sensor bunyi - CATATAN: untuk pengguna nano bukan arduino, arduino lain tidak mempunyai pin analog ke-7. Anda perlu mengubahnya dalam kod.
  • Pin A3: Sensor Piezo (sensor ketuk)
  • Pin A0: Sensor cahaya

Pastikan anda tidak menyambungkan pendorong (+) sensor ke jalur kuasa yang tidak terkawal, atau anda akan menggorengnya.

Langkah 7: Uji Ia

Uji Ia
Uji Ia
Uji Ia
Uji Ia

Pastikan sambungan kuasa baik; pasangkannya menggunakan penyesuai kuasa, dan cuba gunakan bateri. Masalah yang biasa berlaku ialah hubungan yang lemah dengan positif. CATATAN: Saya tahu bahawa gambar tidak menunjukkan sensor cahaya; Saya mengambilnya sebelum menambah bahagian itu.

Langkah 8: Program, Tutup, & Gunakannya

Program, Tutup, & Gunakannya
Program, Tutup, & Gunakannya
Atur Program, Tutup, & Gunakannya
Atur Program, Tutup, & Gunakannya
Atur Program, Tutup, & Gunakannya
Atur Program, Tutup, & Gunakannya

Kod yang saya gunakan menggunakan perpustakaan yang dibuat oleh Tod E. Kurt (www.todbot.com/blog) dan pembuat BlinkM (ThingM). Saya akan cuba menambah nota dalam kod apabila saya boleh menjadikannya lebih difahami; Saya agak sibuk pada masa sekarang. Anda mesti membuka pustaka kod (fail berlabel "BlinkM_funcs.h") dibuka dalam perisian arduino semasa memuat naik kod atau tidak akan berfungsi. Sekiranya anda ingin melihat kodnya tetapi tidak mempunyai perisian arduino, anda boleh membukanya dengan program pemprosesan kata (alias wordpad untuk pengguna windows). Idea untuk fungsi baru dialu-alukan. Jangan ragu untuk menghantarnya; Saya mahu menjadikan sumber terbuka ini. Tujuan cara saya menyusun kod adalah supaya fungsi baru dapat ditambahkan dengan mudah. Beberapa fungsi diprogramkan ke dalam BlinkM oleh pengeluar (ThingM), tetapi dua daripadanya telah saya buat; 'Light Sound' dan 'Mimic Light'. Sekarang ini mempunyai yang berikut:

  • Mood Light - Perlahan memudar ke warna rawak
  • Lilin - Kelipan seperti lilin dengan oren dan kuning
  • Refleksi Air - 'Shimmers' dengan warna biru, pirus, dan sian
  • Warna Musim - Menukar warna musiman (saya rasa warnanya biru, hijau, ungu, dan oren)
  • Ribut Petir - Berkelip kadang-kadang mensimulasikan kilat
  • Lampu Henti - Berubah dari merah ke kuning menjadi hijau dan kembali lagi
  • Mimic Light - Merakam urutan hingga 50 kitaran hidup / mati cahaya (anda boleh menggunakan lampu suluh), 'menghafal' masa hidup / mati, dan kemudian memainkannya kembali dalam gelung yang tidak pernah berakhir.
  • Suara Cahaya - Berdenyut dengan suara muzik

Ketuk ringan pada kubah lut untuk menukar fungsi pada bila-bila masa. Terdapat satu pengecualian dari peraturan ini: apabila anda mencapai fungsi 'cahaya tiruan', ia akan menyala hijau. Sekiranya anda mengetuk kubah semasa ia berkelip, ia akan menuju ke fungsi terakhir ('cahaya bunyi'). Sekiranya anda hanya menunggu, ia akan menuju ke fungsi 'cahaya tiruan'. Apabila anda sampai ke fungsi 'lampu suara', Anda tidak dapat mengubah fungsi dan pergi ke fungsi pertama, kerana cara membaca sensor suara. Sekarang datang bahagian yang sukar. Untuk menutup penderitaan suasana hati, anda harus mengambil beberapa langkah berhati-hati. Mula-mula, anda harus meluruskan mata air penyokong dengan tab kecil di kubah plastik. Oleh kerana soket kuasa DC ada di pelek, dan wayar masuk ke papan roti, anda harus melekatkan kubah plastik di atas wayar PERTAMA, kemudian sejajarkan lajur skru pelek luar dengan lekukan pada kubah plastik. Pastikan semua tab sejajar dengan penempatan pegas penyokong, yang juga sesuai dengan lajur skru pada pelek, dan lubang srew pada pelat dasar. Kemudian, setelah anda yakin semuanya beratur, pasangkan pelek luar ke pangkal dasar. Seterusnya, pastikan tidak ada kabel yang tersangkut di mata air, atau berada di tempat yang mungkin di kemudian hari. Ini akan menghalang pergerakan kubah plastik. Akhir sekali, ganti skru dan nikmati! Catatan akhir: PENTING: JANGAN gunakan bateri dan pasangkan penyesuai dinding pada masa yang sama. Saya tidak pasti apa yang akan berlaku tetapi saya yakin ia akan memusnahkan semua yang berkaitan dengan kuasa !!

Langkah 9: EKSTRA

Berikut adalah beberapa video: Ini adalah dari 6 fungsi yang telah diprogramkan di dalam BlinkM:… Yang ini adalah kod respons suara / muzik tersuai yang saya tambahkan (bolehkah anda meneka lagu itu… ?:… Dan akhirnya, tetapi pasti tidak paling tidak, adalah fungsi paling sejuk (saya rasa), dan paling sukar untuk membuat semuanya; fungsi 'mimic light':

Disyorkan: