Home > Hausautomatisierung > Raspberry Pi Funksensoren und Empfänger selber bauen – Teil 4 Empfänger bauen

Raspberry Pi Funksensoren und Empfänger selber bauen – Teil 4 Empfänger bauen

Anleitung zum Selbstbau Übersicht

Den Empfänger Chip Programmieren (ATtiny 84)

Die Programmierung des Empfängers für unser 433MHz Signal verläuft wie in Teil 3 beschrieben, ich gehe davon aus das ihr eure ArduinoIDE bereits eingerichtet und den Atmel ATtiny mit dem Raspberry Pi verkabelt habt.

Wir benötigen noch das Sketch für den Empfänger in unserem IDE Sketchbook, das laden wir wieder via wget auf unseren RasPi.

Bevor ihr startet wieder prüfen ob der Atmel ATtiny 84 richtig verkabelt wurde, der Befehl muss avrdude: AVR device initialized and ready to accept instructions zurückgeben

Wieder via XRDP oder VNC verbunden öffnen wir als root wieder die Entwicklungsumgebung ArduinoIDE über das Startmenu unter Electronics, das dauert einige Sekunden.

ArduinoIDE

Wir öffnen die das Programm Receiver.ino welches wir vorher nach “/usr/share/arduino/Receiver/Receiver.ino” kopiert haben, den öffnen Dialog findet ihr im File Menu unter Open.. klickt dort auf File System und navigiert in den Ordner und öffnen die Datei Receiver.ino

send-ino-oeffnen-2

Achtung!
Die Definitionen innerhalb der Receiver.ino für die NODEID des Empfängers und der NETWORKID müssen mit den Einstellungen an euren Sendern übereinstimmen. Die NetworkID sollte bei allen gleich sein und die NodeID des Empfängers muss mit der an den Sendern angegebenen ID übereinstimmen.

Hier die Definitionen:

In der ArduinoIDE über das Menü Tools -> Board den ATtiny84 (internal 8 MHz clock) auswählen

select-board

Da wir einen neuen bisher ohne Bootloader ausgestatten IC verwenden müssen wir über das Menü Tools wieder den Bootloader installieren – Burn Bootloader 

burn-bootloader

Wir starten nun die Überprüfung und die Erstellung unseres Programms, dazu klicken wir im Menu auf Sketch > Verify / Compile

compile-start

Das Erstellen dauert einige Sekunden, wenn alles funktioniert hat sehen wir im Ausgabefenster unten Done Compiling bei einem Fehler Error Compiling. Einige rote Warnmeldungen sind normal, ein Fehler sollte jedoch nicht auftauchen.

Die Entwicklungsumgebung hat uns nun das Programm (Sketch) als Hex File erstellt welches wir auf den Chip schreiben können. Wir wählen über Tools > Programmer noch unseren RasPi als Ziel (haben wir mit dem Download der Datei programmers.txt definiert).

select target

Klickt abschließend auf File > Upload using Programmer um das Programm auf den Chip zu schreiben. ArduinoIDE meldet Done Uploading wenn alles geklappt hat.

Den Empfänger zusammenbauen

receiver receiver-pin-belegung  ATtiny-84

Den Empfänger habe ich wie folgt zusammengebaut

1. Platine zuschneiden

Die Platine ist 20 x 21 Löcher

2. Buchsenleisten für den RFM12B auflöten

3. Auflöten des IC Sockels

4. Die mit  einem roten X markierten Leiter unterbrechen (durchschneiden mit scharfem Messer)

5. Anbringen von Drahtbeinen an dem RFM12B (siehe Tipp Teil 3)

6. Verkabeln mit Klingeldraht

7. Anbringen des RFM12B

8. LED, Widerstände und Kondensatoren auflöten (Die stören, daher als letztes)

Emfpänger

Antenne

Als Antenne habe ich wieder Kupferdraht benutzt den ich auf 165mm gekürzt habe. Dieser wird direkt an das RFM12 Board gelötet. Es ist auch möglich einen “Spirale” als Antenne zu benutzten die im Gehäuse Platz finden kann, das habe ich aber noch nicht ausprobiert und kann auch zu der Reichweite noch nichts sagen.

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (1 votes, durchschnittlich: 5,00 von 5)
Loading...

Über raspberry.tips

2 Kommentare

  1. Hi. Erst mal danke fuer die Artikel hier.
    Ich bin neu im Raspberry Land und moechte mir auch solche sender bauen.
    Statt des RFM12B Moduls habe ich mich fuer das neuere RFM69CW Modul entschieden welches von der Belegung gleich ist.
    Den Sender habe ich bereits fertig gelötet und programmiert und zumindest die LED leuchtet korrekt.

    Ich frage mich jetzt wieso man fuer den Empfaenger ein eigenes Board bauen muss und den Transceiver nicht an den Raspberry direkt anschließt?

    Zudem wuerde ich gerne wissen wie ich testen kann ob das Modul wirklich sendet bzw empfaengt da zur Laufzeit noch Fehler geworfen werden koennen, die aber den Ablauf nicht unterbrechen.

  2. Servus,

    vielen Dank für das tolle Projekt!
    Ich hätte eine Frage zu den IDs der Sender und Empfänger, und zwar ob die folgende Einrichtung funktionieren würde:

    RECEIVER
    #define NODEID 1 //network ID used for this unit
    #define NETWORKID 100 //the network ID we are on
    ———————-
    SENDER 1
    #define NODEID 2 //network ID used for this unit
    #define NETWORKID 100 //the network ID we are on
    #define GATEWAYID 1 //the node ID we’re sending to
    ———————-
    SENDER 2
    #define NODEID 3 //network ID used for this unit
    #define NETWORKID 100 //the network ID we are on
    #define GATEWAYID 1 //the node ID we’re sending to

    Vielen Dank schonmal im Voraus
    Paul

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.