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

Membuat Jam Kipas LED Berbasis USB dengan Arduino Nano – Rangkaian dan Kode

Jam Analog Kipas LED Berbasis USB Menggunakan Arduino NANO – Kode Proyek & Diagram Rangkaian dengan Fitur Pengaturan Waktu

Jika Anda telah menonton video dari gadget terkenal Mini USB LED Light Fan clock, siapkan diri karena kita akan merancang jam analog LED lampu yang sama berdasarkan Arduino NANO, hall sensor, resistor, baterai, motor DC dan LED.

LED akan bergerak dalam gerakan lingkaran dan menunjukkan jam analog dalam tampilan propeller dengan ketiga jarum untuk jam, menit dan detik masing-masing serta bentuk bundar (lingkaran) seperti jam tangan atau dinding biasa.

Hal terbaik dalam proyek ini adalah Anda dapat mengubah pengaturan waktu untuk menit dan detik melalui mengunggah kode sumber ke Arduino NANO melalui kabel USB. Mari kita lihat cara melakukannya.

Periksa Gadget LED Light FAN Clock

Membuat Jam Kipas LED Berbasis USB dengan Arduino Nano – Rangkaian dan Kode

Komponen yang Diperlukan:

Penyaluran & Diagram Rangkaian

Berikut adalah diagram rangkaian yang diberikan untuk jam analog propeller LED kipas USB. Jika Anda ingin membuat proyek yang sama dengan fitur pengaturan waktu, periksa diagram rangkaian kedua yang diberikan di bagian bawah postingan ini.

Membuat Jam Kipas LED Berbasis USB dengan Arduino Nano – Rangkaian dan Kode

Prosedur:

  1. Potong potongan kecil papan PCB sesuai dengan rangkaian.
  2. Sisipkan LED Hijau ke dalam lubang dengan kaki panjang di sisi kiri. Sekarang dari sisi tembaga, lipat kaki ke satu sisi (LED Hijau yaitu LED 12 – LED 16 melalui R12 hingga R16 dan A5 hingga A1 masing-masing).
  3. Dengan cara yang sama, sisipkan LED Merah yang tersisa (LED 1 – LED 11 melalui R1 hingga R11 dan D2 hingga D12 masing-masing).
  4. Sisipkan LED Biru di atas LED hijau seperti yang ditunjukkan dalam gambar (LED Biru 17 melalui R17 dan A7). Hubungkan R17 sebagai 2.2kΩ dan hubungkan katoda LED ini ke katoda LED lainnya. Sekarang, hubungkan kaki positif LED ini ke salah satu ujung resistor R17 dan ujung lainnya ke pin +5V Arduino.
  5. Semua koneksi katoda LED dihubungkan bersama. Potong kaki berlebih jika diperlukan.
  6. Sekarang sisipkan resistor dan lipat kaki seperti yang Anda lakukan untuk LED. Potong kaki tambahan dengan sesuai.
  7. Sekarang solder komponen sesuai dengan diagram rangkaian.
  8. Sekarang, solder konektor ke Arduino NANO.
  9. Hubungkan kabel dari katoda umum LED ke pin GND Arduino.

Hubungkan kabel dari resistor ke pin Digital Arduino “D” dan pin Analog “A” sebagai berikut:

Hubungkan Hall sensor sebagai berikut:

Sebagai sentuhan akhir:

  1. Hubungkan baterai 3.7V, 240mAh sesuai dengan rangkaian dan jangan lupa untuk menambahkan saklar toggle slide single pole di kabel positif untuk operasi ON dan OFF rangkaian.
  2. Sekarang, Pasang seluruh proyek pada papan chipboard dengan bantuan motor DC mainan. Ingatlah bahwa jika Anda menggunakan motor kuat untuk kecepatan tinggi, Anda dapat menggunakan baterai 9V hingga 12V sebagai gantinya.
  3. Terakhir, unggah kode proyek (yang diberikan di bawah) melalui kabel USB dan Nyalakan rangkaian. Kipas akan menunjukkan jam dalam cahaya LED saat dalam gerakan propeller.

Kode Proyek

Anda dapat membuat perubahan yang diperlukan pada kode sumber jam kipas LED USB berikut dan mengunggah ke Arduino NANO melalui kabel USB jika diperlukan.

Kode via: hobbyprojects

