Teema 2 Potentsiomeetri kasutamine

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