Hallo,
ich habe mir die aktuelle library zum schalten von FUnksteckdosen besorgt und es funktioniert einwandfrei mit dem Testcode.
Jetzt möchte ich das ganze über die Temperatur steuern, leider schaltet sie nicht. Und den Fehler finde ich einfach nciht.
Die Temperatur wird korrekt gelesen, aber wenn ich den Fühler erwärme sollte ja aigentlich die FUnkdose abgeschaltet werden. Klappt halt nicht.
Hier mein Code:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch(0, 340); //HX2262: 10 ist der Pin am Arduino und 340 ist 1/8 Bitlänge in Mikrosekunden. Das variiert je nach Fernbedienung zwischen 300 und 400
//DALLAS DS18B20 Temperature
#include <WProgram.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS A3
OneWire oneWire(ONE_WIRE_BUS);
float TempLED1;
float TempLED2;
float TempWasser;
float TempLuft;
DallasTemperature sensors(&oneWire);
#include "Tlc5940.h"
int i=0;
int UV=7;
int luft1=10;
int luft2=8;
int moon=13;
void setup()
{
sensors.begin();
Tlc.init();
Serial.begin(9600);
pinMode(UV, OUTPUT);
pinMode(moon, OUTPUT);
pinMode(luft1, OUTPUT);
pinMode(luft2, OUTPUT);
}
void loop()
{
getTemp();
digitalWrite(moon, HIGH);
digitalWrite(luft1, HIGH);
digitalWrite(luft2, HIGH);
analogWrite(UV,0); //UV
//li KK1 | KK2 | KK3 | KK4 | KK5 re//
Tlc.clear();
Tlc.set(0, 4095); // blau KK2
Tlc.set(1, 0); // blau 10W
Tlc.set(2, 4095); // rot links
Tlc.set(3, 4095); // LEER
Tlc.set(4, 0); // weiß 10W
Tlc.set(5, 4095); // blau KK1
Tlc.set(6, 4095); // weiß KK3
Tlc.set(7, 4095); // weiß KK4
Tlc.set(8, 4095); //grün rechts
Tlc.set(9, 4095); // weiß KK2
Tlc.set(10, 4095); // weiß KK5
Tlc.set(11, 4095); // blau KK 5
Tlc.set(12, 4095); // rot rechts
Tlc.set(13, 4095); // grün links
Tlc.set(14, 4095); // blau KK 4
Tlc.set(15, 4095); //LEER
Tlc.update();
Serial.println(TempLED1, DEC);
delay(1000);
if (TempLED1>25.5) {
mySwitch.switchOff("00111", 4);
delay(1000);
}
if (TempLED1<24.5) {
mySwitch.switchOn("00111", 4);
delay(1000);
}
}
void getTemp() {
sensors.requestTemperatures();
TempLED1 = sensors.getTempCByIndex(0);
}