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

 

 

POGLAVLJE 8 - Zadatak 41:

Na mikrokontroler spojite jedan potenciometar i 5 svjetlećih dioda. Iskoristite 3 zelene diode, jednu žutu i jednu crvenu. Napišite program pomoću kojeg će ovaj mikrokontroler raditi kao jednostavni voltmetar. Kada je očitani napon na analognom ulazu između 0V i 1V neka svijetli samo prva led dioda, kada je očitani napon između 1V i 2V neka svijetle prve dvije, između 2V i 3V prve tri svjetleće diode, između 3V i 4V neka svijetle četiri diode, a kada je očitani napon veći od 4V neka svijetli svih pet svjetlećih dioda. Serijskim putem ispišite na računalu očitanu vrijednost analognog ulaza i određenu vrijednost napona.

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
int ocitanjepot;                   //definiraj varijablu očitanjepot

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() { 
  ocitanjepot=analogRead(pot);     //očitaj stanje analognog ulaza
  
  if(ocitanjepot<=250){            //ako je očitanje <1V
     digitalWrite(led1,HIGH);      //uključi LED 1
     digitalWrite(led2,LOW);       //isključi LED 2
     digitalWrite(led3,LOW);       //isključi LED 3
     digitalWrite(led4,LOW);       //isključi LED 4
     digitalWrite(led5,LOW);       //isključi LED 5
  } else if(ocitanjepot>250 && ocitanjepot<=410){            
                                   //ako je očitanje >1V i <2V
     digitalWrite(led1,HIGH);      //uključi LED 1
     digitalWrite(led2,HIGH);      //uključi LED 2
     digitalWrite(led3,LOW);       //isključi LED 3
     digitalWrite(led4,LOW);       //isključi LED 4
     digitalWrite(led5,LOW);       //isključi LED 5
  } else if(ocitanjepot>410 && ocitanjepot<=615){            
                                   //ako je očitanje >2V i <3V
     digitalWrite(led1,HIGH);      //uključi LED 1
     digitalWrite(led2,HIGH);      //uključi LED 2
     digitalWrite(led3,HIGH);      //uključi LED 3
     digitalWrite(led4,LOW);       //isključi LED 4
     digitalWrite(led5,LOW);       //isključi LED 5
  } else if(ocitanjepot>615 && ocitanjepot<=820){            
                                   //ako je očitanje >3V i <4V
     digitalWrite(led1,HIGH);      //uključi LED 1
     digitalWrite(led2,HIGH);      //uključi LED 2
     digitalWrite(led3,HIGH);      //uključi LED 3
     digitalWrite(led4,HIGH);      //uključi LED 4
     digitalWrite(led5,LOW);       //isključi LED 5
  } else {                         //ako je očitanje >4V
     digitalWrite(led1,HIGH);      //uključi LED 1
     digitalWrite(led2,HIGH);      //uključi LED 2
     digitalWrite(led3,HIGH);      //uključi LED 3
     digitalWrite(led4,HIGH);      //uključi LED 4
     digitalWrite(led5,HIGH);      //uključi LED 5
  } 
}

Autor: Paolo Zenzerović