Preuzmi .fzz Preuzmi .ino
Preuzmi shemu spajanja u Fritzingu    Preuzmi programski kod za Arduino

 

 

POGLAVLJE 8 - Zadatak 40:

Na mikrokontroler spojite jedan potenciometar i pet svjetlećih dioda. Napišite program koji će animirati svjetleće diode tako da se one uključuju jedna po jedna s lijeve na desnu stranu. Brzinu efekta trčećeg svjetla određujemo pomoću potenciometra. Neka trajanje uključenog stanja svake svjetleće diode u milisekundama bude jednako očitanju stanja analognog ulaza na kojem je spojen potenciometar.

SHEMA:

EKSPERIMENTALNA PLOČICA:

RJEŠENJE:

int led1 = 2;                     //definiraj led1 = 2
int led2 = 3;                     //definiraj led2 = 3      
int led3 = 4;                     //definiraj led3 = 4
int led4 = 5;                     //definiraj led4 = 5
int led5 = 6;                     //definiraj led5 = 6
int pot = A0;                     //definiraj pot = A0

void setup() {
  pinMode(led1, OUTPUT);          //postavi izvod led1 kao izlazni
  pinMode(led2, OUTPUT);          //postavi izvod led2 kao izlazni
  pinMode(led3, OUTPUT);          //postavi izvod led3 kao izlazni
  pinMode(led4, OUTPUT);          //postavi izvod led4 kao izlazni
  pinMode(led5, OUTPUT);          //postavi izvod led5 kao izlazni
  digitalWrite(led1, LOW);        //isključi LED diodu - početno stanje
  digitalWrite(led2, LOW);        //isključi LED diodu - početno stanje
  digitalWrite(led3, LOW);        //isključi LED diodu - početno stanje
  digitalWrite(led4, LOW);        //isključi LED diodu - početno stanje
  digitalWrite(led5, LOW);        //isključi LED diodu - početno stanje
}

void loop() { 
  digitalWrite(led1, HIGH);       //uključi LED diodu 1
  delay(analogRead(pot));         //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0
  digitalWrite(led1, LOW);        //isključi LED diodu 1
  
  digitalWrite(led2, HIGH);       //uključi LED diodu 2
  delay(analogRead(pot));         //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0
  digitalWrite(led2, LOW);        //isključi LED diodu 2
  
  digitalWrite(led3, HIGH);       //uključi LED diodu 3
  delay(analogRead(pot));         //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0 
  digitalWrite(led3, LOW);        //isključi LED diodu 3
  
  digitalWrite(led4, HIGH);       //uključi LED diodu 4
  delay(analogRead(pot));         //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0
  digitalWrite(led4, LOW);        //isključi LED diodu 4
  
  digitalWrite(led5, HIGH);       //uključi LED diodu 5
  delay(analogRead(pot));         //čekaj onoliko ms koliko je vrijednost očitanja analognog izvoda A0
  digitalWrite(led5, LOW);        //isključi LED diodu 5
}

Autor: Paolo Zenzerović