Kann man einen Funduino als Tastaturersatz (RF Fernbedienung) einsetzen?

Begonnen von supernova1963, 26 Mai 2016, 11:47:25

Vorheriges Thema - Nächstes Thema

supernova1963

Kurz zusammen gefaßt:

Ich habe einen 6-fach Funkschalter (433 MHz TAE verschlüsselt mit Rolling Code siehe Anlage 1 und 2) mit 2 funktionierenden Fernbedienungen. Alle laienhafte Versuche den Funkcode herauszufinden oder aufzunehmen und mit CUL433 oder RFXTRX nachzubilden, funktionierten nicht (Hier noch einmal vielen Dank für die Unterstützung dieses Forums).
Nachdem ich eine Fernbedienung geöffnet hatte, kam mir die Idee, ob es nicht möglich sei, "einfach" die Folientastatur durch einen Funduino zu ersetzten. Dazu habe ich zunächst die Funktionsweise der 6 Steuerleitungen ermittelt:
Das Drücken einer Taste erzeugt einen "Kurzschluss" von 2 der 6 Steuerleitungen:

Leitungen von links nach rechts (Batterie oben):
L1 + L6 = Taste 1
L1 + L2 = Taste 2
L4 + L6 = Taste 3
L2 + L4 = Taste 4
L3 + L6 = Taste 5
L5 + L6 = Taste 5
L2 + L3 = Taste 6
L2 + L5 = Taste 6

Auf dieser Basis sollte doch was gehen, hab' ich gedacht, ohne dabei zu berücksichtigen, dass ich keine Ahnung von der Funktionsweise eines Arduino's habe. Nach dem Studium diverser Tutorials kann ich immerhin LED's blinken lassen, Pieps-Töne erzeugen ... aber PIN's zu überbrücken ohne Strom vom Funduino an die Fernbedienung zusenden liegt außerhalb meiner derzeitigen Fähigkeiten.

Hat einer der hier versammelten Experten einen Tip, wie ich vorgehen muss, oder kann mir sagen, ob es garnicht funktionieren kann?

Vielen Dank

Gernot

RaspiLED

Hi,

Klar geht das! Stichwort Kleinsignalrelais und Transistor zum Schalten.

Gruß Arnd


FHEM auf Raspberry Pi, CUL, Signalduino, Intertechno, WifiLight2 mit H801 - ESP8266, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

supernova1963

Vielen Dank,

super, aber welche Kleinsignalrelais und Transistoren kämen den in Frage?

Sind meine laienhafte Überlegungen, - bis zu deiner Antwort -, auch möglich, oder was mache ich falsch:
1. Batterie bleibt (CR2032 3V) => 6 x EL817 Optokoppler für jeden Tastencode (+/-)

für Taste 1: D1 + GND ->  EL817 -> L1 + L6
für Taste 2: D2 + GND ->  EL817 -> L1 + L2
für Taste 3: D3 + GND ->  EL817 -> L4 + L6
für Taste 4: D4 + GND ->  EL817 -> L4 + L2
für Taste 5: D5 + GND ->  EL817 -> L3 + L6
für Taste 6: D6 + GND ->  EL817 -> L5 + L2

oder
2. Ohne Batterie in der Fernbedienung: Batterieanschlüsse Fernbedienung mit 3.3V und GND vom Arduino und die Tastaturanschlüsse (ggf. mit 1000 mA Netzteil 9V):

für Taste 1: L1=D1 + L6=GND
für Taste 2: L1=D2 + L2=GND
für Taste 3: L4=D3 + L6=GND
für Taste 4: L4=D4 + L2=GND
für Taste 5: L3=D5 + L6=GND
für Taste 6: L5=D6 + L2=GND


Leitungsbelegung (+/-) Tastaturanschluss:

L1 L2 L3 L4 L5 L6 Sendet
+ - Taste 2
- + Taste 6
- + Taste 4
- + Taste 6
+ - Taste 1
+ - Taste 5
+ - Taste 3
+ - Taste 5


Bitte entschuldige meine Unwissenheit bei der Notation.

EDIT: Bei der 2. Möglichkeit (ohne Batterie) hatte ich einen Widerstand (ich glaube 100 Ohm) zwischen den Arduino Anschlüssen D1 bis D6 und der jeweiligen Tastaturleistung (L1 -L6)  vergessen.

RaspiLED

Hi,
Also Deine Optokopplwr Idee sollte auch easy gehen.
Schau mal hier:
https://www.mikrocontroller.net/topic/397400

Deine zweite Idee kann ich noch nicht ganz nachvollziehen.

