Frage zu PC817

Gast #5328986
Lesenswert?

Hallo Zusammen,

ich möchte mich über den Raspberry benachrichtigen lassen, wenn es bei 
uns geklingelt hat. Dazu habe ich die Anleitung "Die Türklingel im 
Heimnetz" aus der Ct befolgt. Unsere Klingel ist mit einem 8V Trafo 
verbunden.
Ich habe den Schaltplan mit dem Oktokoppler so wie beschrieben 
umgesetzt. Für R1 habe ich einen 470 Ohm Widerstand verwendet. Es 
funktioniert alles wunderbar. Ich habe nur ein kleines Problem. Wenn zu 
kurz geklingelt wird, werde ich nicht benachrichtigt. Vermutlich 
schaltet der Oktokoppler nicht. Hat jemand eine Idee, wie ich das 
Problem lösen kann? Muss ich einen kleineren Widerstand nehmen, wie z.B. 
330 Ohm?

Vielen Dank vorab!
Angehängte Dateien:
Gast #5328993
Lesenswert?

Die Schaltung sieht ok aus, vorrausgesetzt der RaspPi hat auch einen 
PullUp am Eingang. Zum Prüfen kann man auch einen Taster gegen GND und 
dem GPIO Pin anklemmen. Wenn da einer kurzer Tastendruck nicht erkannt 
wird liegts eher an der Software.
Persönliche Seite #5328998
Lesenswert?

Joezi schrieb:
> Vermutlich schaltet der Oktokoppler nicht

Oder Dein nicht gezeigtes Programm bekommt nicht mit, daß der 
entsprechende Eingang Deines Raspberry Pi aktiviert wird.


Um zu prüfen, ob "zu kurzes" Klingeln auf der anderen Seite des 
Optokopplers ankommt, kannst Du dort ein Monoflop (74xx121, 74xx123 oder 
NE555) unterbringen, mit dem Du z.B. eine LED ansteuerst. Das Monoflop 
verlängert kurze Impulse, so daß sie "sichtbarer" werden.

Wenn Dein "zu kurzes" Klingeln dann definiert die LED auslöst, ist klar, 
daß das Problem bei Deinem Programm liegt. Du kannst das Programm so 
lassen, wie es ist, und den Ausgang des Monoflops an Deinen Raspberry Pi 
hängen, oder Du untersuchst Dein Programm und versuchst herauszufinden, 
warum es kurze Impulse nicht erkennt.


Ist das Bild da wirklich die Schaltung, so wie Du sie aufgebaut hast?

Ich vermisse auf der dem Raspberry Pi zugewandten Seite einen 
Pullup-Widerstand.
Gast #5329005
Lesenswert?

Ist glaube ich wirklich ein Problem des Programms von der Ct:

while True:
time.sleep(0.01)
if not gpio.input(gpio):
time.sleep(0.1)
if not gpio.input(gpio):
voip()
time.sleep(5)

Das Programm prüft zwei Mal hintereinander ob ein Signal vorliegt. 
Vermutlich muss ich die Software so anpassen, dass nur einmal geprüft 
wird, ob ein Signal auf dem GPIO anliegt. Dann sollte es passen. Hier 
der Text der Ct:

"Um Fehlauslösungen
durch Störungen zu vermeiden,
ist es sinnvoll, eine zweite Abfrage
wenige Millisekunden nach der Aus -
lösung durchzuführen."
Gast #5329013
Lesenswert?

Joezi schrieb:
> ... aus der Ct ...

Dir ist schon klar, dass das eine Zeitschrift mit 14-tägiger 
Erscheinungsform ist?

Nicht jeder, der dir vielleicht helfen möchte, hat jetzt Lust, sicher 
erstmal auf die Suche zu machen, in welchem Heft und auf welcher Seite 
die Projektbeschreibung zu finden ist.

Wie wäre es mit einer "etwas" genaueren Quellenangabe?
Gast #5329017
Lesenswert?

Forist schrieb:
....
>
> Wie wäre es mit einer "etwas" genaueren Quellenangabe?

Das Gelabber niederzuschreiben dauert länger als 'Die Türklingel im
Heimnetz' an Google zu schicken und in 10s den Quelltext zu finden.
Wer nicht helfen will: einfach die Finger stillhalten, das ist so 
einfach.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren