Katse 2 (Potentsiomeetri kasutamine)
Ühendamise skeem:
Kõigepealt tuleb paigutada LED ja potentsiomeeter maketeerimislauale ja ühendada need, sarnaselt joonisel kujutatule arendusplaadiga.
LED vilgutamise kiiruse reguleerimiseks kasutatakse potentsiomeetrit.
Kasutatud komponendid:
Arduino UNO plaat 1tk
Arendusplaat 1tk
Diood 1tk
Juhtme 7tk
Rezistor 1tk
potensiomeeter 1tk

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.
}
Praktiline ülesanne 2 Valguskett
Töö Kirjeldus:
Ma lõin skeemi ja kirjutasin koodi Tinkercadis, kontrollisin, et see virtuaalselt töötab, ja lõin skeemi järgmiste komponentide abil. Panin koodi Arduino-le, tegin koodi kontrolli ja käivitasin selle koos plaadiga.
Plaadi töö: Kui potentsiomeetrit liigutada, hakkavad plaatidel LED-id vilkuma.
Kasutatud komponendid:
Arduino UNO plaat 1tk
Arendusplaat 1tk
diood 9tk
Juhtmed 14tk
potensiomeeter 1tk
Rezistor 9tk

int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int potPin = A0;
void setup() {
for (int i = 0; i < 11; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW); // все светодиоды выключены при запуске
}
}
void loop() {
int potValue = analogRead(potPin);
// Преобразуем значение потенциометра в количество мигающих светодиодов
int ledsToBlink = map(potValue, 0, 1023, 0, 11);
// Если потенциометр на нуле — ничего не мигает
if (ledsToBlink == 0) {
for (int i = 0; i < 11; i++) {
digitalWrite(ledPins[i], LOW);
}
} else {
// Мигаем нужным количеством светодиодов
for (int i = 0; i < 11; i++) {
if (i < ledsToBlink) {
digitalWrite(ledPins[i], HIGH);
} else {
digitalWrite(ledPins[i], LOW);
}
}
delay(100); // задержка между миганиями
// выключаем мигающие светодиоды
for (int i = 0; i < ledsToBlink; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(100); // задержка между миганиями
}
}
https://drive.google.com/file/d/1VAxNYwC1OdOZ8TVNQtahvSVWVgsbYLDA/view?usp=sharing