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

 

 

POGLAVLJE 8 - Zadatak 44:

Na analogni izvod mikrokontrolera spojite fotootpornik u spoju naponskog djelila, a na izvod mikrokontrolera s mogućnošću pulsno-širinske modulacije spojite jednu svjetleću diodu. Napišite program koji će mijenjati jačinu svjetlosti svjetleće diode u ovisnosti o stanju analognog ulaza na kojem je spojen fotootpornik. Kada je fotootpornik u tami neka svjetleća dioda svijetli punim sjajem, a kada je fotootpornik osvijetljen neka svjetleća dioda bude isključena. Na računalo putem serijske veze pošaljite očitanje analognog ulaza i podešenu širinu pulsa za svjetleću diodu.

SHEMA:

EKSPERIMENTALNA PLOČICA:

RJEŠENJE:

int led1 = 3;                                 //definiraj led1 = 3
int led2 = 5;                                 //definiraj led2 = 5
int fo = A0;                                  //definiraj fo = A0
int ocitanjefo;                               //definiraj varijablu ocitanjefo
int jacinaled;                                //definiraj varijablu jacinaled

void setup() {
  pinMode(led1, OUTPUT);                      //postavi izvod led1 kao izlazni
  pinMode(led2, OUTPUT);                      //postavi izvod led2 kao izlazni
  digitalWrite(led1, LOW);                    //isključi LED diodu - početno stanje
  digitalWrite(led2, LOW);                    //isključi LED diodu - početno stanje
  Serial.begin(9600);                         //inicijalizaija serijske veze
}

void loop() { 
  ocitanjefo=analogRead(fo);                  //očitaj stanje analognog ulaza
  jacinaled=map(ocitanjefo, 0, 1023, 0, 255); //skaliraj očitanu vrijednost na 0-255
                                              
  analogWrite(led1, jacinaled);               //postavi jačinu LED diode 1
  analogWrite(led2, 255-jacinaled);           //postavi jačinu LED diode 2
  Serial.print(ocitanjefo);                   //pošalji očitanje serijskim putem
  Serial.print("\t");                         //pošalji znak tablulator serijskim putem
  Serial.println(jacinaled);                  //pošalji jačinu LED serijskim putem
  
  delay(50);                                  //čekaj 50 ms
}

Autor: Paolo Zenzerović