0% found this document useful (0 votes)
17 views10 pages

6 Analogwrite Analogread

wgre
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views10 pages

6 Analogwrite Analogread

wgre
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Funkcije analogWrite() i analogRead()

Napisati program koji simulira rad led diode koristeći funkciju


analogWrite().

int ledPin=9;
int delayPeriod=500;

void setup()
{
pinMode(ledPin, OUTPUT);
}

void blink()
{
analogWrite(ledPin,255);
delay(delayPeriod);

analogWrite(ledPin,200);
delay(delayPeriod);

analogWrite(ledPin,150);
delay(delayPeriod);
analogWrite(ledPin,100);
delay(delayPeriod);

analogWrite(ledPin,50);
delay(delayPeriod);

analogWrite(ledPin,0);
delay(delayPeriod);
}

void loop()
{

blink();
}
Napisati program koji simulira rad led diode uz pomoć
potenciometra. Vrednost pina sa potenciometra predstavlja vreme
terptaja led diode.

int ledPin=13;
int potPin=A0;
int readingPot;

void setup()
{
pinMode(potPin,INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void blink()
{
readingPot=analogRead(potPin);
Serial.print("The value is:");
Serial.println(readingPot);

digitalWrite(ledPin,HIGH);
delay(readingPot);
digitalWrite(ledPin,LOW);
delay(readingPot);

void loop()
{
blink();
}
Napisati program kojisimulira rad senzora temperature. Temperatura
se učitava sa analognom pina. Ako je temperatura manja od 120 onda
se pali plava led dioda, ako je temperatura između 120 i 240,
ostaje uapljena plava led dioda i plai se zelena led dioda i ako je
temperatura veća od 240 ostaje upaljene plava i zelena led dioda i
plai se i crvena led dioda. Napisati funkciju koja temperaturu
učitanu preko analognom pina koja je u celzijusima prevodi u
farenhajte i na serial monitoru prikazuju temperaturu u celzijusima
i farenhajtima.
int tempPin=A0;
int ledPin1=3;
int ledPin2=7;
int ledPin3=10;

void setup()
{
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
pinMode(tempPin,INPUT);
Serial.begin(9600);
}

int getCelsius()
{
int celsius=analogRead(A0);
return celsius;
}

float convertToFahrenheit()
{
int celsius=getCelsius();
return (celsius*9)/5+32;
}

void blink()
{
float fahrenheit=convertToFahrenheit();
int celsius=getCelsius();

Serial.print(celsius);
Serial.print(" C, ");
Serial.print(fahrenheit);
Serial.println(" F");

delay(1000);

if(celsius<120)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
}
else if(celsius>=120 && celsius<=240)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,LOW);
}

else
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
}

void loop()
{
blink();
}
Napisati program koji simulira rad 4 led diode i to na sledeći
način
ako je vrednost sa potenciometra prva dioda je upaljen a ostale 3
ugašene, ako je vrednost sa potenciometra manja od 512 upaljene su
prva i druga dioda a treća i četvrta su ugašene, ako je vrednost sa
potenciometra manja od 768 upaljene su prva, druga i treća dioda a
četvrta je ugađena i ako je vrednost sa potenciometra manja od 1024
upaljene su sve 4 diode.

int ledPin1=1;
int ledPin2=2;
int ledPin3=3;
int ledPin4=4;
int potPin=A0;
int readingPot;

void setup()
{
pinMode(potPin,INPUT);
for(int i=1;i<=4;i++)
{
pinMode(i,OUTPUT);
}
Serial.begin(9600);
}

void blink()
{
readingPot=analogRead(potPin);
Serial.print("The value is:");
Serial.println(readingPot);

if(readingPot<256)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
digitalWrite(ledPin4,LOW);
}
else if(readingPot<512)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,LOW);
digitalWrite(ledPin4,LOW);
}
else if(readingPot<768)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
digitalWrite(ledPin4,LOW);
}
else if (readingPot<1024)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
digitalWrite(ledPin4,HIGH);
}

void loop()
{
blink();
}

You might also like