abc Arduino - primjeri /EXAMPLES/
|
| Šema povezivanja: | Ispis |
![]() Elementi: |
![]() |
|
|
Listing programa :
// Termometar senzor i RGB dioda sa opsezima temperature - switch() naredba
// 21eTermometarRGBswithc1
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, 0, 4);
switch (ocitanavrijednost) {
case 0: // Opseg: gr0 - < gr1 - Boja RGB diode zelena
color(0, 255, 0); // zelena
break;
case 1: // Opseg: gr1 - < gr2 - Boja RGB diode zuta
color(255, 255, 0); // zuta
break;
case 2: // Opseg: gr2- < gr3 - Boja RGB diode plava
color(0, 0, 255); // plava
break;
case 3: // Opseg: gr3- < gr4 - Boja RGB diode cijan
color(0, 255, 255); // cijan
break;
case 4: // > gr4 Opseg: ostali - Boja RGB diode crvena
color(255, 0, 0); // crvena
break;
}
delay(300);
Serial.print(ocitanavrijednost);
Serial.println(". opseg");
}
// 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
0. opseg
1. opseg
2. opseg
3. opseg
4. opseg
3. opseg
2. opseg
1. opseg
0. opseg
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |