Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Bingkai Foto Hati LED DIY – Proyek Arduino

Dalam Proyek Arduino ini, saya akan menunjukkan cara membuat bingkai foto hati LED yang mengagumkan menggunakan Arduino. Anda dapat menonton video berikut atau membaca artikel tertulis di bawah ini untuk lebih jelasnya.

Sepintas terlihat seperti bingkai foto biasa tetapi setelah Anda mengklik tombol di sisi belakang itu berubah menjadi bingkai foto yang luar biasa. Membangun Proyek Arduino ini sangat menyenangkan dan bisa menjadi hadiah Valentine, Ulang Tahun, atau Ulang Tahun yang sempurna untuk orang yang Anda cintai. Jadi mari kita mulai membangun

Persiapan Bingkai Foto


Pertama kita membutuhkan bingkai foto sederhana berukuran 18 x 13 cm dan potongan papan serat seukuran bingkai yang akan dibuat lubang untuk memasukkan LED. Kemudian kita perlu menggambar dan mencetak bentuk hati dengan 32 LED yang akan digunakan sebagai pola. Kami akan membuat lubang untuk LED menggunakan bor.

Setelah kami selesai mengebor lubang, kami akan mulai memasukkan LED. Kita perlu memasukkan semua LED pada sisi yang sama, dengan Anoda atau kabel yang lebih panjang mengarah ke luar sehingga kita dapat menekuknya dan kemudian menyolder Anoda dari semua LED bersama-sama.

Setelah kami menyolder semua LED, kami 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 periksa setiap LED apakah akan menyala.

Skema Sirkuit


Berikut skema rangkaian proyek ini dan Anda dapat menemukan daftar lengkap komponen yang diperlukan untuk proyek ini di bawah ini. Jadi kita akan menggunakan Arduino Nano dan dua IC TLC5940 untuk mengontrol LED. TLC5940 adalah Driver LED 16-Channel yang menyediakan output PWM. Anda dapat menemukan detail lebih lanjut bagaimana menghubungkan dan menggunakan IC ini dengan Arduino di Tutorial Arduino dan TLC5940 khusus saya.

Komponen yang dibutuhkan untuk Proyek Arduino ini


Anda bisa mendapatkan komponen dari salah satu situs di bawah ini:

  • Arduino Nano………………………..
  • LED Merah Sangat Terang…………… 
  • Beralih………………………………….. 
  • Jaket Listrik…………………………… 
  • Adaptor DC 5V>1A……………….. 
  • 2 x Driver LED TLC5940……….
  • Resistor 2 x 2K ……………………..
  • 1uF &0.1uF Kapasitor ………………

Merakit


Di sini, pertama-tama kita akan memasukkan soket IC dan pin header pada tempatnya dan menyoldernya ke PCB prototyping sehingga kita dapat memasang IC dan Arduino Nano ke dalamnya. Kami juga membutuhkan dua pin header tambahan dengan beberapa slot untuk daya, atau VCC 5 Volt dan pin Ground, serta dua kapasitor untuk decoupling.

Kita harus sangat berhati-hati saat menghubungkan komponen karena bisa menjadi 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 telah saya buat untuk proyek ini. Jadi kita akan menggunakan TLC5940 Library buatan Alex Leone. Setelah kita mengunduh dan menginstal perpustakaan 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 kami nilainya adalah 2

Setelah ini selesai, sekarang kita dapat dengan mudah menangani semua LED dari 0 hingga 31. Pada awalnya kita juga perlu mendefinisikan beberapa variabel yang diperlukan untuk program. Di bagian setup kita perlu memulai TLC dan di bagian loop membuat program. Saya mengatur program menjadi 9 tahap atau pertunjukan cahaya LED yang berbeda menggunakan pernyataan sakelar.

Sebagai contoh, mari kita lihat tahap pertama. Kami menghasilkan nilai INT acak dari 0 hingga 31 dan kami menggunakannya sebagai alamat untuk LED. Fungsi Tlc.set() digunakan untuk mengatur LED mana yang kita nyalakan. Parameter pertama adalah alamat LED, dan parameter kedua adalah nilai kecerahan LED atau nilai PWM yaitu dari 0 hingga 4095. Namun, ini tidak akan langsung menyalakan LED, hanya mengatur mana LED akan menyala selanjutnya ketika fungsi Tlc.update() akan dijalankan. Dengan menggunakan pernyataan "jika" ini, kami mengaktifkan tahap kedua setelah menyalakan 8 LED acak. Sekarang mari kita lihat satu contoh lagi, katakanlah tahap 3. Dengan menggunakan loop "untuk" ini, kita mengatur semua 32 LED untuk menyala ketika fungsi Tlc.update() akan dijalankan. Setelah setengah detik penundaan menggunakan fungsi Tlc.clear() kami menghapus 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 Terakhir


Setelah kita selesai dengan pemrograman dan mengetahui bahwa semuanya bekerja dengan baik, kita perlu mengamankan LED ke papan serat dan saya melakukannya dengan menggunakan lem. Kemudian kita perlu membuat cover box untuk barang elektronik dengan menggunakan glue gun dan 4 lembar lagi fiberboard yang dipotong-potong sesuai ukuran.

Yang tersisa sekarang adalah menyambungkan kabel listrik yang berasal dari sakelar dan colokan listrik yang dimasukkan ke dalam papan serat bingkai foto, tambahkan foto, kencangkan seluruh kotak ke bingkai foto dan selesai!

Di sini Anda dapat menonton video demo lengkap Bingkai Foto Hati LED.

Jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar di bawah!


Proses manufaktur

  1. DIY LUMAZOID Arduino Music Visualizer
  2. Sensor Detak Jantung Inframerah DIY menggunakan Arduino
  3. Detektor Frekuensi Audio
  4. Arduino dengan Bluetooth untuk Mengontrol LED!
  5. Tech-TicTacToe
  6. Voltmeter DIY dengan Arduino dan Tampilan Nokia 5110
  7. Arduino Quadruped
  8. Penghitung Waktu Mundur Arduino
  9. Pencampur Warna RGB Arduino
  10. DIY Arduino RADIONICS Treatment MMachine