#include <SoftwareSerial.h>
#include <OneWire.h>
#include <DallasTemperature.h>
const int ONE_WIRE_BUS = 0; // DS18B20 Data pin connected to PB0
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
const int ledPin1 = 3; // Pin for first LED
const int ledPin2 = 4; // Pin for second LED
const int ledPin3 = 5; // Pin for third LED
SoftwareSerial mySerial(0, 1); // RX, TX (Use PB0 and PB1 for SoftwareSerial)
void setup() {
sensors.begin();
mySerial.begin(9600);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
delay(500);
doprinting(temperatureC);
}
void doprinting(float temperatureC) {
if(temperatureC <= 34) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
} else if(temperatureC > 34 && temperatureC < 39) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
} else if(temperatureC > 39) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
}
mySerial.print("Temperature: ");
mySerial.print(temperatureC);
mySerial.println(" °C");
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_________
_________