Gruß Arnd


FHEM auf Raspberry Pi, CUL, Signalduino, Intertechno, WifiLight2 mit H801 - ESP8266, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

supernova1963

Danke für die Bestätigung, dass es mit den Optokopplern auch funktionieren kann.

Die habe ich bestellt, sind leider heute noch nicht geliefert worden.
Ich werde hier über "Erfolg" berichten.

supernova1963

Nachdem alle bestellten Teile angekommen waren, konnte die Bastelei beginnen.

Einkaufsliste:
Zunächst habe ich die Arduino Software installiert und den Beispiel Sketch 'Firmata Standard' auf den Funduino übertragen und den empfohlenen Funktionstest mit der Firmata Testsoftware mit dem Standardaufbau LED (Plus = langes Beinchen an Pin 8 und Minus mit Widerstand an GND)
Nachdem alles abgesteckt wurde (Funduino Stromkosten) erfolgt die Verkabelung (gem. 1. Überlegung "mit Batterie")

       
  • 6 Kabel an den Folientastaturanschluss gelötet und zum Breadboard geführt
  • 6 Optokoppler etwas entfernt von den Tastaturanschlüssen über die Trennung in der Mitte eingestekt
  • Jeweils das rechte Beinchen an der Seite mit LED des Optokopplers mit einen 100 kOhm Widerstand an '- Leiste'
  • Arduino GND mit '- Leiste' verbinden
  • Jeweils das linke Beinchen an der Seite mit LED des Optokopplers mit dem Arduino Pin 8 bis 13 verbinden
  • Gegenüberliegende Beinchen der Optokoppler gem. o.g. Tabelle Leitungsbelegung verbinden (Taste 1 = L1 und L6 an 1. Optokoppler, der mit Pin 8 verbunden ist, ....)
  • Arduino über USB mit dem Rechner auf dem Fhem läuft verbinden

Einstellungen Fhem:
Über Befehlszeile den Anschluss des Arduino abfragen (s.u.: wird für die Definiton Firmata in Fhem benötigt)
fhem@FHEMSERVER:~$ ls -rtl /dev/serial/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 13 Jun  1 17:50 pci-Arduino__www.arduino.cc__0043_954313534383514112D0-if00 -> ../../ttyACM0
fhem@FHEMSERVER:~$


In Fhem (Der nachstehende Code ist aus meiner fhem.cfg kopiert!):

#Definition Anschluss Firmata /dev/ttyACM0 sollte auch funktionieren
define FIRMATA FRM /dev/serial/by-id/pci-Arduino__www.arduino.cc__0043_954313534383514112D0-if00@57600

#Definition Ausgänge Firmata
Define Ausgang08 FRM_OUT 8
attr Ausgang08 IODev
attr Ausgang08 alias Aussenbeleuchtung
attr Ausgang08 devStateIcon .*:toggle
attr Ausgang08 eventMap on:Klick off:_
attr Ausgang08 genericDeviceType light
attr Ausgang08 group Arduino,Fritz!Powerline
attr Ausgang08 icon light_ceiling
attr Ausgang08 restoreOnReconnect off
attr Ausgang08 restoreOnStartup off
attr Ausgang08 room Homekit
attr Ausgang08 sortby 2
attr Ausgang08 stateFormat value

#Sicherstellen, dass nur kurzzeitig der Pin eingeschaltet ist !!!
define Ausgang08_AUS notify Ausgang08:value:.on sleep 0.5;; set Ausgang08 off;; set Ausgang08 off
attr Ausgang08_AUS group Arduino

#Nächster Ausgang
define Ausgang09 FRM_OUT 9
attr Ausgang09 IODev FIRMATA
attr Ausgang09 alias EG Flurlicht
attr Ausgang09 devStateIcon .*:toggle
attr Ausgang09 eventMap on:Klick off:_
attr Ausgang09 genericDeviceType light
attr Ausgang09 group Arduino,Fritz!Powerline
attr Ausgang09 icon light_ceiling
attr Ausgang09 restoreOnReconnect off
attr Ausgang09 restoreOnStartup off
attr Ausgang09 room Homekit
attr Ausgang09 sortby 3
attr Ausgang09 stateFormat value

#Sicherstellen, dass nur kurzzeitig der Pin eingeschaltet ist !!!
define Ausgang09_AUS notify Ausgang09:value:.on sleep 0.5;; set Ausgang09 off;; set Ausgang09 off
attr Ausgang09_AUS group Arduino

# ....


Funktionierte bei mir auf Anhieb ...