Daftar Isi:

Cahaya Sekitar Interaktif: 8 Langkah
Cahaya Sekitar Interaktif: 8 Langkah

Video: Cahaya Sekitar Interaktif: 8 Langkah

Video: Cahaya Sekitar Interaktif: 8 Langkah
Video: CAHAYA DAN ALAT OPTIK (PART 1) : IPA KELAS 8 SMP 2024, Juli
Anonim
Cahaya Sekitar Intera-t.webp
Cahaya Sekitar Intera-t.webp
Cahaya Sekitar Intera-t.webp
Cahaya Sekitar Intera-t.webp
Cahaya Sekitar Intera-t.webp
Cahaya Sekitar Intera-t.webp

Ini adalah instruksi pertama saya! Mohon bersabar sementara saya berjuang untuk menulis bahasa Inggris yang benar. Jangan ragu untuk mengoreksi saya! Saya memulai proyek ini tepat setelah kompetisi 'Let it glow' dimulai. Saya berharap saya telah membuat lebih banyak dan menyelesaikan apa yang ingin saya buat. Tapi antara sekolah dan bekerja, saya tidak punya banyak waktu tersisa seperti yang saya inginkan. Namun demikian, saya meninggalkan di sini laporan eksperimen saya sebagai instruksi, sehingga siapa pun dapat mencoba dan membuat apa yang saya lakukan. Instruksi ini tidak dimaksudkan untuk menjadi panduan dan mengajarkan cara membuat alat ini. Ini bukan panduan untuk pemula dalam elektronik. Ini lebih seperti berbagi satu ide dan tujuan yang ingin saya kejar. Jika Anda seorang pemula / sama sekali tidak tahu apa-apa tentang elektronik dan ingin membuat sesuatu seperti ini, saya minta maaf! Tapi kami dapat mencoba selalu membantu Anda. Lihat langkah terakhir. Kami telah melihat banyak proyek cahaya ambient. Kebanyakan dari mereka menggunakan LED RGB: - Untuk menerangi ruangan dengan satu warna, mengatur suasana agar sesuai dengan suasana hati Anda - Untuk membuat efek cahaya dari warna TV/Monitor atau dari audio. Bahkan ada beberapa di instrucables.com Terkait: Sistem Cahaya Sekitar DIYLight Bar Pencahayaan SekitarMembangun bar pencahayaan warna ambient Anda sendiri Menggunakan kompetisi ini sebagai alasan, saya memulai sebuah proyek yang telah ada di pikiran saya untuk sementara waktu. Saya selalu ingin membuat sesuatu yang mirip dengan lampu ambient ini dan mengisi dinding di kamar saya dengan LED RGB. Tapi, mengambil langkah lebih jauh, membuat semua dan masing-masing dari mereka dapat dikendalikan. Proyek ini diharapkan akan menghasilkan kit elektronik open-source untuk penggemar dan penggila elektronik, yang memungkinkan peretasan perangkat keras/lunak dan integrasi sensorik. Berikut adalah preview kecil dari apa yang saya buat:

Langkah 1: Menjelajahi Ide

Saya ingin dapat mengisi dinding di kamar saya dengan LED RGB, mengontrol warna dan kecerahan untuk setiap led. Saya akan menggunakan mikrokontroler untuk kemudahan penggunaan dan fleksibilitas yang diberikan. Sayangnya saya tidak dapat mengontrol ratusan LED dengan beberapa pin yang tersedia di mikrokontroler. Bahkan akan sulit untuk mengkodekan kontrol begitu banyak LED. Jadi saya memutuskan bahwa saya harus membagi semua LED dalam beberapa batang yang lebih kecil dan untuk setiap batang saya dapat menggunakan mikrokontroler. Kemudian saya akan menggunakan kemampuan komunikasi mikrokontroler untuk berbagi informasi di antara mereka. Informasi ini dapat berupa warna dan kecerahan LED, pola/urutan warna, dan informasi sensorik. Untuk setiap batang, saya memutuskan untuk menggunakan 16 LED RGB. Ini menghasilkan bilah yang tidak terlalu besar atau kecil. Dengan cara ini saya menggunakan jumlah sumber daya yang dapat diterima untuk setiap led, mengurangi biaya untuk setiap batang. Namun demikian, 16 LED RGB adalah 48 LED (3*16=48) untuk dikendalikan oleh mikrokontroler. Dengan mempertimbangkan biaya, saya memutuskan untuk menggunakan mikrokontroler termurah yang bisa saya gunakan. Ini berarti bahwa mikrokontroler hanya akan memiliki hingga 20 pin I/O, tidak cukup untuk 48 LED. Saya tidak ingin menggunakan charlieplexing atau semacam penggerak pemisah waktu, karena tujuan proyek ini adalah menerangi ruangan. Satu-satunya alternatif yang dapat saya pikirkan adalah menggunakan semacam register geser terkunci! Melanjutkan:- Membuat dan cahaya ambient interaktif- Membuat bar standar LED yang dapat dikontrol- Kemungkinan menghubungkan beberapa bar untuk mengisi ruangan- Memungkinkan adaptasi/konfigurasi pengguna dan integrasi sensorik

