Membuat Kerangka Foto Hati LED Menakjubkan dengan Arduino – Panduan DIY Langkah demi Langkah
Dalam Proyek Arduino ini saya akan menunjukkan bagaimana Anda dapat membuat kerangka foto hati LED yang keren menggunakan Arduino. Anda dapat menonton video di bawah ini atau membaca tulisan di bawahnya untuk detail lebih lanjut.
Pada pandangan pertama tampak seperti kerangka foto biasa tetapi ketika Anda menekan saklar di sisi belakangnya ia berubah menjadi kerangka foto yang luar biasa. Membangun Proyek Arduino ini sangat menyenangkan dan dapat menjadi hadiah yang sempurna untuk Valentine, Ulang Tahun atau Hari Tahun untuk orang yang Anda cintai. Jadi mari kita mulai membangun
Persiapan Kerangka Foto
Pertama kita perlu kerangka foto sederhana berukuran 18 x 13 cm dan papan serat yang dipotong sesuai ukuran kerangka tempat kita akan membuat lubang untuk memasukkan LED. Kemudian kita perlu menggambar dan mencetak bentuk hati dengan 32 LED yang akan digunakan sebagai pola. Kita akan membuat lubang untuk LED menggunakan bor.
Setelah selesai membuat lubang bor, kita akan mulai memasukkan LED. Kita perlu memasukkan semua LED di sisi yang sama, dengan Anoda atau kaki yang lebih panjang menunjuk keluar sehingga kita dapat melengkungkan dan kemudian menempelkan Anoda semua LED bersama-sama.
Setelah kita telah menempelkan semua LED kita harus memeriksa apakah semuanya berfungsi dengan baik. Untuk itu kita perlu menghubungkan pin VCC positif 5 Volt ke Anoda LED melalui resistor 220 Ohm dan menggunakan pin Ground memeriksa setiap LED apakah akan menyala.
Skema Rangkaian
Berikut adalah skema rangkaian proyek ini dan Anda dapat menemukan daftar lengkap komponen yang diperlukan untuk proyek ini di bawahnya. Jadi kita akan menggunakan Arduino Nano dan dua IC TLC5940 untuk mengontrol LED. TLC5940 adalah Driver LED 16-Saluran yang menyediakan output PWM. Anda dapat menemukan detail lebih lanjut cara menghubungkan dan menggunakan IC ini dengan Arduino pada tutorial Arduino dan TLC5940 saya khusus.
Komponen yang diperlukan untuk Proyek Arduino ini
Anda dapat mendapatkan komponen dari salah satu situs di bawah ini:
Arduino Nano………………………..
LED Merah Ultra Bright……………
Saklar…………………………………..
Stop Kontak Daya……………………………
Adaptor DC 5V >1A………………..
2 x Driver LED TLC5940……….
2 x Resistor 2K ……………………..
Kapasitor 1uF & 0.1uF ……………
Pemasangan
Di sini, pertama-tama kita akan memasukkan soket IC dan header pin ke tempat dan menempelkannya ke PCB prototipe sehingga kita dapat memasang IC dan Arduino Nano ke dalamnya. Kita juga perlu dua header pin tambahan dengan beberapa slot untuk daya, atau pin VCC 5 Volt dan Ground, serta dua kapasitor untuk decoupling.
Kita perlu sangat hati-hati saat menghubungkan komponen karena bisa sangat berantakan dengan banyak kabel jika kita menghubungkan sesuatu yang salah. Pada titik ini kita perlu mengunggah kode Arduino untuk memastikan bahwa kita telah menghubungkan semuanya dengan benar.
Kode Arduino
Mari kita lihat kode Arduino yang saya buat untuk proyek ini. Jadi kita akan menggunakan Pustaka TLC5940 yang dibuat oleh Alex Leone. Setelah kita mengundah dan menginstal pustaka ini kita perlu memodifikasi file tlc_config.h dan mengubah nilai variabel NUM_TLCS menjadi jumlah IC TLC5940 yang terhubung secara seri dan dalam kasus kita nilainya adalah 2
Dengan ini selesai, sekarang kita dapat dengan mudah mengaddress semua LED dari 0 hingga 31. Di awal kita juga perlu mendefinisikan beberapa variabel yang diperlukan untuk program. Di bagian setup kita perlu menginisialisasi TLC dan di bagian loop membuat program. Saya mengorganisir program menjadi 9 tahap berbeda atau pertunjukan cahaya LED menggunakan pernyataan switch.
Misalnya, mari kita lihat tahap pertama. Kita menghasilkan nilai INT acak dari 0 hingga 31 dan kita menggunakannya sebagai alamat untuk LED. Fungsi Tlc.set() digunakan untuk mengatur LED mana yang akan kita nyalakan. Parameter pertama adalah alamat LED, dan parameter kedua adalah nilai kecerahan LED atau nilai PWM yang dari 0 hingga 4095. Namun, ini tidak akan menyala LED segera, itu hanya mengatur LED mana yang akan menyala berikutnya ketika fungsi Tlc.update() akan dieksekusi. Menggunakan pernyataan “if” ini kita mengaktifkan tahap kedua setelah menyala 8 LED acak. Sekarang mari kita lihat contoh lain, katakanlah tahap 3. Menggunakan perulangan “for” ini kita mengatur semua 32 LED untuk menyala ketika fungsi Tlc.update() akan dieksekusi. Setelah penundaan setengah detik menggunakan fungsi Tlc.clear() kita membersihkan dan mematikan semua LED. Dengan cara yang sama Anda dapat memodifikasi kode dan menambahkan lebih banyak pertunjukan cahaya sendiri.
/* LED Heart Photo Frame - Arduino Project * Program made by Dejan Nedelkovski, * www.HowToMechatronics.com */ /* TLC5940 Library by Alex Leone, https://code.google.com/archive/p/tlc5940arduino/ * You need to modify tlc_config.h located in the TLC5940 library * and change the value of the variable NUM_TLCS to the numbers of TLC5940 ICs connected */ #include "Tlc5940.h" int stage = 0; int randomNumber; int count = 0; int brightness = 3500; int brightUp = 50; int dir=1; void setup() { Tlc.init(); } void loop() { switch(stage) { //-----Stage 1 case 0: randomNumber = (int)random(0,31); Tlc.set(randomNumber,4095); delay(1500); Tlc.update(); if(count >= 8) { stage = 1; count = 0; } else { ++count; } break; //-----Stage 2 case 1: delay(75); for(int i=31;i>=0;i--) { Tlc.set(i,4095); delay(100); Tlc.update(); } delay(500); Tlc.clear(); Tlc.update(); stage = 2; delay(500); break; //-----Stage 3 case 2: for(int i=0;i<=31;i++) { Tlc.set(i,4095); } Tlc.update(); delay(500); Tlc.clear(); Tlc.update(); delay(350); if(count > 6) { stage = 3; count = 0; } else { ++count; } break; //-----Stage 4 case 3: for (int i=0;i<=15;i++) { Tlc.set(i,4095); Tlc.set(31-i,4095); Tlc.update(); delay(70); } delay(50); for (int i=15;i>=0;i--) { Tlc.set(i,0); Tlc.set(31-i,0); Tlc.update(); delay(70); } for (int i=15;i>=0;i--) { Tlc.set(i,4095); Tlc.set(31-i,4095); Tlc.update(); delay(70); } for (int i=0;i<=15;i++) { Tlc.set(i,0); Tlc.set(31-i,0); Tlc.update(); delay(70); } delay(50); Tlc.clear(); Tlc.update(); delay(100); if(count > 1) { stage = 4; count = 0; } else { ++count; } break; //-----Stage 5 case 4: for (int i=15;i>=count;i--) { Tlc.set(32-i,4095); Tlc.update(); delay(5); Tlc.set(32-i-1,0); Tlc.update(); delay(5); Tlc.set(i,4095); Tlc.update(); delay(5); Tlc.set(i+1,0); Tlc.update(); delay(50); } if(count > 15) { Tlc.set(16,4095); Tlc.update(); delay(2000); stage = 5; count = 0; } else { ++count; } break; //-----Stage 6 case 5: for (int i=0;i<=31;i++) { Tlc.set(i,brightness); Tlc.update(); } Tlc.update(); brightness = brightness + brightUp; if (brightness>=3500) { brightUp=-50; ++count; } if (brightness<=150) { brightUp=50; } if(count > 6) { stage = 6; count = 0; brightness = 3500; Tlc.clear(); Tlc.update(); } delay(40); break; //-----Stage 7 case 6: for (int i=0;i<=30;i+=2) { Tlc.set(i,4095); Tlc.set(i+1,0); } Tlc.update(); delay(500); for (int i=0;i<=30;i+=2) { Tlc.set(i,0); Tlc.set(i+1,4095); } Tlc.update(); delay(500); if(count > 20) { stage = 7; count = 0; } else { ++count; } break; //-----Stage 8 case 7: for(int i=31;i>=16;i--) { Tlc.clear(); Tlc.update(); delay(2); Tlc.set(i,4095); Tlc.set(i+1,2000); Tlc.set(i+2,1000); Tlc.set(i+3,500); Tlc.set(i+4,300); Tlc.set(i+5,200); Tlc.set(i+6,100); Tlc.set(i+7,50); Tlc.set(i+8,0); Tlc.set(i-16,4095); Tlc.set(i-15,2000); Tlc.set(i-14,1000); Tlc.set(i-13,500); Tlc.set(i-12,300); Tlc.set(i-11,200); Tlc.set(i-10,100); Tlc.set(i+-9,50); Tlc.set(i-8,0); Tlc.update(); delay(50); } if(count > 8) { for(int i=31;i>=0;i--) { Tlc.set(i,4095); Tlc.update(); delay(50); } stage = 8; count = 0; } else { ++count; } break; //-----Stage 9 case 8: for(int i=31;i>=0;i--) { Tlc.set(i+8,4095); Tlc.set(i+7,2000); Tlc.set(i+6,1000); Tlc.set(i+5,500); Tlc.set(i+4,300); Tlc.set(i+3,200); Tlc.set(i+2,100); Tlc.set(i+1,50); Tlc.set(i,0); Tlc.update(); delay(50); } for(int i=31;i>=0;i--) { Tlc.set(i,4095); } Tlc.update(); delay(10); if(count > 8) { delay(8000); Tlc.clear(); Tlc.update(); stage = 0; count = 0; } else { ++count; } break; } }Code language: Arduino (arduino)
Sentuhan Akhir
Setelah selesai dengan pemrograman dan tahu bahwa semuanya berfungsi dengan baik, kita perlu mengamankan LED ke papan serat dan saya melakukannya menggunakan pistol lem. Kemudian kita perlu membuat kotak penutup untuk elektronik menggunakan pistol lem dan 4 potongan papan serat yang dipotong sesuai ukuran.
Yang tersisa sekarang adalah menghubungkan garis daya yang berasal dari saklar dan stop kontak daya yang dimasukkan di papan serat kerangka foto, tambahkan foto, amankan seluruh kotak ke kerangka foto dan kita selesai!
Di sini Anda dapat menonton video demo lengkap Kerangka Foto Hati LED.
Jangan ragu untuk bertanya apa pun di bagian komentar di bawah!