Ülesanne 2 Valguskett Töökirjeldus Valguskett, milles on mitu erinevat värvi töötab vähemalt 6 režiimis(vilguvad kõik korraga, vilguvad ükshaaval, vilguvad värv haaval,Randomi funktsiooni kasutadel) Kasutatud komponenid Potensiomeeter(1tk)Arduino UNO plaat (1tk)Arendusplaat (1tk)Juhtmed (14tk)Takisti (9tk, 220kOm)LED (9tk: 3 punast, 3 rohelist, 3 kollast) Kasutamine Valguskett töötab erinevates režiimides, potensiomeetri järgi (oleneb sinu valikust). Paigaldatud 6 režiimi: 1.red();2.blue();3.green();4.blink();5.blink();6.randomBlink() Töökäigus kasutasin allolevaid funktsioone: map();Random(); Kood (koos selgitusega) int sensorPin =0; // potesiomeeter int ledred1=13;int ledblue1=12;int ledgreen1=11;int ledred2=10;int ledblue2=9;int ledgreen2=8;int ledred3=7;int ledblue3=6;int ledgreen3=5; // int red = 6;int yellow = 5;int green = 4;// muutujad nimetatud porti järgi int sensorValue = 0; int Value_new; void setup() // saab kaks väärtust, mille edastame talle sulgudes kohe pärast funktsiooni nime. Esimene on number-pordi number, teine on sõna INPUT(sisend) või OUTPUT (väljund).{pinMode(ledred1, OUTPUT); pinMode(ledblue1, OUTPUT);pinMode(ledgreen1, OUTPUT);pinMode(ledred2, OUTPUT);pinMode(ledblue2, OUTPUT);pinMode(ledgreen2, OUTPUT);pinMode(ledred3, OUTPUT);pinMode(ledblue3, OUTPUT);pinMode(ledgreen3, OUTPUT);} void red(){digitalWrite(ledred1, HIGH);digitalWrite(ledred2, HIGH);digitalWrite(ledred3, HIGH);delay(100);digitalWrite(ledred1, LOW);digitalWrite(ledred2, LOW);digitalWrite(ledred3, LOW);delay(100);} void blue(){digitalWrite(ledblue1, HIGH);digitalWrite(ledblue2, HIGH);digitalWrite(ledblue3, HIGH);delay(200);digitalWrite(ledblue1, LOW);digitalWrite(ledblue2, LOW);digitalWrite(ledblue3, LOW);delay(200);} void green(){digitalWrite(ledgreen1, HIGH);digitalWrite(ledgreen2, HIGH);digitalWrite(ledgreen3, HIGH);delay(100);digitalWrite(ledgreen1, LOW);digitalWrite(ledgreen2, LOW);digitalWrite(ledgreen3, LOW);delay(200);} //void blink(){digitalWrite(ledred1, HIGH);digitalWrite(ledred2, HIGH);digitalWrite(ledred3, HIGH);digitalWrite(ledblue1, HIGH);digitalWrite(ledblue2, HIGH);digitalWrite(ledblue3, HIGH);digitalWrite(ledgreen1, HIGH);digitalWrite(ledgreen2, HIGH);digitalWrite(ledgreen3, HIGH);delay(500);digitalWrite(ledred1, LOW);digitalWrite(ledred2, LOW);digitalWrite(ledred3, LOW);digitalWrite(ledblue1, LOW);digitalWrite(ledblue2, LOW);digitalWrite(ledblue3, LOW);digitalWrite(ledgreen1, LOW);digitalWrite(ledgreen2, LOW);digitalWrite(ledgreen3, LOW);delay(500);} void blink2(){digitalWrite(ledred1, HIGH);delay(200);digitalWrite(ledred2, HIGH);delay(200);digitalWrite(ledred3, HIGH);delay(200);digitalWrite(ledred1, LOW);digitalWrite(ledblue1, HIGH);delay(200);digitalWrite(ledblue2, HIGH);digitalWrite(ledred2, LOW);delay(200);digitalWrite(ledblue3, HIGH);digitalWrite(ledred3, LOW);delay(200);digitalWrite(ledgreen1, HIGH);digitalWrite(ledblue1, LOW);delay(200);digitalWrite(ledgreen2, HIGH);digitalWrite(ledblue2, LOW);delay(200);digitalWrite(ledgreen3, HIGH);digitalWrite(ledblue3, LOW);delay(200);digitalWrite(ledgreen1, LOW);delay(200);digitalWrite(ledgreen2, LOW);delay(200);digitalWrite(ledgreen3, LOW);delay(300);} void randomBlink() {int randomLED = random(1, 10); / random funktsioon valib režiimi 1 st- 10 -niswitch (randomLED) // {case 1:digitalWrite(ledred1, HIGH);delay(random(100, 500));digitalWrite(ledred1, LOW);break;case 2:digitalWrite(ledblue1, HIGH);delay(random(100, 500));digitalWrite(ledblue1, LOW);break;case 3:digitalWrite(ledgreen1, HIGH);delay(random(100, 500));digitalWrite(ledgreen1, LOW);break;case 4:digitalWrite(ledred2, HIGH);delay(random(100, 500));digitalWrite(ledred2, LOW);break;case 5:digitalWrite(ledblue2, HIGH);delay(random(100, 500));digitalWrite(ledblue2, LOW);break;case 6:digitalWrite(ledgreen2, HIGH);delay(random(100, 500));digitalWrite(ledgreen2, LOW);break;case 7:digitalWrite(ledred3, HIGH);delay(random(100, 500));digitalWrite(ledred3, LOW);break;case 8:digitalWrite(ledblue3, HIGH);delay(random(100, 500));digitalWrite(ledblue3, LOW);break;case 9:digitalWrite(ledgreen3, HIGH);delay(random(100, 500));digitalWrite(ledgreen3, LOW);break;}}// void loop() {Value_new = analogRead(sensorPin); Value_new = map(Value_new,0,1023,1,6); // map() meetod aitab valida 1st-6ni, mis omapoolt käivitab funktsiooneif (Value_new==2){red();}else if(Value_new==3){blue();}else if(Value_new==4){green();}else if(Value_new==5){blink();}else if(Value_new==6){blink2();}else{randomBlink();}} Link Konstruktsioon Tinkercad