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); } |