Potentsiomeetr
Kasutatud komponeendid
- Adruino Uno R3 – 1
- Breadboard Small – 1
- Potentsiomeetr -1
- LED (valge) – 1
- Takisti – 1
- Juhe – 6
Ühendamise skeem (www.tinkercad.com)

Programm/kood kommentaridega
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.
}
Valguskett
Töö kirjeldus
Valgusketi moodustavad 9 LED-i. Potentsiomeetri abil saab lülitada erinevaid režiime:
- Kõikide LED-ide vilkumine.
- Järjekordne sisselülitamine.
- Vilkumine värvide kaupa.
- Juhuslik vilkumine.
- Lainefekt.
Kasutatud komponeendid
- Adruino Uno R3 – 1
- Breadboard Small – 1
- Potentsiomeetr -1
- LED – 9 (valge, kollane, oranž, punane ja roheline)
- Takisti – 9
- Juhe – 14
Töö protsess
Kood laaditakse Arduino peale. See loeb potentsiomeetri asendit ja aktiveerib vastavalt selle väärtusele ühe viiest valgusefektist.
Potentsiomeetri keeramine muudab LED-ide töörežiimi:
- Kõik LED-id vilguvad korraga iga 0,5 sekundi järel.
- LED-id lülituvad sisse ja välja järjekorras 0,2-sekundilise viivitusega.
- LED-id vilguvad värvigruppide kaupa (näiteks esmalt esimesed kolm, seejärel järgmised kolm).
- LED-id lülituvad sisse ja välja juhuslikus järjekorras erinevate viivitustega.
- LED-id lülituvad sisse järjekorras ühes suunas ja seejärel vastupidises suunas, luues lainefekti.
Ühendamise skeem (www.tinkercad.com)

Programm/kood kommentaridega
int sensorPin = 0;
int ledPin[] = {5, 6, 7, 8, 9, 10, 11, 12, 13};
int sensorValue = 0;
int arrayLength = sizeof(ledPin) / sizeof(ledPin[0]);
int potPin = A0;
void setup() {
for (int i = 0; i < 9; i++) {
pinMode(ledPin[i], OUTPUT);
}
Serial.begin(9600);
}
void loop() {
int potValue = analogRead(potPin);
int mode = map(potValue, 0, 1023, 0, 4);
Serial.println(mode);
switch (mode) {
case 0:
allBlink();
break;
case 1:
sequentialBlink();
break;
case 2:
colorBlink();
break;
case 3:
randomFlicker();
break;
case 4:
chaseEffect();
break;
}
}
void allBlink() {
for (int i = 0; i < arrayLength; i++) {
digitalWrite(ledPin[i], HIGH);
}
delay(500);
for (int i = 0; i < arrayLength; i++) {
digitalWrite(ledPin[i], LOW);
}
delay(500);
}
void sequentialBlink() {
for (int i = 0; i < arrayLength; i++) {
digitalWrite(ledPin[i], HIGH);
delay(200);
digitalWrite(ledPin[i], LOW);
}
}
void colorBlink() {
for (int i = 0; i < 3; i++) {
digitalWrite(ledPin[i], HIGH);
}
delay(500);
for (int i = 0; i < 3; i++) {
digitalWrite(ledPin[i], LOW);
}
delay(500);
for (int i = 3; i < 6; i++) {
digitalWrite(ledPin[i], HIGH);
}
delay(500);
for (int i = 3; i < 6; i++) {
digitalWrite(ledPin[i], LOW);
}
delay(500);
for (int i = 6; i < 9; i++) {
digitalWrite(ledPin[i], HIGH);
}
delay(500);
for (int i = 6; i < 9; i++) {
digitalWrite(ledPin[i], LOW);
}
delay(500);
}
void randomFlicker() {
for (int i = 0; i < arrayLength; i++) {
digitalWrite(ledPin[i], HIGH);
delay(random(10, 100));
digitalWrite(ledPin[i], LOW);
delay(random(10, 50));
}
}
void chaseEffect() {
for (int i = 0; i < arrayLength; i++) {
digitalWrite(ledPin[i], HIGH);
delay(100);
digitalWrite(ledPin[i], LOW);
}
for (int i = arrayLength - 1; i >= 0; i--) {
digitalWrite(ledPin[i], HIGH);
delay(100);
digitalWrite(ledPin[i], LOW);
}
}
Video
https://drive.google.com/file/d/1sebJRz5dXV6h2e2FxTfSoyuJ1_HUpopd/view?usp=sharing
Video näitab skeemi tööd ja režiimide vahetamist potentsiomeetri abil.
Kasutamisvõimalused tavaelus.
- Dekoratiivne valgustus – kodu, pühade või pidude kaunistamine.
- Signaalsüsteemid – oleku näitamiseks (nt nutiseadmetes).
- Mänguasjad ja vidinad – lastele mõeldud valgustatud mänguasjad.
- Reklaam – vilkuv reklaam, mis tõmbab rohkem tähelepanu.