int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; int LED6 = 7; int LED7 = 8; int LED8 = 9; int LED9 = 10; int LED10 = 11; int LED11 = 12; int LED12 = A1; int LED13 = A2; int LED14 = A3; int LED15 = A4; int LED16 = A5; int sensorPin = A0; int minuteSensor = A7; int hourSensor = A6; unsigned int n,ADCvalue,propeller_posn; unsigned long previousTime = 0; byte hours = 12; // set hours byte minutes = 15; // set minutes byte seconds = 00; // set seconds int val; void setup() { pinMode(LED1,OUTPUT); pinMode(LED2,OUTPUT); pinMode(LED3,OUTPUT); pinMode(LED4,OUTPUT); pinMode(LED5,OUTPUT); pinMode(LED6,OUTPUT); pinMode(LED7,OUTPUT); pinMode(LED8,OUTPUT); pinMode(LED9,OUTPUT); pinMode(LED10,OUTPUT); pinMode(LED11,OUTPUT); pinMode(LED12,OUTPUT); pinMode(LED13,OUTPUT); pinMode(LED14,OUTPUT); pinMode(LED15,OUTPUT); pinMode(LED16,OUTPUT); pinMode(sensorPin,INPUT_PULLUP); if(hours == 12) hours = 0; //**************************************** // Uncomment these lines for IR sensor testing /* Serial.begin(9600); while(1) { ADCvalue = analogRead(minuteSensor); Serial.print("minuteSensor "); Serial.println(ADCvalue); ADCvalue = analogRead(hourSensor); Serial.print("hourSensor "); Serial.println(ADCvalue); Serial.println(); delay(1000); } */ //**************************************** } void loop() { val = digitalRead(sensorPin); while (val == LOW) { val = digitalRead(sensorPin); } if (millis() >= (previousTime)) { previousTime = previousTime + 1000; seconds = seconds+1; if (seconds == 60) { seconds = 0; minutes = minutes+1; } if (minutes == 60) { minutes = 0; hours = hours+1; } if (hours == 12) { hours = 0; } } propeller_posn=30; n=0; while(n < 60) { ADCvalue = analogRead(minuteSensor); if(ADCvalue < 500) { minutes = propeller_posn; seconds = 0; } ADCvalue = analogRead(hourSensor); if(ADCvalue < 500) { hours = propeller_posn/5; seconds = 0; } drawMinuteMarker(); if ((propeller_posn==0) || (propeller_posn==5) || (propeller_posn==10) || (propeller_posn==15) || (propeller_posn==20) || (propeller_posn==25) || (propeller_posn==30) || (propeller_posn==35) || (propeller_posn==40) || (propeller_posn==45) || (propeller_posn==50) || (propeller_posn==55)) drawHourMarker(); if ((propeller_posn==0) || (propeller_posn==15) || (propeller_posn==30) || (propeller_posn==45)) drawQuarterMarker(); if((propeller_posn == hours*5) || (( propeller_posn == 0 ) && (hours == 0))) drawHoursHand(); if(propeller_posn == minutes) drawMinutesHand(); if(propeller_posn == seconds) drawSecondsHand(); delayMicroseconds(100); // for LED pixel width (change the value according to motor speed. Increase for low speed, decrease for high speed motor) displayClear(); drawInner_Circle(); delayMicroseconds(450); // for the gap between LED pixels/minutes markers (change the value according to motor speed. Increase for low speed, decrease for high speed motor) n++; propeller_posn++; if(propeller_posn == 60) propeller_posn=0; } val = digitalRead(sensorPin); while (val == HIGH) { val = digitalRead(sensorPin); } } //========================= void displayClear() { digitalWrite(LED1,LOW); digitalWrite(LED2,LOW); digitalWrite(LED3,LOW); digitalWrite(LED4,LOW); digitalWrite(LED5,LOW); digitalWrite(LED6,LOW); digitalWrite(LED7,LOW); digitalWrite(LED8,LOW); digitalWrite(LED9,LOW); digitalWrite(LED10,LOW); digitalWrite(LED11,LOW); digitalWrite(LED12,LOW); digitalWrite(LED13,LOW); digitalWrite(LED14,LOW); digitalWrite(LED15,LOW); digitalWrite(LED16,LOW); } void drawMinuteMarker() { digitalWrite(LED16,HIGH); } void drawHourMarker() { digitalWrite(LED15,HIGH); digitalWrite(LED14,HIGH); } void drawQuarterMarker() { digitalWrite(LED13,HIGH); digitalWrite(LED12,HIGH); } void drawHoursHand() { digitalWrite(LED1,HIGH); digitalWrite(LED2,HIGH); digitalWrite(LED3,HIGH); digitalWrite(LED4,HIGH); digitalWrite(LED5,HIGH); digitalWrite(LED6,HIGH); digitalWrite(LED7,HIGH); } void drawMinutesHand() { digitalWrite(LED1,HIGH); digitalWrite(LED2,HIGH); digitalWrite(LED3,HIGH); digitalWrite(LED4,HIGH); digitalWrite(LED5,HIGH); digitalWrite(LED6,HIGH); digitalWrite(LED7,HIGH); digitalWrite(LED8,HIGH); digitalWrite(LED9,HIGH); } void drawSecondsHand() { digitalWrite(LED1,HIGH); digitalWrite(LED2,HIGH); digitalWrite(LED3,HIGH); digitalWrite(LED4,HIGH); digitalWrite(LED5,HIGH); digitalWrite(LED6,HIGH); digitalWrite(LED7,HIGH); digitalWrite(LED8,HIGH); digitalWrite(LED9,HIGH); digitalWrite(LED10,HIGH); digitalWrite(LED11,HIGH); } void drawInner_Circle() { digitalWrite(LED1,HIGH); delayMicroseconds(30); digitalWrite(LED1,LOW); } 

