Ich bekomme sie einfach nicht geschaltet 
Habe mir die Libery runtergeladen und installiert. Mein Sender habe ich an Pin 5 angeschlossen. Die Demo die dabei ist habe ich auf meinen Arduino geladen. Doch es passiert nichts. So wie ich den Code verstehe soll er ja einzeln die Steckdosen von A - D anschalten und danach wieder ausschalten. Danach noch den Master an/aus schalten (Den ich ja eh nicht habe). Aber wie gesagt es tut sich nichts. Habe auch mal an einen anderen Arduino ein Receiver gehängt. Da empfange ich nicht mal Daten. Also scheint es mir so, dass die Demo die dabei ist garnichts raussendet?! Mach ich da irgendwas falsch?
Danach habe ich mir gedacht ich gucke mal in die SilverCrest_Sockets.h. Da steht (so wie ich das rauslesen kann), dass z.B zum anschalten der Steckdose A ein bestimmter Binär-Code geschickt werden soll. Also habe ich über die "normale" RC Switch Libery mal diesen Binär-Code geschickt. Doch es passiert wieder nichts. Diesmal sender er zwar einen Binär-Code aber scheinbar nicht den richtigen, der die Steckdose haben möchte.
Oben wurde ja mal geschrieben, dass die ersten 4 und die letzten 4 Bit konstant sind. Was man ja auch sieht wenn man die Fernbedienung ausliest. Also habe ich mal den den 16 Bit "Rollingcode" aus der SilverCrest_Sockets.h genommen und mit meinen konstanten 8 Bit ungeschrieben und dann versendet. Doch es passiert wie immer nichts.
Ich weis echt nicht mehr was ich machen soll
. Scheint echt nicht so einfach zu sein. Jetzt wundert es mich nicht, dass das noch keiner mit diesen Steckdosen im Netz gemacht hat. Vielleicht hat ja jemand noch eine Idee. Oder mach ich grundsätzlich was falsch?!
Hier der Code der SilverCrest_Sockets.h:
#include <SilverCrest_Sockets.h>
int transmitterPin = 5;
SilverCrest_Sockets scRemote(transmitterPin);
void setup()
{
}
void loop()
{
delay(2000);
scRemote.SendCode_A_ON();
delay(2000);
scRemote.SendCode_B_ON();
delay(2000);
scRemote.SendCode_C_ON();
delay(2000);
scRemote.SendCode_D_ON();
delay(2000);
scRemote.SendCode_A_OFF();
delay(2000);
scRemote.SendCode_B_OFF();
delay(2000);
scRemote.SendCode_C_OFF();
delay(2000);
scRemote.SendCode_D_OFF();
delay(2000);
scRemote.SendCode_M_ON();
delay(2000);
scRemote.SendCode_M_OFF();
}
Hier der SilverCrest_Sockets.h
#ifndef SilverCrest_Sockets_h
#define SilverCrest_Sockets_h
#include <Arduino.h>
class SilverCrest_Sockets
{
const static uint8_t CodeSize = 24;
public:
SilverCrest_Sockets(int _transmitterPin);
void SendCode_A_ON();
void SendCode_B_ON();
void SendCode_C_ON();
void SendCode_D_ON();
void SendCode_M_ON();
void SendCode_A_OFF();
void SendCode_B_OFF();
void SendCode_C_OFF();
void SendCode_D_OFF();
void SendCode_M_OFF();
void SendCode_A_ON(uint8_t _repeatTimes);
void SendCode_B_ON(uint8_t _repeatTimes);
void SendCode_C_ON(uint8_t _repeatTimes);
void SendCode_D_ON(uint8_t _repeatTimes);
void SendCode_M_ON(uint8_t _repeatTimes);
void SendCode_A_OFF(uint8_t _repeatTimes);
void SendCode_B_OFF(uint8_t _repeatTimes);
void SendCode_C_OFF(uint8_t _repeatTimes);
void SendCode_D_OFF(uint8_t _repeatTimes);
void SendCode_M_OFF(uint8_t _repeatTimes);
private:
uint8_t transmitterPin;
void SendCode(bool const _code[CodeSize], uint8_t _repeatTimes);
bool const CODE_A_ON [CodeSize] = { 1,1,1,0,1,0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1 };
bool const CODE_B_ON [CodeSize] = { 1,1,1,0,1,0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,0,1,1 };
bool const CODE_C_ON [CodeSize] = { 1,1,1,0,1,0,1,0,1,1,0,1,1,1,0,1,0,1,0,0,0,0,1,1 };
bool const CODE_D_ON [CodeSize] = { 1,1,1,0,1,1,0,1,1,1,1,0,0,0,0,1,0,1,0,1,1,1,0,1 };
bool const CODE_M_ON [CodeSize] = { 1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,0,1 };
bool const CODE_A_OFF [CodeSize] = { 1,1,1,0,0,1,1,1,0,1,0,1,1,0,0,1,1,1,0,1,1,1,1,1 };
bool const CODE_B_OFF [CodeSize] = { 1,1,1,0,0,1,1,1,0,1,0,1,1,0,0,1,1,1,0,1,1,0,1,1 };
bool const CODE_C_OFF [CodeSize] = { 1,1,1,0,0,0,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1 };
bool const CODE_D_OFF [CodeSize] = { 1,1,1,0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,0,0,1,1,0,1 };
bool const CODE_M_OFF [CodeSize] = { 1,1,1,0,1,0,0,1,0,1,1,1,0,1,1,0,1,1,0,0,0,1,0,1 };
};
#endif