(gelöst) RPI_GPIO und Output Taster

Begonnen von kblc, 16 Januar 2015, 01:34:58

Vorheriges Thema - Nächstes Thema

kblc

Hallo mal wieder.

Ich bin gerade drüber, meinen R-Pi zu erforschen und würde sehr gerne die GPIO´s effektiver mit nutzen.

Meine Anlage:
Ein R-Pi (mit RFXTRX433) mit FHEM eine CCU1 (mit CuXD CUL 868 und 433)mit Netzwerkanbindung und Verbindung zu FHEM, eine FB 7390 jede Menge Autoren, Funkschalter, Funksteckdosen,...

Jetzt habe ich schon einige GPIO - LED´s über FHEM zum leuchten gebracht und kann mir eine Kontrolltafel für meine Homematic und anderen FHEM - Komponenten basteln. Das ist schon mal echt schön.

Mein nächster Schritt soll sein, durch einen Tastendruck (Kurzhubtaster) auf dem R-Pi Steckbrett, eine Lampe (einen Befehl) bei FHEM zu schalten.

Ich habe schon einiges probiert, aber ich finde keinen Weg, damit es funktioniert.

Mein Aufbau:

define Pin38 RPI_GPIO 20 
attr Pin38 direction output
attr Pin38 room Haus
#meine LED, die das Leuchten anfangen soll (später mal eine echte Lampe jetzt nur für Testzwecke ne LED - die aber leuchtet)


define Pin29_Motion RPI_GPIO 5
attr Pin29_Motion direction input
#attr Pin29_Motion interrupt both
attr Pin29_Motion longpressinterval
#attr Pin29_Motion toggletostate yes
#define n_Pin29_Motion notify Pin38_Motion:on set Pin38 on;;


Beim R_pi ist alles richtig verkabelt:
Pin38 GPIO 20 steckt LED (mit Widerstand), An der LED steckt auch ein GND

Am Schalter steckt ebenfalls ein GND (ein anderer als bei der LED) und auf der gegenüberliegenden Seite Pin29.

Das Lampensymbol zeigt im ständigen Wechsel on off Langdruck on off Langdruck on off ....
beim drücken der Taste, stoppt das springen plötzlich.

Wie kann ich mein Vorhaben verwirklichen und kann mir jemand helfen?

Vielen vielen lieben Dank.

Kai aus Oberfranken
SPS, Arduino, Controllino, Sensortechnik, Elektronik

juppzupp

Kein pullup/down ?
Ließ mal in der cmdref, suche 'pud_resistor'

kblc

Vielen Dank für die schnelle Antwort.
Jedoch:
Es tut mir echt leid. Habe den ganzen Tag herumprobiert und gelesen. Ich finde keine Antwort auf meine Frage..
- WiringPi ist installiert
- bei fhem und RPi wurde gemacht: update, upgrade
- fhem hat alle Rechte (z.B. bei gpio)

Ich würde mich echt über jede Art von Hilfe freuen.Ich bitte um Verständnis. Ich lerne alles gerade. Vielen Dank

Kai aus Oberfranken
SPS, Arduino, Controllino, Sensortechnik, Elektronik

juppzupp

Wenn ich dich richtig verstehe, hat dein Taster einen undefinierten zustand, er flackert, prellt.
Wenn ich dich richtig verstehe,schaltet du mit dem Taster gegen Masse.
Das bedeutet, das der gpio pin 'in der Luft hängt' solange der Taster nicht gedrückt ist.
Um einen definierten zustand zu erreichen, muss man dann den pin über einen pullup widerstand gegen 5v schalten. Damit hat man dann ein high signal am pin liegen.
Früher, bei den ersten pi, musste man das extern, mit. Z.b. 100kohm machen.
Bei der 2ten (?) Revision des boards wurden die Widerstände in den chip integriert, und lassen sich in Fhem via Attribut schalten, wenn alles Voraussetzungen erfüllt sind.
Also, wenn meine annahmen richtig sind, setze  Attribut pud_resistor auf up.

kblc

bing bing bing bing

Danke schön, mir sind gerade einige Lichter aufgegangen. Ich habe schon lange kein so befreiendes "Aha"- Erlebnis mehr gehabt. Ich glaube ich habs verstanden.

Ich werde mich gleich drübermachen.

Ich hoffe ich mache jetzt nichts falsch, aber wenn ich Commandref richtig verstanden habe, müsste meine Programmierung folgendermasen aussehen:

define Pin38 RPI_GPIO 20 
attr Pin38 direction output
attr Pin38 room Haus
#meine LED, die das Leuchten anfangen soll (später mal eine echte Lampe jetzt nur für Testzwecke ne LED)


define Pin29_Motion RPI_GPIO 5
attr Pin29_Motion direction input
attr Pin29_Motion longpressinterval
attr Pin29_Motion pud_resistor up
define n_Pin29_Motion notify Pin38_Motion:on set Pin38 on;;


Wenn das nicht passt, wäre toll, wenn mir das nochmal jemand sagen könnte.
Danke schön.Vielen Dank für alles.
SPS, Arduino, Controllino, Sensortechnik, Elektronik

kblc

#5
Vielen Dank nochmal.

Mit felgender Programmierung habe ich es zum laufen gebracht:
Vielen Dank nochmal für jede Hilfe:

define Pin35_Motion RPI_GPIO 19
attr Pin35_Motion direction input
attr Pin35_Motion interrupt rising
attr Pin35_Motion pud_resistor up
attr Pin35_Motion toggletostate yes
define n_Pin35_MotionOn notify Pin35_Motion:on set Pin22 on;;
define n_Pin35_MotionOff notify Pin35_Motion:off set Pin22 off;;

SPS, Arduino, Controllino, Sensortechnik, Elektronik