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