Langkah 2: Perangkat Keras

Perangkat keras
Perangkat keras
Perangkat keras
Perangkat keras

Seperti yang dikatakan pada langkah sebelumnya, saya ingin membuat beberapa batang untuk menerangi satu ruangan. Ini membawa masalah biaya ke pikiran. Saya akan mencoba dan membuat setiap batang menjadi cara yang paling hemat biaya. Mikrokontroler yang saya gunakan adalah AVR ATtiny2313. Ini agak murah dan saya punya beberapa tergeletak di sekitar. ATtiny2313 juga memiliki satu Antarmuka Serial Universal dan satu antarmuka USART yang akan digunakan dengan baik dalam langkah-langkah berikut. Saya juga memiliki tiga MCP23016 - I2C 16bit I/O port expander tergeletak di sekitar, jumlah yang tepat! Saya menggunakan setiap port expander untuk mengontrol satu warna dari 16 LED. LED… Sayangnya, adalah yang termurah yang bisa saya temukan. Mereka 48 merah, hijau dan biru ~10000mcd 5mm dengan sudut 20 derajat. Ini seharusnya tidak menjadi masalah untuk saat ini, karena ini hanya satu prototipe. Terlepas dari kenyataan ini, hasilnya cukup bagus! Saya menjalankan mikrokontroler pada 8 MHz. Bus I2C memiliki clock pada 400 kHz. Frekuensi switching LED sekitar 400 Hz. Dengan cara ini, jika saya mampu menjalankan 48 LED tanpa mendorongnya hingga batasnya, saya akan memberikan lebih banyak lagi nanti!

Langkah 3: Perakitan

perakitan
perakitan
perakitan
perakitan
perakitan
perakitan
perakitan
perakitan

Setelah merancang sirkuit, saya membangunnya di beberapa papan tempat memotong roti, untuk tujuan pembuatan prototipe. Setelah beberapa jam memotong kabel dan merakit sirkuit, saya mendapatkan hasil ini: Satu papan tempat memotong roti raksasa dengan 48 LED dan berton-ton kabel!

Langkah 4: Kontrol?

Kontrol?
Kontrol?

Ini adalah bagian yang paling menantang dari proyek. Saya ingin membuat satu algoritma kontrol yang cukup umum untuk menangani pola/urutan dan juga mengontrol kecerahan dan warna setiap LED. Untuk mengontrol LED, saya harus mengirim ke MCP23016 satu frame 4byte (1 byte = 8 bit). Satu byte dengan alamat IC yang sesuai dengan warna, 1 byte dengan perintah “write” dan 2 byte dengan nilai 16bit (LED). IC tersebut dihubungkan ke LED sebagai “sink”, artinya satu nilai logika 0 pada pin akan menyalakan LED. Dan sekarang bagian yang menantang, bagaimana cara membuat kontrol PWM untuk 48 LED? Mari kita pelajari PWM untuk satu LED! PWM menjelaskan @ Wikipedia. Jika saya ingin kecerahan LED 50%, nilai PWM saya adalah 50%. Ini berarti LED, dalam satu periode waktu, harus berada pada jumlah waktu yang sama dengan waktu mati. Mari kita ambil periode 1 detik. PWM 50% berarti dalam 1 detik ini waktu on 0,5 detik dan waktu off 0,5 detik. PWM 80%? 0.2 detik off, 0.8 detik! Gampang kan? Di dunia digital: Dengan periode 10 siklus clock, 50% berarti untuk 5 siklus LED menyala, dan untuk 5 siklus lagi LED mati. 20%? 2 siklus aktif, 8 siklus mati. 45%? Yah, kita tidak bisa benar-benar mendapatkan 45%… Karena periode dalam siklus dan kita hanya memiliki 10 siklus, kita hanya dapat membagi PWM dalam langkah-langkah dari 10%. Ini berarti evolusi pin seharusnya, untuk 50%: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Atau bahkan 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; Dalam pemrograman kita dapat membuat urutan menghidupkan dan mematikan array ini. Untuk setiap siklus kita output ke pin nilai indeks adalah siklusnya. Apakah saya masuk akal sejauh ini?Jika kita ingin membuat LED0 50%, dan LED1 20%, kita dapat menambahkan kedua array. Untuk mengemudi pin LED0: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0;Untuk menggerakkan 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; Keluarkan urutan angka ini di IC port expander, kita akan mendapatkan LED0 dengan kecerahan 50% dan LED1 dengan 20%!! Sederhana untuk 2 LED, bukan? Sekarang kita harus membuat ini untuk 16 LED, untuk setiap warna! Untuk setiap array ini, kita memiliki kombinasi kecerahan untuk setiap warna (16 LED) Setiap kali kita menginginkan kombinasi warna lain, kita harus mengubah array ini.

