Ich habe einen Wemos D1 mini und möchte einen Mhz Empfänger sowie einen FS 1000a Sensor bedienen.
Da beide ein 5V Modul sind, gehe ich vom Wemos mit 5V in das Modul und habe einen Spannungsteiler welcher das Data input jeweils auf 3V drosselt.
Ich orientiere ich mich am an diesem Tutorial:
Und was soll das sein ?
Ich tippe mal, es soll ein Sender für 433 MHz sein.
Wenn du hier Fragen stellst, solltest du schon genaue Angaben machen.
Ebenso wie deine Schaltung funktionieren soll ?
Widerstand R1 und R2 sind doppelt. Und die am D2 des Wemos, vermutlich Empfängerleitung, sind kein Spannungsteiler sondern Reihenschaltung. Da wird wohl nix brauchbares am Wemos ankommen. Zudem ist es kein Problem, wenn du die Widerstände hier raus lässt, da der Empfänger sowie der Sender an den Datenpins keine 5 Volt raus geben.
Jetzt zur Schaltung selbst. Was möchtest du damit erreichen?
Senden und Empfang von den Funkdaten wird nicht gleichzeitig funktionieren.
Also beschreibe mal, was du damit machen möchtest.
Und noch die Info:
Der von dir verwendete Empfänger ist sehr schlecht, da er einer Technik von 1927 entspricht und sehr störanfällig ist. Den darfst du nicht in der Nähe von anderen elektronischen Geräten wie Computer oder Bildschirm betreiben. Auch Metall in seiner Nähe macht den Empfang unmöglich.
Weiterhin müssen Sender und Empfänger mit einer Antenne bestückt sein.
Hast du die dran ?
Und besser du verwendest einen modernen Superhetempfänger wie einen RXB6 oder RXB8.
Ich brauch den Empfänger nur, um eine Fernbedienung auszulesen, welche auf 433.92 Mhz meine Funksteckdose steuert.
Den Empfänger soll nur das signal auslesen, mehr braucht er nicht.
Schade das ich das nicht mit dem RXB6 nicht zuvor wusste. Der mx rm 5VC ist bereits der zweite anlauf, da ich zuvor einen HC-12 gekauft habe
KAnnst du mir nur kurz erklären, weshalb der Wiederstand doppelt ist? (unabhängig davon, das ich ihn nicht brauche, da keine 5V zurück kommen)
ich dachte ich brauche für den Sender und für das Modul jeweils einen Spannungsteiler, bestehend aus 2k und 1k Wiederstand. Daher die zwei Spannungsteiler. Die sind nicht miteinander verbunden.
Widerstand bitte nur mit "i" schreiben.
Weil du beides mal R1 und R2 geschrieben hast.
Und im Schaltbild (wie geschrieben) ist das eine kein Spannungsteiler.
Man kann es mit einem Oszilloskop messen und bei mir hat das Teil testweise problemlos am Wemos gelaufen. Mittlerweile nutze ich die "Müllempfänger" nicht mehr.
Was ist mit der Antenne ?
Und wenn bei dir der Beispielsketch aus der Library nicht funktioniert, dann machst du noch einen Fehler, den ich nicht sehen kann.
Es kann auch sein, dass deine Funksteckdose nicht zu dem System mit Arduino kompatibel ist. Die kennen wir noch nicht.
Oh danke.
Antenne habe ich gerade nicht bei der Hand. Hab mir das ganze in meinen ND mitgenommen und leider die Fernbedienung vergessen. daher auch die fehlenden Infos und das MAnöver senden und empfangen über die Module. Da ich zum senden, sonst die Fernbedienung nehme.
darf ich noch fragen, warum das kein spannungsteiler ist?
ich verbinde GND mit R2.
R2 mit R1
R1 mit Data
und an die schnittstelle wo R1 und R2 zusammentreffen zweige ich den Data zum D2 ab.
Hab das zuhause mit dem Multimeter durchgemessen und komme genau auf 3.3V
und Widerstand absofort nur mit "i"
Hier hatte ich dir das schon geschrieben.
Du solltest einfach mal richtig lesen, was man dir schreibt.
Und ohne Antenne kannst du Funk vergessen.
Speziell diese Müllempfänger machen ohne Antenne, was sie wollen, aber nicht was du willst.
Da geht übrigens auch ein Stück Draht, 174 mm lang.
Und gerne nochmal. Senden und Empfangen gleichzeitig, das geht nicht.
Da brauchst du 2 Controller.
verzeihung.
ich habe das alles gelesen. aber teilweise konnt eich es in diesem moment nicht ändern bzw. das mit den Widerständen habe ich technisch nicht gleich verstanden. Verzeihung nochmals
Ich bin dir dankbar, dass du mir hilfst.
heute kann ich antenne dranlöten usw.
So, aber jetzt....
direkt Data mit D2 angeschlossen, ohne Spannungsteiler.
Antenne angelötet und die Fernbedienung in 5cm entfernung. (Fernedienung 433.92 Mhz)
Leider wird nichts empfangen.
Der Code habe ich umgändert.
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
const int rfReceiverPin = D2; // Pin für den RF-Empfänger
void setup() {
Serial.begin(9600);
// RF-Empfänger initialisieren
mySwitch.enableReceive(digitalPinToInterrupt(rfReceiverPin));
Serial.println("RF-Empfänger bereit...");
}
void loop() {
if (mySwitch.available()) {
// Empfangene Werte extrahieren
long receivedValue = mySwitch.getReceivedValue();
int pulseLength = mySwitch.getReceivedDelay();
int protocol = mySwitch.getReceivedProtocol();
// Raw-Daten analysieren
String rawData = "";
for (int i = 0; i < mySwitch.getReceivedBitlength(); i++) {
rawData += String((mySwitch.getReceivedRawdata()[i]), DEC) + ",";
}
if (receivedValue == 0) {
Serial.println("Ungültiges Signal erkannt.");
} else {
Serial.print("Signal empfangen: ");
Serial.println(receivedValue);
Serial.print("Protokoll: ");
Serial.println(protocol);
Serial.print("PulseLength: ");
Serial.println(pulseLength);
Serial.println("Raw Data:");
Serial.println(rawData);
}
// Empfangene Daten zurücksetzen
mySwitch.resetAvailable();
}
}
Nun liefert es auch etwas, aber nur wenn ich mit der fernbedienung dennoch bis auf 1cm zum modul gehe
wenn ich mit der Fernebdienung nun bis zur Antenne gehe bzw. bereits am Modul ankomme, funktioniert es. Leider wird jedoch bei jedem Knopfdruck ein anderer RAW Code angezeigt. Ich denke, es liegt an dem schlechten Signal.
Nichts desto trotz, habe ich eine Konsolidierung der verschienen werte versucht bzw. gewisse Raw codes.
Ziel wäre es gewesen, dass beim Senden des Codes überden FS1000 (Mhz Sender) die Steckdose an geht. Leider kein Erfolg...
Nun weiß ich nicht, liegt es an dem ggf. falschen Code. Oder ist der Sender einfach so schlecht. ODer ist es ein rolling code von der Fernbedienung..... fragen, über fragen.
Ich denke nun daran, euch profis zu fragen:
Welchen Sender und Empfänger könnt ihr empfehlen. Deinen RXB6 habe ich schon notiert.
Was ich möchte: später soll die Steckdose geschaltet werden und meine Thinkbee Module.
Hi, das sieht schwer nach rolling code aus.
Wenn du schon bestellst, dann besorg dir auch noch einen günstigen Logikanalyser zb. sowas:
Da hängst du dann deinen Empfänger dran, und mit der passenden SW von Saleae kannst du dein empfangenes Signal sichtbar machen, dann siehst du was da reinkommt. Alles Andere ist rumstochern im dunkeln.
Genau so. Nur so kommst du an den exacten Code.
Oder du besorgst dir Funksteckdosen inkl. Fernbefienung die direkt mit RCSwitch kompatibel sind.
Das sind z.b. die BRENNENSTUHL RCS 1000 N Comfort
Die habe ich selbst im Einsatz. Allerdings nur mit den richtigen Empfängern.
Sollte das dann damit funktionieren, kann man sich auch daran machen, die anderen Steckdosen zum Laufen zu bringen.
na bumm.
schaffe ich das auswerten?
welchen sender würdet ihr empfehlen? er soll alles im Haus + Garten schalten.... die Thinkebee schalter schaffen das locker.... ich habe etwas über RFM69
Dann kannst du die bisher getesteten Dinger (433,92 MHz und AM-Modulation) vergessen.
Die schaffen das nur in Freiluft mit ca. 50 m und gutem Empfänger.
Ich empfehle da die HC-12 Module (Sender/Empfänger), die aber nicht kompatibel zu den Funksteckdosen sind. Damit ist eine bessere Reichweite erzielbar.
Ja, das wird Zeit kosten sich da einzuarbeiten. Aber es kostet noch mehr Zeit wenn man nicht sieht was man da tut und im dunkeln rumstochert.
Und vorsicht mit der RCswitch Lib die kann nur das was in der RCswitch.cpp drin steht!
Wenn man mit der Lib arbeiten will, muss man in der .cpp Datei seine Protokolle anpassen/eintragen.
Der FS1000 ist nicht das beste, diese Sender zb. funktioniern ganz gut, haben auch gute Reichweite.
Werden aber mit 3,3V versorgt. Für den Logikpegel nehme ich den normalen Ausgang vom Every (5V) ohne Levelshifter das können die gut ab, da ja nur kurze Impulse gesendet werden.