-Potentsiomeetri kasutamine-

int sensorPin = 0;
int ledPin = 13;
int sensorValue = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin); // loeb analoog sisendi väärtust ja saadab tagasi täisarvu vahemikus 0 kuni 1023. See tähendab 10 bitilist täpsust (2^10 = 1024).
digitalWrite(ledPin, HIGH);
delay(sensorValue);
digitalWrite(ledPin, LOW);
delay(sensorValue);
float voltage = sensorValue * (5.0 / 1023.0); // konverteerime väärtuse (0 - 1023) ja tagastab (0 - 5V):
Serial.println(voltage); // Saadud tulemused kirjutame Serial Monitori.
}

// C++ code
//
int sensorPin = 0;
int ledPin = 11;
int sensorValue = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
sensorValue = analogRead(sensorPin);// loeb analoog sisendi väärtust ja saadab tagasi täisarvu vahemikus 0 kuni 1023. See tähendab 10 bitilist täpsust (2^10 = 1024).
sensorValue=map(sensorValue,0,1023,0,255);
analogWrite(ledPin,sensorValue);
float voltage = sensorValue * (5.0 / 1023.0); // konverteerime väärtuse (0 - 1023) ja tagastab (0 - 5V):
Serial.println(sensorValue);// Saadud tulemused kirjutame Serial Monitori.
}
Valguskett
Töö kirjeldus:
Viie särarežiimiga valguskett..
Komponendid:
Arudino Uno
Takisti (5)
Juhtmed (12)
5 värvilist LEDi (2 punased, 2 rohelised ja 1 kollanne)
Potentsiomeetr
https://www.tinkercad.com/things/ed4Uh908MhU?sharecode=kwrZp1tqJyJcsVPC0e8oKL3TMJkM_rYlxcPgaw4kseg

Tööpõhimõte:
Sellel vanikul on viis režiimi, mida lülitatakse potentsiomeetri abil.
Esimene režiim:
kõik tuled süttivad kordamööda. Iga pirn põleb 1 millisekundi ja kustub siis.
Teine režiim:
Lambipirnid on otsast keskelt lühikesed, põlevad 1,5 millisekundit ja kustuvad seejärel 1 millisekundi.
Kolmas režiim:
Punane ja kollane tuli hakkab vilkuma. Nende põlemis- ja lagunemisajad on juhuslikud. 0,1 millisekund kuni 1 millisekund.
Neljas režiim:
Rohelised tuled hakkavad vilkuma, põlevad 1 sekundi ja kustuvad sama kaua.
Viies režiim:
Punased tuled hakkavad kordamööda vilkuma, põlevad 1 sekundi ja kustuvad sama kaua.
Kuidas seda kasutada saab?
Seda saab kasutada kaunistusena kõikjal korteris või kaunistuseks uueks aastaks või mõneks muuks puhkuseks.
Programm:
int sensorPin = 0;
int ledPin = 13;
int ledPin1 = 12;
int ledPin2 = 11;
int ledPin3 = 10;
int ledPin4 = 9;
int sensorValue = 0;
int value_new;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
Serial.begin(9600);
}
void loop()
{
value_new=analogRead(sensorPin);
value_new=map(value_new,0,1023,1,5);
if (value_new==1)
{
ochered();
}
else if (value_new==2)
{
sbokov();
}
else if (value_new==3)
{
svecha();
}
else if (value_new==4)
{
green();
}
else
{
red();
}
}
void svecha()
{
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin4, HIGH);
delay(random(10,100)); //величина паузы задается случайным значением
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin, LOW);
digitalWrite(ledPin4, LOW);
delay(random(10,50));
}
void sbokov()
{
sensorValue = analogRead(sensorPin);
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin4, HIGH);
delay(150);
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin3, HIGH);
delay(150);
digitalWrite(ledPin2, HIGH);
delay(150);
delay(sensorValue);
digitalWrite(ledPin, LOW);
digitalWrite(ledPin4, LOW);
delay(100);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin3, LOW);
delay(100);
digitalWrite(ledPin2, LOW);
delay(100);
delay(sensorValue);
}
void ochered()
{
sensorValue = analogRead(sensorPin);
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin1, HIGH);
delay(100);
digitalWrite(ledPin2, HIGH);
delay(100);
digitalWrite(ledPin3, HIGH);
delay(100);
digitalWrite(ledPin4, HIGH);
delay(100);
delay(sensorValue);
digitalWrite(ledPin, LOW);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
delay(sensorValue);
}
void green()
{
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin3, HIGH);
delay(100);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin3, LOW);
delay(100);
}
void red()
{
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin4, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalWrite(ledPin4, LOW);
delay(100);
}