abc Arduino - primjeri /EXAMPLES/
LED diode 5x - Regulacija promjene brzine uključenja potenciometrom

Ex.9.2. Napravite sklop sa 5 LED dioda koje se pojedinačno uključuju i isključuju. Brzina promjene uključenja/isključenja se reguliše potenciometrom.

Opis rješenja: Potenciometar je spojen na analogan ulaz (A5) i sa njega se očitava analogan napon analogRead() naredbom. Te očitane vrijednosti vrijednosti su dužina uključenja svake od LED dioda. Ovo se reguliše delay(kasni) naredbom.

Šema povezivanja: Ispis

Elementi:
- LED dioada 5 kom;
- Otpornik 220 Ω 5 kom;
- Potenciometar /POTENCIOMETER/
- Arduino modul.


Slika 1.2. Naizmjenično uključenje/isključenje LED dioda

Listing programa :

// LED 5x pale se jedna po jedna
int analogniulaz = A5;
int led1 = 5;
int led2 = 6;
int led3 = 9;
int led4 = 8;
int led5 = 7;
int kasni = 0;

void setup() {
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  
  // Ispis na serijski monitor
  Serial.begin(9600);
}

void loop() {
  kasni  = analogRead(analogniulaz);
  
  // brzina uključenja svake od LED dioda je analogna vrijednost ocitana na ulazu A0 (0-1023) ms
  digitalWrite(led1, HIGH);   // LED 1
  digitalWrite(led2, LOW);    // LED 2 
  digitalWrite(led3, LOW);    // LED 3
  digitalWrite(led4, LOW);    // LED 4
  digitalWrite(led5, LOW);    // LED 5
  delay(kasni);

  digitalWrite(led1, LOW);    // LED 1
  digitalWrite(led2, HIGH);   // LED 2 
  digitalWrite(led3, LOW);    // LED 3
  digitalWrite(led4, LOW);    // LED 4
  digitalWrite(led5, LOW);    // LED 5
  delay(kasni);

  digitalWrite(led1, LOW);    // LED 1
  digitalWrite(led2, LOW);    // LED 2 
  digitalWrite(led3, HIGH);   // LED 3
  digitalWrite(led4, LOW);    // LED 4
  digitalWrite(led5, LOW);    // LED 5
  delay(kasni);

  digitalWrite(led1, LOW);    // LED 1
  digitalWrite(led2, LOW);    // LED 2 
  digitalWrite(led3, LOW);    // LED 3
  digitalWrite(led4, HIGH);   // LED 4
  digitalWrite(led5, LOW);    // LED 5
  delay(kasni);

  digitalWrite(led1, LOW);    // LED 1
  digitalWrite(led2, LOW);    // LED 2 
  digitalWrite(led3, LOW);    // LED 3
  digitalWrite(led4, LOW);    // LED 4
  digitalWrite(led5, HIGH);   // LED 5
  delay(kasni);

  Serial.print("Kasni ms: ");
  Serial.println(kasni);
}
II verzija iskljucuju se samo LED koje su bile upaljene.
void loop() {
  kasni  = analogRead(analogniulaz);
  
  // maksimalno osvjetljenje se pomjera od 1. do 5. LED diode
  digitalWrite(led1, HIGH);   // LED 1
  delay(kasni);
  digitalWrite(led1, LOW);    // LED 1
  
  digitalWrite(led2, HIGH);   // LED 2 
  delay(kasni);
  digitalWrite(led2, LOW);    // LED 2 

  digitalWrite(led3, HIGH);   // LED 3
  delay(kasni);
  digitalWrite(led3, LOW);    // LED 3

  digitalWrite(led4, HIGH);   // LED 4
  delay(kasni);
  digitalWrite(led4, LOW);    // LED 4

  digitalWrite(led5, HIGH);   // LED 5
  delay(kasni);
  digitalWrite(led5, LOW);    // LED 5

  Serial.print("Kasni ms: ");
  Serial.println(kasni);
}

Index