6 Analogwrite Analogread
6 Analogwrite Analogread
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();
}