abc Arduino - primjeri /EXAMPLES/
|
| Šema povezivanja: | Ispis |
![]() Elementi: |
![]() |
|
|
Listing programa :
// Termometar senzor i RGB dioda sa opsezima temperature
// 21eTermometarRGB1
int analogniulaz = A5;
int pinLedR = 7; // pin crvena led RGB
int pinLedB = 6; // pin plava led RGB
int pinLedG = 5; // pin zelena led RGB
int ocitanavrijednost = 0;
int gr0 = -40; // temperaturne granice
int gr1 = -3;
int gr2= 24;
int gr3 = 81;
int gr4 = 111;
void setup() {
pinMode(pinLedR, OUTPUT); // postvi pinLedR kao izlaz
pinMode(pinLedG, OUTPUT); // postvi pinLedG kao izlaz
pinMode(pinLedB, OUTPUT); // postvi pinLedB kao izlaz
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 - Boja RGB diode zelena
if ((ocitanavrijednost >= gr0) && (ocitanavrijednost < gr1)) {
color(0, 255, 0); // zelena
// Opseg: gr1 - < gr2 - Boja RGB diode zuta
} else if ((ocitanavrijednost >= gr1) && (ocitanavrijednost < gr2)) {
color(255, 255, 0); // zuta
// Opseg: gr2- < gr3 - Boja RGB diode plava
} else if ((ocitanavrijednost >= gr2) && (ocitanavrijednost < gr3)) {
color(0, 0, 255); // plava
// Opseg: gr3- < gr4 - Boja RGB diode cijan
} else if ((ocitanavrijednost >= gr3) && (ocitanavrijednost < gr4)) {
color(0, 255, 255); // cijan
// > gr4 Opseg: ostali - Boja RGB diode crvena
} else {
color(255, 0, 0); // crvena
}
delay(300);
Serial.print(ocitanavrijednost);
Serial.println(" C");
}
// funcion generator boje
void color (int crvena, int zelena, int plava) {
analogWrite(pinLedR, crvena);
analogWrite(pinLedG, zelena);
analogWrite(pinLedB, plava);
}
Ispis na SERIAL MONITOR:
Prikaz izmjerene temperature
-40 C
11 C
29 C
91 C
121 C
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |