Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* DS18B20 1-Wire digital temperature sensor with Arduino example code. More info: https://www.makerguides.com */
- // Include the required Arduino libraries:
- #include <OneWire.h>
- #include <DallasTemperature.h>
- // Define to which pin of the Arduino the 1-Wire bus is connected:
- #define ONE_WIRE_BUS 2
- // Create a new instance of the oneWire class to communicate with any OneWire device:
- OneWire oneWire(ONE_WIRE_BUS);
- // Pass the oneWire reference to DallasTemperature library:
- //Relay Pin Variable
- int relayPin = 3; // Relay Singnal lead to Digital Pin [D2-D12] (Elegoo Nano v.3)
- float maxTemperature = 26.00; // The Max Temperature allowed
- float minTemperature = 25.00; // The Min Temperature allowed
- DallasTemperature sensors(&oneWire);
- void setup() {
- // Begin serial communication at a baud rate of 9600:
- Serial.begin(9600);
- // Start up the library:
- sensors.begin();
- pinMode(relayPin, OUTPUT);
- }
- void loop() {
- if(sensors.getTempCByIndex(0) >= maxTemperature){
- powerOnRelay();
- } else if (sensors.getTempCByIndex(0) <= minTemperature) {
- powerOffRelay();
- }
- // Send the command for all devices on the bus to perform a temperature conversion:
- sensors.requestTemperatures();
- // Fetch the temperature in degrees Celsius for device index:
- float tempC = sensors.getTempCByIndex(0); // the index 0 refers to the first device
- // Fetch the temperature in degrees Fahrenheit for device index:
- float tempF = sensors.getTempFByIndex(0);
- // Print the temperature in Celsius in the Serial Monitor:
- Serial.print("Temperature: ");
- Serial.print(tempC);
- Serial.print(" \xC2\xB0"); // shows degree symbol
- Serial.print("C | ");
- // Print the temperature in Fahrenheit
- Serial.print(tempF);
- Serial.print(" \xC2\xB0"); // shows degree symbol
- Serial.println("F");
- // Wait 1 second:
- // float temperature = tempC();
- delay(1000);
- }
- void powerOffRelay() {
- digitalWrite(relayPin, LOW);
- Serial.println("Relay Off");
- }
- void powerOnRelay() {
- digitalWrite(relayPin, HIGH);
- Serial.println("Relay On");
- }
Add Comment
Please, Sign In to add comment