Langkah 5: Membuatnya Mudah

Membuatnya Mudah!
Membuatnya Mudah!
Membuatnya Mudah!
Membuatnya Mudah!

Langkah sebelumnya terlalu banyak pekerjaan untuk membuat urutan sederhana… Jadi saya memutuskan untuk membuat sebuah program, di mana kita memberi tahu warna setiap LED dalam satu langkah dari urutan dan kita mendapatkan tiga larik langkah. Saya membuat program ini di LabView karena keterbatasan waktu.

Langkah 6: Eksperimen Pertama

Eksperimen Pertama
Eksperimen Pertama

Memuat beberapa langkah di mikrokontroler dan kami mendapatkan sesuatu seperti ini: Maaf tentang kualitas video yang buruk! Saya menetapkan jumlah langkah maksimum dari urutan ke 8, dan membatasi lompatan PWM hingga 20%. Keputusan ini didasarkan pada jenis kontrol yang saya gunakan dan berapa banyak EEPROM yang dimiliki ATtiny2313. Dalam percobaan ini saya mencoba melihat efek seperti apa yang dapat saya buat. Saya harus mengatakan bahwa saya senang dengan hasilnya!

Langkah 7: Kontrol Waktu Nyata

Kontrol waktu nyata
Kontrol waktu nyata
Kontrol waktu nyata
Kontrol waktu nyata
Kontrol waktu nyata
Kontrol waktu nyata

Seperti disebutkan pada langkah sebelumnya, saya ingin berkomunikasi dengan semua mikrokontroler yang mengontrol LED di kamar saya. Jadi saya menggunakan antarmuka USART yang tersedia di ATtiny2313 dan menghubungkannya ke komputer saya. Saya juga membuat program di LabView untuk mengontrol bilah LED. Dalam program ini saya dapat memberi tahu mikrokontroler berapa lama urutannya, warna setiap LED dan waktu antar langkah dari suatu urutan. Di video berikutnya saya akan menunjukkan bagaimana saya dapat mengubah warna LED dan menentukan urutan.

Langkah 8: Kesimpulan

Kesimpulan
Kesimpulan
Kesimpulan
Kesimpulan
Kesimpulan
Kesimpulan
Kesimpulan
Kesimpulan

Saya pikir saya berhasil dalam pendekatan pertama proyek saya ini. Saya dapat mengontrol 16 LED RGB dengan sedikit sumber daya dan kendala. Dimungkinkan untuk mengontrol setiap LED secara terpisah, membuat urutan yang diinginkan.

Pekerjaan masa depan:

Jika saya menerima umpan balik positif dari orang-orang, saya dapat mengembangkan ide ini lebih lanjut dan membuat Kit Elektronik DIY lengkap, dengan papan sirkuit tercetak dan instruksi perakitan.

Untuk versi berikutnya saya akan: -Mengubah mikrokontroler menjadi satu dengan ADC -Mengubah MCP23016 untuk beberapa jenis serial-in paralel-out lain yang dapat menyerap lebih banyak arus dari LED -Membuat perangkat lunak sumber terbuka untuk berkomunikasi dengan mikrokontroler dan mengontrol LED -Mengembangkan komunikasi antara beberapa mikrokontroler.

Apakah Anda memiliki saran atau pertanyaan? Atau tinggalkan komentar!

Finalis Let It Glow!

Direkomendasikan: