Hallo, ich bin noch blutiger Anfänger beim elektronik-Basteln und bin dazu über den Arduino gekommen, da ich ganz gut programmieren kann. Ich habe mir nun ein billiges 433Mhz RF link kit für 4.90 $ besorgt und wollte damit etwas rumspielen. Mein Frage lautet nun: Kann ich auf den Data-Eingang des Senders einfach eine Dauerspannung legen und die kommt als Dauerspannung beim Data-Ausgang des Receivers an? So dass das ganze als eine Art Funkschalter funktioniert. Ich will im ersten Ansatz keine Daten versenden, sondern nur An/Aus. Hab meinen Aufbau (mit ATtiny) mal angehängt. Der ATtiny schalten den Ausgang auf HIGH für eine Sekunde, dann auf LOW und den den LED-Ausgang auf HIGH. Die gelbe LED dinet nur als Test, ob der ATtiny tut was er soll. die grüne LED am Empfänger leuchtet leider nie. Was mache ich falsch (vorausgesetzt das Kit funktioniert)
Normalerweise ist der Empfänger die aufwendigere Platine, so das ich glaube, du hast Sender und Empfänger verwechselt. Es sind übrigens 433 MHz :-)
Uff - gute Anmerkung. In der Beschreibung hatte ich das anders verstanden: http://www.seeedstudio.com/wiki/index.php?title=433Mhz_RF_link_kit Hab's umgedreht, nun geht es - SUPER!!! Danke!
Hmmm - ich dachte es klappt. Scheint aber nicht ganz so zu sein. Die Übertragungsrichtung ist nun richtig. Wenn ich den Dateneingang auf HIGH (~5V) schalte, dann wird die bereits leuchtende Empfänger-LED kurz heller und dann wieder normal. Wenn ich den Dateneingang auf LOW schalte, dann geht die Empfänger-LED kurz aus und fängt dann langsam wieder an zu leuchten. Kann es sein, dass der Empfänger/Sender nur mit Signalflanken arbeitet? Gibt es dzu irgendwo eine Beschreibung?
Michael H. schrieb: > Kann es sein, dass der Empfänger/Sender nur mit Signalflanken arbeitet? Ja, bzw. mit Datentelegrammen, also einer folge von 0 und 1. Was du genau verwendest, spielt nicht so eine Rolle, aber prinzipbedingt gehen Dauersignale nicht gut, da der Empfänger i.A. eine Regelung hat, die bei einem Dauersignal runterdreht. Michael H. schrieb: > Gibt es dzu irgendwo eine Beschreibung? Konsultiere als erstes mal den mitgelieferten Waschzettel. Als nächstes kannst du dann z.B. die UART TX Leitung mit dem Sender verbinden und schauen, ob gesendete Bytes am Empfänger ankommen, entweder mit einem 2ten MC oder auch über ein und denselben, an der UART RX angeschlossen. Ansonsten musst du natürlich immer mit Störungen auf der Funkstrecke rechnen, da du ja nicht der einzige bist, der da sendet. Es wird später also Zeit, sich über ein fehlererkennendes, bzw. fehlertolerierendes Protokoll Gedanken zu machen. Wenn du z.B. nur ein einziges Zeichen (Byte) übertragen willst, ist es nicht die dümmste Idee, das Byte zweimal zu übertragen, einmal in der Normalform und einmal mit 0xFF ge'Xor'ed, so dass aus jeder 0 eine 1 wird und umgekehrt. Der empfänger XORed die beiden empfangenen Bytes wieder und lässt die Daten nur dann zu, wenn bei XORen wieder 0xFF rausgekommen ist.
Oje, ich habe befürchtet, dass das nicht ganz einfach wird. Gut, ich mache mir mal über ein Protokoll Gedanken. Welche Reichweite kann man eigentlich von so einem Modul erwarten. Im Haus vom Keller in die 2te Etage? Oder eher von der Couch bis zum Fernseher? Scheint bei mir eher letzteres zu sein, ich habe aber nicht mit der vollen Leistung gearbeitert. Gibt es irgendwo bezahlbare Kits die leistungsfähiger sind?
Mit RFM Modulen habe ich auf 868 MHz schon locker 300m im Freifeld überbrückt, allerdings nur mit 9600 bps. Im Gegensatz zu deinen Modulen müssen diese aber zwingend mit einem MC initialisiert und mit Daten beschickt werden, da diese ein SPI Schnittstelle haben. Teuer sind sie aber nicht. http://www.pollin.de/shop/suchergebnis.html?S_TEXT=Funkmodul+RFM12-433+Sende-%2FEmpfangsmodul&log=internal&recommend=true Ich sehe auf deinem Modulen keine vernünftige Antenne, die werden also eher eine bescheidene Reichweite haben. Zum Ausprobieren und Einarbeiten in die Materie sind sie geeignet, zumal die Investition ja nicht so gross war.
Danke, die Module von Pollin sind ja auch erschwinglich. Wenn ich genau verstanden habe wie alles funktioniert, schaue ich mir die auch mal an. Nochmals vielen Dank für deine Hilfe.
Kleiner Nachtrag, es funktioniert inzwischen sehr gut. Ich schicke mit einem ATtiny definierte Impulse à la 20ms HIGH, 20 ms LOW, 30ms HIGH, 20ms LOW, 40ms HIGH, 20ms LOW usw. Auf der anderen Seite lese ich das momentan mit einem Aruino aus und versuche das Muster zu erkennen. Klappt mit einer gewissen Fehlerhäufigkeit relativ gut. Die Reichweite ist bei 9V auf dem Sender und 5V auf dem Empfänger so gut, dass ich quer durch unser Haus bis in den Keller komme - also gut genug, um damit sinnvoll zu arbeiten (trotz nur $4,90 für das Set). Nun muss ich mich mal mit der sicheren und störungsfreien Übertragung von Signalen per Funk beschäftigen, da ich im Moment noch keine Vorstellung habe, wie ich "echte" Informationen übertrage. Mein Impulsmuster (s.o.) ist realtiv robust und ich wiederhole es einfach 4 Mal und erkenne es 3 bis 4 mal auf der anderen Seite. Wenn ich Zahlen (binär??) schicken würde, würde wahrscheinlich einiges verrauschen. Kennt jemand eine gute Informationsquelle, wie man sowas macht?
Du brauchst einen fehlererkennenden Code. Da gibt es viele Möglichkeiten, angefangen von einer simplen Prüfsumme bis zu CRC Polynomen. Das wiederholte senden ist auf jeden Fall schon mal gut. Wenn der Empfänger von vorneherein weiss, wieviele Bytes in einem Datensatz enthalten sein müssen, nimmt er z.B. das letzte als Prüfsumme und vergleicht das mit dem, was er selber während des Empfangs aufsummiert hat. Wenns nicht stimmt, verwirft er den Empfang. Wenn die Länge des Telegrammes nicht festgelegt ist, brauchst du eine Art 'Ende' Marker, der dann z.B. von einer Prüfsumme abgeschlossen wird. Oder du nimmst z.B. das o.a. XOR Verfahren. Es ist nicht die schlechteste Idee, erstmal die UART des Arduino als Empfänger zu nehmen, du musst dir halt eine Software UART Senderoutine im Tiny zusammenbauen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.