Isi kandungan:

Cahaya Suasana Interaktif: 8 Langkah
Cahaya Suasana Interaktif: 8 Langkah

Video: Cahaya Suasana Interaktif: 8 Langkah

Video: Cahaya Suasana Interaktif: 8 Langkah
Video: Tutorial Cara Membuat Animasi Merubah Waktu Siang - Malam Di MACROMEDIA FLASH 8 2024, Julai
Anonim
Cahaya Suasana Intera-t.webp
Cahaya Suasana Intera-t.webp
Cahaya Suasana Intera-t.webp
Cahaya Suasana Intera-t.webp
Cahaya Suasana Intera-t.webp
Cahaya Suasana Intera-t.webp

Ini adalah arahan pertama saya! Tolong tahan dengan saya semasa saya berjuang untuk menulis bahasa Inggeris yang betul. Jangan ragu untuk membetulkan saya! Saya memulakan projek ini sebaik sahaja pertandingan 'Let it glow' dimulakan. Saya harap saya dapat membuat lebih banyak dan menyelesaikan apa yang saya mahu buat. Tetapi antara sekolah dan tempat kerja, saya tidak mempunyai banyak masa lagi seperti yang saya mahukan. Walaupun begitu, saya meninggalkan laporan eksperimen saya sebagai petunjuk, jadi sesiapa sahaja boleh mencuba dan membuat apa yang saya buat. Instruksional ini tidak bertujuan untuk menjadi panduan dan mengajar bagaimana membuat alat ini. Ini bukan panduan untuk pemula dalam elektronik. Ia lebih seperti berkongsi satu idea dan objektif yang ingin saya capai. Sekiranya anda seorang pemula / jahil dalam bidang elektronik dan ingin membuat sesuatu seperti ini, saya minta maaf! Tetapi kami boleh mencuba sentiasa membantu anda. Lihat langkah terakhir. Kami telah melihat banyak projek cahaya sekitar. Sebahagian besar dari mereka menggunakan LED RGB: - Untuk menerangi ruangan dengan satu warna, mengatur suasana agar sesuai dengan suasana hati anda - Untuk membuat kesan cahaya dari warna TV / Monitor atau dari audio. Bahkan ada beberapa di instruksional.com Berkaitan: Sistem Cahaya Ambient DIYLight Bar Lampu PencahayaanMembangun bar pencahayaan warna ambien anda sendiri Dengan menggunakan pertandingan ini sebagai alasan, saya memulakan projek yang telah lama saya fikirkan. Saya selalu mahu membuat sesuatu yang serupa dengan lampu ambien ini dan mengisi dinding di bilik saya dengan LED RGB. Tetapi, melangkah lebih jauh, menjadikan semua dan masing-masing dapat dikawal. Projek ini diharapkan dapat menghasilkan kit elektronik sumber terbuka untuk penggemar dan penggemar elektronik, yang membolehkan penggodaman perkakasan / perisian dan integrasi deria. Berikut adalah pratonton kecil dari apa yang saya buat:

Langkah 1: Meneroka Idea

Saya mahu dapat mengisi dinding di bilik saya dengan LED RGB, mengawal warna dan kecerahan untuk setiap LED. Saya akan menggunakan mikrokontroler untuk kemudahan penggunaan dan fleksibiliti yang disediakan. Sayangnya saya tidak dapat mengawal beratus-ratus LED dengan beberapa pin yang terdapat pada mikrokontroler. Malah sukar untuk membuat kod kawalan begitu banyak LED. Oleh itu, saya memutuskan bahawa saya harus membahagikan semua LED dalam beberapa bar yang lebih kecil dan untuk setiap bar saya boleh menggunakan mikrokontroler. Kemudian saya akan menggunakan keupayaan komunikasi mikrokontroler untuk berkongsi maklumat antara mereka. Maklumat ini boleh menjadi warna dan kecerahan LED, corak / urutan warna dan maklumat deria. Untuk setiap bar, saya memutuskan untuk menggunakan 16 LED RGB. Ini menghasilkan bar yang tidak terlalu besar atau kecil. Dengan cara ini saya menggunakan sebilangan sumber yang boleh diterima untuk setiap led, mengurangkan kos untuk setiap bar. Walau bagaimanapun, 16 LED RGB adalah 48 LED (3 * 16 = 48) untuk dikawal oleh mikrokontroler. Dengan mengambil kira kos, saya memutuskan untuk menggunakan mikrokontroler termurah yang boleh saya gunakan. Ini bermaksud bahawa mikrokontroler hanya akan mempunyai 20 pin I / O, tidak cukup untuk 48 LED. Saya tidak mahu menggunakan charlieplexing atau semacam pemisahan masa, kerana tujuan projek ini adalah menerangi sebuah bilik. Satu-satunya alternatif yang dapat saya fikirkan adalah menggunakan semacam shift shift terkunci! Menyambung semula: - Membuat dan lampu persekitaran interaktif- Membuat bar standard LED yang dapat dikawal- Kemungkinan menyambungkan beberapa bar untuk mengisi ruangan- Benarkan penyesuaian / konfigurasi pengguna dan integrasi deria

Langkah 2: Perkakasan

Perkakasan
Perkakasan
Perkakasan
Perkakasan

Seperti yang dinyatakan pada langkah sebelumnya, saya ingin membuat beberapa bar untuk menerangi satu bilik. Ini mengingatkan masalah kos. Saya akan mencuba dan membuat setiap bar dengan cara paling jimat yang mungkin. Mikrokontroler yang saya gunakan ialah AVR ATtiny2313. Ini agak murah dan saya mempunyai beberapa perkara. ATtiny2313 juga mempunyai satu antara muka Serial Universal dan satu antara muka USART yang akan digunakan dengan baik dalam langkah-langkah berikut. Saya juga mempunyai tiga MCP23016 - eksport port I / O 16bit I2C yang terletak di sekitar, jumlah yang tepat! Saya menggunakan setiap pengembang port untuk mengawal satu warna dari 16 LED. LED … Malangnya, adalah yang termurah yang saya dapat. Mereka berukuran 48 merah, hijau dan biru ~ 10000mcd 5mm dengan sudut 20 deg. Ini tidak menjadi masalah buat masa ini, kerana ini hanya satu prototaip. Walaupun demikian, hasilnya cukup bagus! Saya menjalankan mikrokontroler pada 8 MHz. Bas I2C dicatat pada 400 kHz. Frekuensi pensuisan LED adalah sekitar 400 Hz. Dengan cara ini, jika saya mampu mengemudi 48 LED tanpa mendorongnya ke had, saya akan memberi ruang lebih banyak kemudian!

Langkah 3: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Setelah merancang litar, saya membuatnya di beberapa papan roti, untuk tujuan membuat prototaip. Setelah beberapa jam memotong wayar dan memasang litar, saya mendapat hasil ini: Satu papan roti gergasi dengan 48 LED dan banyak wayar!

Langkah 4: Kawal?

Kawal?
Kawal?

Ini adalah bahagian yang paling mencabar dari projek ini. Saya ingin membuat satu algoritma kawalan yang cukup generik untuk mengendalikan corak / urutan dan juga mengawal kecerahan dan warna setiap LED. Untuk mengawal LED saya perlu menghantar ke MCP23016 satu bingkai 4bytes (1 bait = 8 bit). Satu bait dengan alamat koresponden IC dengan warna, 1 bait dengan perintah "tulis" dan 2 bait dengan nilai 16 bit (LED). IC disambungkan ke LED sebagai "sink", yang bermaksud, satu nilai logik 0 di pin akan menyalakan LED. Dan sekarang bahagian yang mencabar, bagaimana membuat kawalan PWM untuk 48 LED? Mari belajar PWM untuk satu LED! PWM menjelaskan @ Wikipedia. Sekiranya saya mahukan kecerahan LED pada 50%, nilai PWM saya adalah 50%. Ini bermaksud LED, dalam satu jangka masa, harus berada pada jumlah waktu yang sama seperti mati. Mari ambil masa selama 1 saat. PWM 50% bererti bahawa dalam 1 saat ini, waktu on adalah 0.5 saat dan waktu mati adalah 0.5 saat. PWM sebanyak 80%? 0,2 saat, 0,8 saat lagi! Mudah, bukan? Dalam dunia digital: Dengan jangka masa 10 kitaran jam, 50% bermaksud bahawa selama 5 kitaran LED menyala, dan untuk 5 kitaran lagi, LED mati. 20%? 2 kitaran hidup, 8 kitaran mati. 45%? Kita tidak dapat memperoleh 45%… Oleh kerana tempohnya dalam kitaran dan kita hanya mempunyai 10 kitaran, kita hanya dapat membahagikan PWM dengan langkah 10%. Ini bermaksud evolusi pin semestinya, untuk 50%: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Atau 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; Dalam pengaturcaraan, kita dapat membuat urutan menghidupkan dan mematikan array ini. Untuk setiap kitaran kita mengeluarkan pin nilai indeks adalah kitarannya. Adakah saya masuk akal sejauh ini? Sekiranya kita ingin membuat LED0 50%, dan LED1 20%, kita boleh menambahkan kedua-dua tatasusunan. Untuk memandu pin LED0: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Untuk memandu pin LED1: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; Menghasilkan LED0 + LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; Mengeluarkan urutan nombor ini di IC pengembang port, kita akan mendapat LED0 dengan kecerahan 50% dan LED1 dengan 20% !! Mudah untuk 2 LED, bukan? Sekarang kita mesti membuat ini untuk 16 LED, untuk setiap warna! Untuk setiap susunan ini, kita mempunyai kombinasi kecerahan untuk setiap warna (16 LED) Setiap kali kita menginginkan kombinasi warna yang lain, kita mesti mengubah susunan ini.

