Veronika Milovzorova portfolio/ eng

Light chain

Tegin valgusketti mudel. Programmi alguses määratakse kontaktid, mille külge iga värvi LED-id on ühendatud, samuti iga värvi tööaeg. “Seadistamise” funktsioon määrab seejärel pordid väljunditeks ja määrab kõigi LED-ide algväärtuse.
Järgmiseks kasutasin muutujat “sensorValue”, mis määrab selle algväärtuse nulliks. Samuti luuakse muutuja “Value_new”. Funktsioonis “Seadistamine” seadistatakse ühendatud LED-ide pordirežiimid. Funktsioonis loop() loetakse Sensorpin pin väärtus ja seejärel teisendatakse see väärtus funktsiooni map() abil uuteks väärtusteks.
Järgmisena kasutan funktsiooni digitalWrite, et seada iga LED-i jaoks väljundolekuks LOW, et tagada selle väljalülitamine. Iga LED on määratletud vastava viiguga, mis oli eelnevalt konfigureeritud väljastamiseks funktsiooni pinMode abil.

kasutasin:
14 juhet
9 led
9 takistit
arduino
plaat
Potentsiomeeter

SKEEM:

KOOD:

int Sensorpin = 0;

int ledred1 = 13; //red
int ledblue1 = 12; // blue
int ledgreen1 = 11; //green
int ledred2 = 10;
int ledblue2 = 9;
int ledgreen2 = 8;
int ledred3 = 7;
int ledblue3 = 6;
int ledgreen3 = 5;

int sensorValue = 0; //määrab muutuja väärtuse
int Value_new;
void setup() //I/O viigu seaded
{
  pinMode(ledred1, OUTPUT); //määrab mikrokontrolleri I / O viigu režiimi
  pinMode(ledred2, OUTPUT);
  pinMode(ledred3, OUTPUT);
  pinMode(ledblue1, OUTPUT);
  pinMode(ledblue2, OUTPUT);
  pinMode(ledblue3, OUTPUT);
  pinMode(ledgreen1, OUTPUT);
  pinMode(ledgreen2, OUTPUT);
  pinMode(ledgreen3, OUTPUT);
}

void red()
{
  digitalWrite(ledred1, HIGH); //määrab mikrokontrolleri I / O viigu oleku, heleduse
  digitalWrite(ledred2, HIGH);
  digitalWrite(ledred3, HIGH);
  delay(100);
  digitalWrite(ledred1, LOW);
  digitalWrite(ledred2, LOW);
  digitalWrite(ledred3, LOW);
  delay(100);
  
}
void red1()
{
  digitalWrite(ledred1, HIGH);
  digitalWrite(ledred3, HIGH);
  delay(100);
  digitalWrite(ledred1, LOW);
  digitalWrite(ledred3, LOW);
  delay(100);
  
}
void blue()
{
  digitalWrite(ledblue1, HIGH);
  digitalWrite(ledblue2, HIGH);
  digitalWrite(ledblue3, HIGH);
  delay(100);
  digitalWrite(ledblue1, LOW);
  digitalWrite(ledblue2, LOW);
  digitalWrite(ledblue3, LOW);
  delay(200);
}
void green()
{
  digitalWrite(ledgreen1, HIGH);
  digitalWrite(ledgreen2, HIGH);
  digitalWrite(ledgreen3, HIGH);
  delay(400);
  digitalWrite(ledgreen1, LOW);
  digitalWrite(ledgreen2, LOW);
  digitalWrite(ledgreen3, LOW);
  delay(200);
}



  
void loop()
{
  Value_new = analogRead(Sensorpin); //loeb analoogväärtust antud sisendviigust
 
  Value_new=map(Value_new,0,1023,1,6); //liigutab väärtust ühest vahemikust teise
  if (Value_new==1)
  {
    red();
  }
  else if (Value_new==2)
  {
    red1();
  }
  else if(Value_new==3)
  {
    blue();
  }
  else if(Value_new==4)
  {
    green();
  }
  else  if (Value_new==5) 
  
  {
    digitalWrite(ledred1, LOW);
    digitalWrite(ledred2, LOW);
    digitalWrite(ledred2, LOW);
    digitalWrite(ledblue1, LOW);
    digitalWrite(ledblue2, LOW);
    digitalWrite(ledblue3, LOW);
    digitalWrite(ledgreen1, LOW);
    digitalWrite(ledgreen2, LOW);
    digitalWrite(ledgreen3, LOW);
   
  
  }
}

FUNKTSIONID:
map() – kasutatakse muutuja väärtuse teisendamiseks ühest vahemikust teise
pinMode()
digitalWrite()
void loop()
vois setup()

KUS KASUTAKSE POTENTSIOMEETER

  • LED heleduse juhtimine
  • Heli helitugevuse reguleerimine
  • Servo asendi juhtimine
  • Pinge reguleerimine
  • Seadme parameetrite seadistamine

en_US