Cara Mengubah Pengaturan Waktu dalam Jam Kipas LED?

Untuk IR Receiver Dasar dengan Rangkaian Utama

Komponen yang Diperlukan:

Cukup hubungkan R19 dengan LED IR pertama (di dekat LED#13 untuk pengaturan menit) dan R20 dengan IR kedua (di dekat LED# 16 untuk pengaturan jam). Hubungkan bersama LED IR dan kedua resistor ke GND dan pin 5V Arduino NANO masing-masing. Terakhir, hubungkan kabel jumper dari pin A7 ke antara R19 dan IR kedua. Lakukan hal yang sama untuk pin A6 ke R20 dan IR pertama.

Membuat Jam Kipas LED Berbasis USB dengan Arduino Nano – Rangkaian dan Kode

Untuk IR Remote Control Transmitter Dasar

Komponen yang Diperlukan:

Untuk membuat pengontrol remote IR sederhana untuk mengatur dan mengontrol fitur pengaturan waktu dalam jam kipas LED USB, cukup hubungkan semua komponen secara seri (yaitu baterai 9V, LED IR, resistor 1k ohm dan tact switch di terminal positif). Transmitter ini akan digunakan untuk menempatkan dan menghadap LED#13 dan LED#16 untuk menyesuaikan waktu.

Kode berikut digunakan untuk mengubah dan menyesuaikan poros jam dan menit (jarum menit dan jam dalam jam dinding biasa dan jam analog) dari jam analog LED kipas USB.

Periksa Output detektor IR menggunakan Arduino Serial Monitor. Misalnya, pembacaan dengan cahaya ruangan normal adalah > 500 dan pembacaan dengan cahaya IR adalah < 500. Jadi, Anda dapat mengubah kode atau nilai di sini sesuai dengan sensor yang digunakan.

 propeller_posn=30; n=0; while(n < 60) { ADCvalue = analogRead(minuteSensor); if(ADCvalue < 500) { minutes = propeller_posn; seconds = 0; } ADCvalue = analogRead(hourSensor); if(ADCvalue < 500) { hours = propeller_posn/5; seconds = 0; } 

Untuk mengatur jarum menit, arahkan remote IR ke penanda menit dan tekan tombol remote. Untuk mengatur jarum jam, arahkan remote IR ke penanda jam dan tekan tombol remote.

Tonton Video:

Resources:

Gadget of LED Light FAN Clock

Kits & Components for this Project

Arduino NANO for this Project


Teknologi Industri

  1. Buat Sequencer LED dengan Timer 555 & Counter 4017 – Pembagian Frekuensi & Debounce
  2. Jam POV Arduino: Buat Tampilan LED Persistensi Penglihatan
  3. Bangun Jam Master LED Kustom dengan Alarm – Terlihat dari Jarak 12 Meter
  4. Tic Tac Toe Arduino dengan Matriks LED MAX7219 dan Kotak Kardus
  5. Membuat Robot Quadruped Arduino Cerdas: Panduan Langkah demi Langkah
  6. Membuat Timer Hitung Mundur Arduino yang Andalan dengan Layar 7-Segmen SparkFun
  7. Jam Flip Arduino dengan Matriks LED 8×8 – Proyek Jam Waktu Nyata DIY
  8. Buat Mobil RC Porsche Sendiri dengan Arduino: Panduan Langkah demi Langkah
  9. Trackpad USB Arduino Buatan Sendiri: Ubah Laptop Lama Jadi Perangkat Masukan Modern
  10. Diagram Rangkaian Lampu Malam LED Profesional – Desain Operasi Utama 230 V/50 Hz atau 110 V/60 Hz