Langkah 5: Memudahkan

Memudahkan!
Memudahkan!
Memudahkan!
Memudahkan!

Langkah sebelumnya adalah terlalu banyak kerja untuk membuat urutan mudah … Oleh itu, saya memutuskan untuk membuat program, di mana kami memberitahu warna setiap LED dalam satu langkah urutan dan kami mendapat tiga susunan langkah tersebut. Saya membuat program ini di LabView kerana kesuntukan masa.

Langkah 6: Eksperimen Pertama

Eksperimen Pertama
Eksperimen Pertama

Memuatkan beberapa langkah dalam mikrokontroler dan kami mendapat sesuatu seperti ini: Maaf kerana kualiti video yang buruk! Saya menentukan bilangan langkah urutan maksimum hingga 8, dan membatasi PWM hingga 20% lompatan. Keputusan ini berdasarkan jenis kawalan yang saya gunakan dan berapa banyak EEPROM yang dimiliki oleh ATtiny2313. Dalam eksperimen ini, saya cuba melihat apa kesan yang boleh saya buat. Saya mesti mengatakan bahawa saya gembira dengan hasilnya!

Langkah 7: Kawalan Masa Nyata

Kawalan Masa Nyata
Kawalan Masa Nyata
Kawalan Masa Nyata
Kawalan Masa Nyata
Kawalan Masa Nyata
Kawalan Masa Nyata

Seperti disebutkan dalam langkah sebelumnya, saya ingin berkomunikasi dengan semua pengawal mikro yang mengawal LED di bilik saya. Oleh itu, saya menggunakan antara muka USART yang ada di ATtiny2313 dan menghubungkannya ke komputer saya. Saya juga membuat program di LabView untuk mengawal bar LED. Dalam program ini saya dapat memberitahu pengawal mikro berapa lama urutan, warna setiap LED dan masa antara langkah-langkah urutan. Dalam video seterusnya saya akan tunjukkan bagaimana saya boleh menukar warna LED dan menentukan urutan.

Langkah 8: Kesimpulan

Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya
Kesimpulannya

Saya rasa saya berjaya dalam pendekatan pertama projek ini. Saya dapat mengawal 16 RGB LED dengan sedikit sumber dan kekangan. Adalah mungkin untuk mengawal setiap LED secara berasingan, membuat urutan yang dikehendaki.

Kerja masa depan:

Sekiranya saya mendapat maklum balas positif daripada orang, saya mungkin mengembangkan idea ini dan membuat Kit Elektronik DIY penuh, dengan papan litar bercetak dan arahan pemasangan.

Untuk versi seterusnya saya akan: -Tukar mikrokontroler menjadi satu dengan ADC -Tukar MCP23016 untuk beberapa jenis siri-dalam selari-keluar yang boleh tenggelam lebih banyak arus dari LED -Buat perisian sumber terbuka untuk berkomunikasi dengan mikrokontroler dan mengawal LED -Membangunkan komunikasi antara beberapa mikrokontroler.

Adakah anda mempunyai cadangan atau pertanyaan? Atau tinggalkan komen!

Finalis dalam Let It Glow!

Disyorkan: