INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Handsender zum testen aller 433Mhz Funksteckdosen
23.09.2015, 09:32 (Dieser Beitrag wurde zuletzt bearbeitet: 23.09.2015 11:03 von Bender.)
Beitrag #1
Handsender zum testen aller 433Mhz Funksteckdosen
Hallo,

jeder kennt das Problem: Man drückt die Fernbedienung aber die Funksteckdose reagiert nicht. Liegt es am Sender oder an der Steckdose?

Ich habe hier einen kleinen Handsender gebaut der alle gängigen Funksteckdosen ein oder ausschaltet. Funktionierend sind die normalen Dosen aus dem Baumarkt und die etwas älteren Modelle.
Es gibt einen Startknopf für ausschalte Signale und einen für einschalte Signale. Der Sender geht nach dem Start der Reihe nach alle binären Codierungsmöglichkeiten durch und erwisch damit automatisch jede Steckdose. Aber vorsicht haltet euch an die 10 Milliwatt Begrenzung für das ISM Band, ihr wollt ja nicht das in der ganzen Stadt alle Steckdosen an- und ausgehen. ;-)
Verbaut sind:

1 Arduino Nano
2 Taster
2 LED
1 Schalter ein/aus
1 10 MW Funkmodul (aus der Bucht)
4 Wiederstände für LED und Tasten

Übrigens die Antenne habe ich selber gebaut. Für 433 Mhz benötigt man 33 cm 0.5 mm Kupferdraht den man möglichst gleichmäßig um einen dünnen Stift wickelt. Am Schluß noch Schrumpflauch drüber. Das ganze nennt sich λ/2 Antenne.
Da die Codes hintereinander ausgesendet werden müssen dauert ein kompletter Durchlauf 70 Sekunden.

Das Gehäuse habe ich mit dem 3D Drucker gemacht.

   

   

Übrigens wie kann ich hier meinen Code anhängen?

@Thorsten Pferdekämper vielen Dank für den Tipp

Hier kommt der Code. Ist nicht sehr elegant aber erfüllt seinen Zweck. Eine Schleife für das Einstellen der Binäwerte wär schöner gewesen aber so funkltioniert es auch.

Code:
/*
Pin 4 LED Rot für Senden EIN Signale
Pin 5 LED Grün für Senden AUS Signale
Pin 6 Taste für senden EIN Signale
Pin 7 Taste für senden AUS Signale
Pin 10 Signalausgang zum Sender
*/



#include <RCSwitch.h>

String bina;
int a = 0;
int an = 0;
int b = 0;

RCSwitch mySwitch = RCSwitch();

void setup() {

  Serial.begin(9600);
  
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, INPUT);
  pinMode(7, INPUT);
  digitalWrite(4, HIGH);
  
  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);

  // Optional set pulse length.
  // mySwitch.setPulseLength(320);
  
  // Optional set protocol (default is 1, will work for most outlets)
  // mySwitch.setProtocol(2);
  
  // Optional set number of transmission repetitions.
  // mySwitch.setRepeatTransmit(15);
  
}

void loop() {


  b=b+1;
  
  if (b<1000){
    digitalWrite(5, LOW);
    }
  
  if (b>1000){
    digitalWrite(5, HIGH);
    }
  if (b>2000){
    b=0;
    }
  
  
  digitalWrite(4, HIGH);
  
   a=digitalRead(6);
  
  if (a==0) {
    
  digitalWrite(5, HIGH);
  digitalWrite(4, LOW);
  an=0;
  send();
  
  }

a=digitalRead(7);
  
  if (a==0) {
    
  digitalWrite(5, HIGH);
  digitalWrite(4, LOW);
  an=1;
  send();
  
  }



  
  
  }
  
  
  void send(){
  bina = "11111";
  binaus();
  digitalWrite(4, HIGH);
  delay(2000);
  digitalWrite(4, LOW);


  bina = "00000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "00001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

bina = "00010";
binaus();
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4, LOW);

  bina = "00011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "00100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "00110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "00111";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01010";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01101";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01111";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);  

  bina = "10000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10010";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10101";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10111";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11010";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "11100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11101";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);


   }
  
  
  
  
void binaus() {

  
  
  if (an==0){
  
  
  
  mySwitch.switchOn("bina", "10000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn("bina", "01000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn("bina", "00100");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn("bina", "00010");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn("bina", "00001");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  }


if (an==1){

  mySwitch.switchOff("bina", "10000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff("bina", "01000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff("bina", "00100");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff("bina", "00010");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff("bina", "00001");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
}


}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.09.2015, 10:06
Beitrag #2
RE: Handsender zum testen aller 433Mhz Funksteckdosen
(23.09.2015 09:32)Bender schrieb:  Übrigens wie kann ich hier meinen Code anhängen?
Am besten in Code-Tags. Dazu das "#" in der Icon-Zeile über dem Eingabefeld drücken.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.09.2015, 10:25
Beitrag #3
RE: Handsender zum testen aller 433Mhz Funksteckdosen
@ Bender
Woher weißt du, welcher Code gerade die Steckdose geschaltet hat?

Und eine kleine Anmerkung, warum verwendest du zum Aufbau nicht eine Lochrasterplatine?
Die gibt es auch sehr preiswert in der Bucht und das wird sicherer, stabiler und "schöner". Wink So sieh es gleich nach einem Kurzschluss aus.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.09.2015, 10:35 (Dieser Beitrag wurde zuletzt bearbeitet: 23.09.2015 11:58 von Bender.)
Beitrag #4
RE: Handsender zum testen aller 433Mhz Funksteckdosen
(23.09.2015 10:25)hotsystems schrieb:  @ Bender
Woher weißt du, welcher Code gerade die Steckdose geschaltet hat?

Und eine kleine Anmerkung, warum verwendest du zum Aufbau nicht eine Lochrasterplatine?
Die gibt es auch sehr preiswert in der Bucht und das wird sicherer, stabiler und "schöner". Wink So sieh es gleich nach einem Kurzschluss aus.

Wenn man den Code unbedingt wissen will kann man mitzählen. Die Rote blinkt bei jedem neuen Systemcode einmal ab/auf und die Grüne dazu bei jedem Steckercode innerhalb des Systemcodes. Des Großteil des Sketches besteht eigentlich aus Blinkbefehlen für die LED. Rolleyes

Ja, danke für den Tipp mit der Lochraster platine, aber das geht schon so. Big Grin

(23.09.2015 10:01)Lötzinnerhitzer schrieb:  schönes Projekt - erinnert mich an "TV-B-Gone" ;-)

Ha Ha Ha, ja das passt.
Ein Schelm der Böses dabei denkt. Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2015, 06:31
Beitrag #5
RE: Handsender zum testen aller 433Mhz Funksteckdosen
Sorry, mir ist gerade noch was aufgefallen. Meine Angaben zur Beschaltung von dem Arduino könnten missverstanden werden. Mit Pin 4, Pin 5, Pin 6 und Pin 7 meinte ich selbstverständlich D4, D5, D6 und D7. Also nichts für ungut und viel Spaß beim basteln.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.10.2015, 06:59 (Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2015 07:46 von Gelegenheitsbastler.)
Beitrag #6
RE: Handsender zum testen aller 433Mhz Funksteckdosen
Ich finde das Projekt sehr interessant, habe aber ein paar Fragen dazu.

Wie hast Du die Taster angeschlossen? Per Pullup oder Pulldown?

Ich bin kein großer Programmierer, versuche aber, den Sketch zu verstehen. Da das noch nicht klappen will, habe ich dazu ein paar Fragen:

Welche Funktion hat "Serial.begin(9600);"?

Du schreibst, dass ein Durchlauf etwa 70 Sekunden dauert. Bedeutet das, dass man den Taster so lange halten muss? Was passiert, wenn der Taster los gelassen wird? Was passiert, wenn Deine Schaltung eingeschaltet wird, ohne dass ein Knopf gedrückt wird?

Oder muss der Taster schon beim Einschalten gedrückt sein, so dass dann festgelegt wird, was gemacht werden soll?

Was passiert nach den rund 70 Sekunden?

Du nutzt für die Zustände beider Taster die Variable "a". Wäre es nicht sinnvoller, hier verschiedene Bezeichnungen zu nutzen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.10.2015, 08:53 (Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2015 11:06 von Bender.)
Beitrag #7
RE: Handsender zum testen aller 433Mhz Funksteckdosen
Hallo Gelegenheitsbastler,

vielen Dank für Dein Interesse an meinem Projekt. Gern werde ich Deine Fragen beantworten.

1. Ich haben den Code noch einmal überarbeitet. Bitte verwende nur noch den neuen denn ich hier eingestellt habe.
2. D6 und D7 sind die Eingänge für die Tasten. Beide Eingänge liegen über jeweils 10K an Plus. Wird eine Taste gedrückt zieht Sie den Pin nach Minus, also er geht auf LOW.
3. Der Befehl Serial.begin(9600) steht nur noch darin damit mit man sich zum Testen in der Seriellen Console am PC Zwischenschritte anzeigen lassen konnte. Er wird für für die Funktion von dem Gerät nicht mehr benötigt.
4. Zur Funktion:
Ist alles richtig angeschlossen und man schaltet den Strom ein bleibt die rote LED aus und die grüne LED flimmert. Dies zeigt an das Gerät ist funktionsbereit und wartet auf einen Tastendruck.Das flimmern ist Absicht und macht das Teil optisch reizvoller als eine einfach nur eingeschaltete LED.
Drückt man nun kurz die Taste an D7 beginnt der Sendevorgang. Die rote LED geht an. Als erstes wird das Kommando für „Steckdosen Aus“ und dem Systemcode für die Steckdosen die sich noch im Lieferzustand befinden gesendet. Also es werden für die Steckdosen die auf 11111 stehen alle 5 möglichen Codes hintereinander ausgegeben. Nach jedem komplett gesendeten Steckdosen Code blinkt die grüne LED einmal ab. Wenn alle 5 Codes ausgegeben wurden blinkt die rote LED einmal ab. Nachdem der Code für die werkseingestellten Steckdosen gesendet wurde (dauer ca. 1 Sekunde) schaltet sich das Gerät für 2 Sekunden ab. Dies soll dazu dienen das der Nutzer die Möglichkeit hat den gesamten Vorgang an der Stelle zu abzubrechen in dem er die Stromversorgung unterbricht.
Sollen komplett alle Codes durchlaufen werden muss man garnichts machen. Nach den 2 Sekunden Pause werden der Reihe nach alle Codes ausgesendet. Am Ende hört das Gerät auf zu senden und die grüne flimmert wieder.
Drückt man kurz die Taste an D6 läuft alles genauso ab, nur es werden die Codes für „Steckdose Ein“ gesendet.
5. Nur eine Variable „a“ für zwei Tasten zu nutzen ist schon in Ordnung. Denn in Bereitschaft werden endlos beide Tasten hintereinander abgefragt. Es wird kein Tastatur Interrupt verwendet.

Weitere Fragen werde ich Dir gern beantworten.

Schöne Grüße

Bender


Code:
/*
Pin D4 LED Rot für Senden EIN Signale
Pin D5 LED Grün für Senden AUS Signale
Pin D6 Taste für senden EIN Signale
Pin D7 Taste für senden AUS Signale
Pin D10 Signalausgang zum Sender
*/



#include <RCSwitch.h>

char* bina;
int a = 0;
int an = 0;
int b = 0;

RCSwitch mySwitch = RCSwitch();

void setup() {

  Serial.begin(9600);
  
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, INPUT);
  pinMode(7, INPUT);
  digitalWrite(4, HIGH);
  
  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);

  // Optional set pulse length.
  // mySwitch.setPulseLength(320);
  
  // Optional set protocol (default is 1, will work for most outlets)
  // mySwitch.setProtocol(2);
  
  // Optional set number of transmission repetitions.
   mySwitch.setRepeatTransmit(4);
  
}

void loop() {


  b=b+1;
  
  if (b<1000){
    digitalWrite(5, LOW);
    }
  
  if (b>1000){
    digitalWrite(5, HIGH);
    }
  if (b>2000){
    b=0;
    }
  
  
  digitalWrite(4, HIGH);
  
   a=digitalRead(6);
  
  if (a==0) {
    
  digitalWrite(5, HIGH);
  digitalWrite(4, LOW);
  an=0;
  send();
  
  }

a=digitalRead(7);
  
  if (a==0) {
    
  digitalWrite(5, HIGH);
  digitalWrite(4, LOW);
  an=1;
  send();
  
  }



  
  
  }
  
  
  void send(){
  bina = "11111";
  binaus();
  digitalWrite(4, HIGH);
  delay(2000);
  digitalWrite(4, LOW);


  bina = "00000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "00001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "00010";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "00011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "00100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "00110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "00111";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01010";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "01100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01101";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "01111";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);  

  bina = "10000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10010";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10101";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "10111";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11000";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11001";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11010";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11011";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  
  bina = "11100";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11101";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);

  bina = "11110";
  binaus();
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);


   }
  
  
  
  
void binaus() {

  
  
  if (an==0){
  
  
  
  mySwitch.switchOn(bina, "10000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn(bina, "01000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn(bina, "00100");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn(bina, "00010");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOn(bina, "00001");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  }


if (an==1){

  mySwitch.switchOff(bina, "10000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff(bina, "01000");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff(bina, "00100");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff(bina, "00010");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
  mySwitch.switchOff(bina, "00001");
  digitalWrite(5, LOW);
  delay(30);
  digitalWrite(5, HIGH);
}


}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.10.2015, 15:04
Beitrag #8
RE: Handsender zum testen aller 433Mhz Funksteckdosen
Danke für die umfangreiche Antwort. Eine kleine Unstimmigkeit ist noch drin, lässt sich aber einfach beheben.

digitalWrite(4, HIGH);

a=digitalRead(6);

if (a==0) {

müsste

digitalWrite(4, LOW);

a=digitalRead(6);

if (a==0) {

heissen, damit die LED so funktioniert, wie von Dir in Punkt 4 beschrieben. Zumindest habe ich das so gelöst. Der Rest läuft genau so, wie es soll.

Nur festzustellen, welcher Code gesendet wurde, bei dem dann die Steckdose reagiert, ist etwas schwierig. Mitzählen wäre möglich, ist aber doch etwas nervig. Vielleicht hat noch jemand eine andere Idee?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Mini Pro mit RCSwich und 433MHz Empfänger OLDARDUINO 6 263 03.11.2016 14:43
Letzter Beitrag: hotsystems
  433Mhz Fernbedienung Empfänger Haustechno 5 1.981 21.11.2015 17:06
Letzter Beitrag: hotsystems
  433Mhz Türklingel als Auslöser für den Arduino möglich? Serienjunkie 11 3.358 04.10.2015 18:47
Letzter Beitrag: hotsystems
  433MHz Funk- Helligkeits- Sensor MaHa1976 5 2.685 30.12.2014 18:15
Letzter Beitrag: MaHa1976
  Aller Anfang ist schwer knoedi 1 1.398 22.07.2014 17:53
Letzter Beitrag: sepro
  433mhz Empfangen vom RPI bro 0 2.016 10.11.2013 16:23
Letzter Beitrag: bro

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste