abc Arduino
|
| Opseg | Početna temperatura | Krajnja temperatura | Opseg |
| 1 | do 19 | ||
| 2 | 20 | 49 | 30 |
| 3 | 50 | 79 | 30 |
| 4 | preko 80 |
| Šema povezivanja: | Ispis vrijednosti promjene temperature |
![]() Elementi: |
![]() |
|
|
Listing programa :
// Sensor TMP36 Temperature /SENSOR TMP36 TEMPERATURE/
int pinGreen = 2; // pin za LED zeleni
int pinBlue = 3; // pin za LED plavi
int pinYell = 4; // pin za LED zuti
int baselineTemp = 0;
int korak = 30;
int celsius = 0;
int fahrenheit = 0;
void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
pinMode(pinGreen, OUTPUT); // LED zelena
pinMode(pinBlue, OUTPUT); // LED plava
pinMode(pinYell, OUTPUT); // LED zuta
}
void loop()
{
baselineTemp = 20; // osnovna temperatura
celsius = map(((analogRead(A0) - 20) * 3.04), 0, 1023, -40, 125);
fahrenheit = ((celsius * 9) / 5 + 32);
Serial.print(celsius);
Serial.print(" C, ");
Serial.print(fahrenheit);
Serial.println(" F");
if (celsius < baselineTemp) { // ispod osnovne temperatura
digitalWrite(pinGreen, LOW);
digitalWrite(pinBlue, LOW);
digitalWrite(pinYell, LOW);
}
if (celsius >= baselineTemp && celsius < baselineTemp + korak) {
digitalWrite(pinGreen, HIGH);
digitalWrite(pinBlue, LOW);
digitalWrite(pinYell, LOW);
}
if (celsius >= baselineTemp + korak && celsius < baselineTemp + 2 * korak) {
digitalWrite(pinGreen, HIGH);
digitalWrite(pinBlue, HIGH);
digitalWrite(pinYell, LOW);
}
if (celsius >= baselineTemp + 2 * korak && celsius < baselineTemp + 3 * korak) {
digitalWrite(pinGreen, HIGH);
digitalWrite(pinBlue, HIGH);
digitalWrite(pinYell, HIGH);
}
if (celsius >= baselineTemp + 3 * korak) {
digitalWrite(pinGreen, HIGH);
digitalWrite(pinBlue, HIGH);
digitalWrite(pinYell, HIGH);
}
delay(1000);
}
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |