Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

USB Propeller LED-ventilatorklok - Schakelschema en projectcode

USB LED-lichtventilator Analoge klok met Arduino NANO - projectcode en schakelschema met functie voor tijdinstelling

Als je de video hebt bekeken van de beroemde gadget Mini USB LED-lichtventilatorklok, bereid je dan voor, want we zullen dezelfde analoge LED-lichtklok ontwerpen op basis van Arduino NANO, hall-sensor , weerstanden, batterij, DC-motor en LED's.

De LED's draaien in cirkelvormige beweging en tonen een analoge klok in het propellerdisplay met alle drie de wijzers voor respectievelijk uur, minuut en seconde, evenals de afgeronde (ronde) vorm zoals een gewone pols- of wandklok.

Het beste van dit project is dat je de tijdsinstelling voor zowel minuten als seconden kunt wijzigen door de broncode via een USB-kabel naar de Arduino NANO te uploaden. Laten we eens kijken hoe we het moeten doen.

Controleer de gadget van LED Light FAN Clock

Vereiste componenten:

  • Arduino NANO
  • Zaalsensor W130
  • R1 tot R16 =330Ω
  • R17 =2,2kΩ
  • R18 =10kΩ
  • LED 1 tot LED 11 =rood licht
  • LED 12 tot LED 16 =Groen licht
  • LED 17 =blauw licht
  • Batterij =3,7 V, 240 mAh (9 V tot 12 V in het geval van krachtige motor voor werking op hoge snelheid)
  • Schakelaar =AAN / UIT enkelpolig (schuifschakelaar)
  • Andere componenten:printplaat, Toy DC-motor, draden en kabels, soldeerbout enz.

Bedradings- en schakelschema

Volgend op het gegeven schakelschema voor de analoge klok van de USB-propeller LED-ventilator. Als je hetzelfde project wilt maken met een tijdinstellingsfunctie, bekijk dan het tweede schakelschema onderaan dit bericht.

Procedure:

  1. Snijd een klein stukje printplaat volgens het circuit.
  2. Plaats een groene LED in de gaten met het lange been aan de linkerkant. Buig nu vanaf de koperen kant de poten naar één kant (groene LED's, d.w.z. LED 12 – LED 16 via respectievelijk R12 naar R16 en A5 naar A1).
  3. Plaats op dezelfde manier de resterende rode LED's (LED 1 – LED 11 via respectievelijk R1 tot R11 en D2 tot D12).
  4. Plaats de blauwe led boven de groene led zoals weergegeven in afb (blauwe led 17 via R17 en A7). Sluit R17 aan als 2.2kΩ en sluit de kathode van deze LED aan op de kathode van andere LED's. Sluit nu de positieve poot van deze led aan op het ene uiteinde van de weerstand R17 en het andere uiteinde op de Arduino +5V-pin.
  5. Alle kathodeverbindingen van de LED's zijn met elkaar verbonden. Knip indien nodig de overtollige snoeren af.
  6. Voer nu de weerstanden in en buig de draden op dezelfde manier als bij LED's. Snijd de extra leads dienovereenkomstig.
  7. Soldeer nu de componenten volgens het schakelschema.
  8. Soldeer nu connectoren naar de Arduino NANO.
  9. Sluit een draad van de gemeenschappelijke kathode van de LED's aan op de Arduino GND-pin.

Sluit de draad van de weerstanden als volgt aan op de Arduino digitale pin "D" en analoge pin "A":

  • R1 tot D2
  • R2 tot D3
  • R3 tot D4
  • R4 tot D5
  • R5 tot D6
  • R6 tot D7
  • R7 tot D8
  • R8 tot D9
  • R9 tot D10
  • R10 tot D11
  • R11 tot D12
  • R12 tot A1
  • R13 tot A2
  • R14 tot A3
  • R15 tot A4
  • R16 tot A5

Sluit de Hall-sensor als volgt aan:

  • Uitgangspin naar Arduino A0-pin.
  • VCC-pin naar Arduino +5V-pin.
  • Sensor-aardingspin naar Arduino GND-pin.

Als laatste detail:

  1. Sluit de 3.7V, 240mAh-batterij aan volgens het circuit en vergeet niet een enkelpolige tuimelschakelaar op de positieve kabel toe te voegen voor AAN- en UIT-werking van het circuit.
  2. Bevestig nu het hele project op een spaanplaat met behulp van een speelgoed-gelijkstroommotor. Houd er rekening mee dat als u een krachtige motor gebruikt voor hoge snelheid, u in plaats daarvan een batterij van 9 V tot 12 V kunt gebruiken.
  3. Ten slotte uploadt u de projectcode (hieronder weergegeven) viva USB-kabel en schakelt u het circuit IN. De ventilator toont de klok in LED-licht terwijl de propeller in beweging is.

Projectcode

Je kunt de nodige wijzigingen aanbrengen in de volgende broncode van de USB Led-ventilatorklok en indien nodig uploaden naar de Arduino NANO via een USB-kabel.

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

Hoe verander je de tijdsinstelling in de LED-ventilatorklok?

Voor basis IR Ontvanger met het hoofdcircuit

Vereiste componenten:

  • R19 &R20 =10k
  • IR-fototransistor-LED (in de buurt van LED#13 voor minuteninstelling)
  • IR-fototransistor-LED (in de buurt van LED#16 voor uurinstelling)

Sluit de R19 gewoon aan op de eerste IR-led (in de buurt van led#13 voor de minuteninstelling) en de R20 op de tweede IR (in de buurt van de led#16 voor de uurinstelling). Verbind de gemeenschappelijke IR-LED's en beide weerstanden met respectievelijk de GND- en 5V-pin van Arduino NANO. Sluit ten slotte de jumperdraad van A7-pin aan tussen R19 en tweede IR. Doe hetzelfde voor de A6-pin naar R20 en de eerste IR.

Voor basis IR-afstandsbediening  Zender

Vereiste componenten:

  • 9V batterij
  • Snapconnector van de batterij
  • IR LED (infrarood led)
  • 1kΩ weerstand
  • Tactiekschakelaar
  • PCB-kaart

Om een ​​eenvoudige IR-afstandsbedieningszender te maken om de tijdinstellingsfuncties in de USB LED-ventilatorklok in te stellen en te bedienen, sluit u gewoon alle componenten in serie aan (d.w.z. 9V batterij, IR LED , 1k ohm weerstand en een schakelaar op de positieve pool). Deze zender wordt gebruikt om de LED#13 en LED#16 te plaatsen en naar voren te kijken om de tijd aan te passen.

De volgende code wordt gebruikt om de uur- en minuten-as (minuten- en uurwijzers in gewone wandklokken en analoge horloges) van analoge USB led-ventilatorklok te wijzigen en aan te passen.

Controleer de output van het IR-detectorcircuit met behulp van Arduino Serial Monitor. Lezen met normaal kamerlicht is bijvoorbeeld> 500 en lezen met IR-licht is <500. U kunt hier dus de code of waarden wijzigen volgens de gebruikte sensoren.


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

Om de minutenwijzer in te stellen, richt u de IR-afstandsbediening op de minuutmarkering en drukt u op de knop van de afstandsbediening. Om de uurwijzer in te stellen, richt u de IR-afstandsbediening naar de uurmaker en drukt u op de afstandsbedieningsknop.

Bekijk de video:

Bronnen:

Gadget van LED-lichtventilatorklok

Kits en componenten voor dit project

Arduino NANO voor dit project


Industriële technologie

  1. LED-sequencer
  2. Arduino pov vision-klok
  3. Hoofdklok
  4. Tech-TicTacToe
  5. Arduino Quadruped
  6. Arduino Countdown Timer
  7. Enkele LED Matrix Arduino Flip Clock
  8. RC Porsche Car (Arduino Project)
  9. Arduino bestuurd USB-trackpad
  10. Arduino kleurdetectie
  11. 230 V 50 Hz AC (of 110 V 60 Hz) Hoofdgestuurde LED Krachtige NACHTLAMP Schakelschema.