abc Arduino - primjeri /EXAMPLES/
|
| Šema povezivanja: | Ispis |
![]() Elementi: |
![]() |
|
|
Listing programa :
// Termometar od 5 LED dioda sa opsezima temperature
// 21eTermometarLED5x
int analogniulaz = A5;
int led1 = 5;
int led2 = 6;
int led3 = 9;
int led4 = 8;
int led5 = 7;
int ocitanavrijednost = 0;
int gr0 = -40; // temperaturne granice
int gr1 = -3;
int gr2= 24;
int gr3 = 81;
int gr4 = 111;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
Serial.begin(9600); // brzina komunikacije
Serial.println("Prikaz izmjerene temperature");
}
void loop() {
ocitanavrijednost = map(((analogRead(analogniulaz) - 20) * 3.04), 0, 1023, -40, 125);
// Opseg: gr0 - < gr1
if ((ocitanavrijednost>= gr0) && (ocitanavrijednost < gr1)) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
// Opseg: gr1 - < gr2
} else if ((ocitanavrijednost>=gr1) && (ocitanavrijednost < gr2)) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
// Opseg: gr2- < gr3
} else if ((ocitanavrijednost>= gr2) && (ocitanavrijednost < gr3)) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
// Opseg: gr3- < gr4
} else if ((ocitanavrijednost>= gr3) && (ocitanavrijednost < gr4)) {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
// > gr4 Opseg: ostali
} else {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
delay(300);
Serial.print(ocitanavrijednost);
Serial.println(" C");
}
Ispis na SERIAL MONITOR:
Prikaz izmjerene temperature
-40 C
11 C
29 C
91 C
121 C
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |