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