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

Jam Kipas LED Baling-Baling USB – Diagram Sirkuit &Kode Proyek

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

Jika Anda telah menonton video gadget terkenal Jam Kipas lampu LED USB Mini, bersiaplah karena kami akan merancang jam analog lampu LED yang sama berdasarkan Arduino NANO, sensor hall , resistor, baterai, motor DC, dan LED.

LED akan berputar dalam gerakan melingkar dan menunjukkan jam analog di layar baling-baling dengan ketiga jarum jam, menit dan detik masing-masing serta bentuk bulat (melingkar) seperti jam tangan atau jam dinding biasa.

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

Periksa Gadget Jam Kipas Lampu LED

Komponen yang Diperlukan:

Diagram Pengkabelan &Sirkuit

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

Prosedur:

  1. Potong sepotong kecil papan PCB sesuai dengan rangkaiannya.
  2. Masukkan LED Hijau ke dalam lubang dengan kaki panjang di sisi kiri. Sekarang dari sisi tembaga, tekuk kakinya ke satu sisi (LED Hijau yaitu LED 12 – LED 16 melalui R12 hingga R16 dan A5 hingga A1).
  3. Dengan cara yang sama, masukkan sisa LED Merah (LED 1 – LED 11 melalui R1 hingga R11 dan D2 hingga D12).
  4. Masukkan Led Biru di atas led hijau seperti yang ditunjukkan pada gambar (LED Biru 17 melalui R17 dan A7). Hubungkan R17 sebagai 2.2kΩ dan gabungkan 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 digabungkan. Potong kelebihan lead jika diperlukan.
  6. Sekarang masukkan resistor dan tekuk ujungnya sama seperti yang Anda lakukan untuk LED. Potong lead tambahan yang 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 Arduino GND.

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

Hubungkan sensor Hall sebagai berikut:

Sebagai sentuhan akhir:

  1. Hubungkan baterai 3.7V, 240mAh sesuai dengan rangkaian dan jangan lupa untuk menambahkan sakelar geser pengalih kutub tunggal pada kabel positif untuk operasi ON dan OFF rangkaian.
  2. Sekarang, Pasang seluruh proyek ke papan chip dengan bantuan motor DC mainan. Perlu diingat bahwa jika Anda menggunakan motor yang bertenaga untuk kecepatan tinggi, Anda dapat menggunakan baterai 9V hingga 12V.
  3. Terakhir, unggah kode proyek (diberikan di bawah) kabel USB viva dan Nyalakan sirkuitnya. Kipas akan menampilkan jam dalam lampu LED saat dalam gerakan baling-baling.

Kode Proyek

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

Kode melalui:proyek hobi

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);
  }

Bagaimana Cara Mengubah Pengaturan Waktu di Jam Kipas LED?

Untuk IR Dasar Penerima dengan Sirkuit Utama

Komponen yang Diperlukan:

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

Untuk Kontrol Jarak Jauh IR Dasar  Pemancar

Komponen yang Diperlukan:

Untuk membuat pemancar remote control IR sederhana untuk mengatur dan mengontrol fitur pengaturan waktu di jam kipas LED USB, cukup sambungkan semua komponen secara seri (yaitu baterai 9V, LED IR , resistor 1k ohm dan sakelar bijaksana pada terminal positif). Pemancar ini akan digunakan untuk menempatkan dan menghadap LED#13 dan LED#16 untuk mengatur waktu.

Kode berikut digunakan untuk mengubah dan menyesuaikan spindel jam dan menit (jarum menit dan jam pada jam dinding biasa dan jam tangan analog) jam kipas yang dipimpin USB analog.

Periksa Output rangkaian IR Detector menggunakan Arduino Serial Monitor. Misalnya, membaca dengan lampu ruangan normal> 500 dan membaca dengan lampu IR <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 menyetel jarum jam, arahkan remote IR ke pembuat jam dan tekan tombol remote.

Tonton Videonya:

Sumber daya:

Gadget Jam Kipas Lampu LED

Kit &Komponen untuk Proyek ini

Arduino NANO untuk Proyek ini


Teknologi Industri

  1. Pengurutan LED
  2. Arduino pov vision clock
  3. Jam Master
  4. Tech-TicTacToe
  5. Arduino Quadruped
  6. Penghitung Waktu Mundur Arduino
  7. Matriks LED Tunggal Arduino Flip Clock
  8. RC Porsche Car (Arduino Project)
  9. Arduino Controlled USB Trackpad
  10. 230 V 50Hz AC (atau 110V 60Hz) Diagram Sirkuit LAMPU MALAM LED yang Dioperasikan Utama yang Dioperasikan.