Hallo, bin ja noch Anfänger bei dem programmieren der Andruino. Kann mir jemand sagen, wie ich am besten den Alarm für Temperatur zu Warm und zu kalt einbinde? Ich dachte mir es so, aber klappte nicht wirklich! Nutze den DS18B20.
If (Thermometer_1 < 24)
{
lcd.setCursor(0, 0);
lcd.print("Alarm zu kalt");
}
If (Thermometer_1 > 27)
{
lcd.setCursor(0, 0);
lcd.print("Alarm zu warm");
}
//////########################################## ANFANG WICHTIGE DATEN ############################### \\\\\\\\
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#include <Wire.h>
#include "RTClib.h"
#define ONE_WIRE_BUS 12
OneWire oneWire(ONE_WIRE_BUS);
LiquidCrystal lcd(10, 11, 5, 4, 3, 2);
DallasTemperature sensors(&oneWire);
DeviceAddress Thermometer_1 = { 0x28, 0xC0, 0x8B, 0xDB, 0x02, 0x00, 0x00, 0xE0 };
DeviceAddress Thermometer_2 = { 0x28, 0x51, 0xE0, 0xB6, 0x02, 0x00, 0x00, 0xA };
DeviceAddress Thermometer_3 = { 0x28, 0x27, 0x7B, 0xDB, 0x02, 0x00, 0x00, 0xEA };
RTC_DS1307 RTC;
//////########################################## ANFANG WICHTIGE DATEN ###############################
//////########################################## ANFANG SETUP ###############################
void setup(void)
{
Serial.begin(9600);
sensors.begin();
lcd.begin(20, 4);
Wire.begin();
RTC.begin();
sensors.setResolution(Thermometer_1, 10);
sensors.setResolution(Thermometer_2, 10);
sensors.setResolution(Thermometer_3, 10);
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
//////########################################## ENDE SETUP ###############################
//////########################################## ANFANG WICHTIGE DATEN TEMPERATURSENSOR ###############################
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00)
{
Serial.print("Error getting temperature");
lcd.setCursor(0, 0);
lcd.print("Error getting temperature");
}
else
{
Serial.print("C");
Serial.print(tempC);
lcd.print(tempC);
}
}
//////########################################## ENDE WICHTIGE DATEN TEMPERATURSENSOR ###############################
//////########################################## ANFANG LOOP ###############################
void loop(void)
{
Serial.print("Getting temperatures...\n\r");
sensors.requestTemperatures();
Serial.print("Temp.1: ");
lcd.setCursor(0, 1);
lcd.print("Becken ");
printTemperature(Thermometer_1);
lcd.print("C");
Serial.print("\n\r");
Serial.print("Temp.2: ");
lcd.setCursor(0, 2);
lcd.print("Technik ");
printTemperature(Thermometer_2);
lcd.print("C");
Serial.print("\n\r");
Serial.print("Temp.3: ");
lcd.setCursor(0, 3);
lcd.print("Raumtem ");
printTemperature(Thermometer_3);
lcd.print("C");
Serial.print("\n\r\n\r");
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
lcd.setCursor(12, 0);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
Serial.print(" since 1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");
// calculate a date which is 7 days and 30 seconds into the future
DateTime future (now.unixtime() + 7 * 86400L + 30);
Serial.print(" now + 7d + 30s: ");
Serial.print(future.year(), DEC);
Serial.print('/');
Serial.print(future.month(), DEC);
Serial.print('/');
Serial.print(future.day(), DEC);
Serial.print(' ');
Serial.print(future.hour(), DEC);
Serial.print(':');
Serial.print(future.minute(), DEC);
Serial.print(':');
Serial.print(future.second(), DEC);
Serial.println();
}
//////########################################## ENDE LOOP ###############################
Des weiteren, wollte ich 3-4 Ausgänge mit einer Zeitschaltuhr versehen, leider stehe ich total auf dem Schlauch. Kann mir jemand ein kleinen Tipp geben?
Grüße Timo