Forum: Mikrocontroller und Digitale Elektronik Taste funktioniert nicht


von Richard W. (richard00)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab ein Problem in Bezug auf mein Red Pitaya. Ich bin soweit, dass 
ich die LEDs und GPIOs ansteuern kann. Nun wollte ich eine LED, die im 
Board eingebettet ist mittels externem Taster ansteuern. Also wenn ich 
Taster drücke, dann soll die LED angehen bzw. ausgehen (das ist egal!!!)

Mein Problem ist nun, wenn ich den Taster am Red Pitaya an GPIO DIO7_N 
anschließen, dann löst mein Taster kein Ereignis am Port aus. Das heißt 
passiert wirklich nichts. Wenn man das Kabel vom GPIO DIO7_N trennt und 
ich es dann mit meinem Oszi messe, dann sehe ein Ereignis wenn ich auf 
den Taster drücke. (von LOW auf HIGH oder halt von HIGH auf LOW).

Kann es sein, dass der Red Pitaya den Taster bzw. das Signal auf GND 
zieht und somit kein Signal am Port ankommt?

Im Anhang befindet sich die Schematic und mein Python-Code.
In der Schematic wir GPIO DIO5_N verwendet. Ich verwende GPIO DIO7_N und 
hab es bei mir angepasst.

Danke für eure Mühe und Hilfe

LG
Richard

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Richard W. schrieb:

> Kann es sein, dass der Red Pitaya den Taster bzw. das Signal auf GND
> zieht und somit kein Signal am Port ankommt?

Miss doch nach, dann weisst Du es.

von Peter D. (peda)


Lesenswert?

Richard W. schrieb:
> #Taster = Taster.read()

Ich würd mal vermuten, das macht genau nix.
# = Kommentar.

von Richard W. (richard00)


Lesenswert?

> Harald W. schrieb im Beitrag #656481

>>Miss doch nach, dann weisst Du es.

Genau das habe ich getan. Hab am Port gemessen und da passiert nichts.

von Richard W. (richard00)


Lesenswert?

> Peter D. schrieb:

> Ich würd mal vermuten, das macht genau nix.
> # = Kommentar.

Nein, da soll er auch nichts tun. Es ist auskommentiert. Das war nur ein 
Test.

von Peter D. (peda)


Lesenswert?

Richard W. schrieb:
> Nein, da soll er auch nichts tun.

Na dann ist es doch richtig, daß das Programm nichts tut.
Ohne Abfrage in der Schleife kann sich auch nie was ändern.

https://indibit.de/raspberry-pi-gpio-ausgaenge-schalten-eingaenge-lesen/#Eingang_lesen

von Richard W. (richard00)


Lesenswert?

Peter D. schrieb:
> Richard W. schrieb:
>> Nein, da soll er auch nichts tun.
>
> Na dann ist es doch richtig, daß das Programm nichts tut.
> Ohne Abfrage in der Schleife kann sich auch nie was ändern.
>
> 
https://indibit.de/raspberry-pi-gpio-ausgaenge-schalten-eingaenge-lesen/#Eingang_lesen

Die Abfrage mache ich doch mit meiner if-Anweisung und Taster = 
Taster.read() ist doch nur mein Wert der Gespeichert ist und an die 
if-Anweisung weitergegeben wird.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Richard W. schrieb:
> Hab am Port gemessen und da passiert nichts.
An welchem? Und was ist "nichts"?
Probieren wirs doch mal so:
Was erwartest du?
Was passiert stattdessen?
Und wie stellst du das fest?

Richard W. schrieb:
> Die Abfrage mache ich doch mit meiner if-Anweisung und Taster =
> Taster.read() ist doch nur mein Wert der Gespeichert ist und an die
> if-Anweisung weitergegeben wird.
Ja, aber der Code fragt den Taster nur 1 einziges Mal ab und verwendet 
dann den Rest des Tages bis zum nächsten Reset diesen gespeicherten 
Wert.

Beitrag #6565499 wurde von einem Moderator gelöscht.
von Manfred (Gast)


Lesenswert?

Richard W. schrieb:
> Wenn man das Kabel vom GPIO DIO7_N trennt und
> ich es dann mit meinem Oszi messe, dann sehe ein Ereignis wenn ich auf
> den Taster drücke. (von LOW auf HIGH oder halt von HIGH auf LOW)

Dann sorge dafür, dass Dein DIO7_N als Eingang initialisiert wird und 
nicht als Ausgang auf low sitzt.

von Wolfgang (Gast)


Lesenswert?

Schubi Duwapp schrieb im Beitrag #6565499:
> Richtig. Vor Allem kann sich an einem "Red Pitaya" nichts ändern, wenn
> man sich statt dessen mit einem "Raspberry Pi" befasst!

Hauptsache du hast auch was gesagt.

Meinst du, Kontrollstrukturen in Python funktionieren auf eine RaspPi 
anders als auf einem Red Pitaya?

von Richard W. (richard00)


Lesenswert?

Lothar M. schrieb:
> Richard W. schrieb:
>> Hab am Port gemessen und da passiert nichts.

> An welchem? Und was ist "nichts"?
Ich hab an dem DIO7_N Port gemessen. Und wenn ich den Taster drücke, 
dann passiert nichts.

> Was erwartest du?
Ich erwarte, dass der DIO7_N Port, wenn ich nicht den Taster drücke, 
dass der Port auf Low bleibt. Und wenn ich den Taster drück, dann soll 
der DIO7_N auf High stehen. Also dann bekommt es die 3,3 V.

> Was passiert stattdessen?
Es passiert nichts. Egal, ob ich den Taster drücke oder nicht, der 
DIO7_N bleibt die ganze Zeit auf Low und somit leuchtet die LED auch 
nicht.

> Und wie stellst du das fest?
Ich messe mit meinem Oszi zu nächste einmal den Taster ohne es mit dem 
Red Pitaya anzuschließen um festzustellen, ob mein Taster in Ordnung 
ist. Wenn ich den Taster dann drücke, dann springt mein Signal von Low 
auf High. Schließe ich aber mein Taster an den DIO7_N Port dann passiert 
wirklich nicht. Ich messe direkt an dem Port und es bekommt kein Signal.

von Richard W. (richard00)


Lesenswert?

Manfred schrieb:

> Dann sorge dafür, dass Dein DIO7_N als Eingang initialisiert wird und
> nicht als Ausgang auf low sitzt.

Ich hab es doch als Eingang initialisiert und das Low setzte ich nur, 
weil bei der Initialisierung als Eingang, ist der Zustand des DIO7_N auf 
High und ich möchte, dass er auf High springt, wenn ich den Taster 
drücke.

von oldmax (Gast)


Lesenswert?

Hi
Nun, so wie ich es sehe, geht dein Taster nach GND und der Eingang wird 
bei offenem Taster mit einem PU Widerstand nach VCC abgeschlossen. 
Entweder, du verwendest einen Taster mit Öffner, oder du verstehst deine 
eigene Schaltung nicht. Wenn "oder", dann glaub ich auch, das du dein 
eigenes Programm nicht verstehst und somit möglicherweise der Eingang 
ein Ausgang ist.
Gruß oldmax

von Martin V. (oldmax)


Lesenswert?

Richard W. schrieb:
> Manfred schrieb:
>
>> Dann sorge dafür, dass Dein DIO7_N als Eingang initialisiert wird und
>> nicht als Ausgang auf low sitzt.
>
> Ich hab es doch als Eingang initialisiert und das Low setzte ich nur,
> weil bei der Initialisierung als Eingang, ist der Zustand des DIO7_N auf
> High und ich möchte, dass er auf High springt, wenn ich den Taster
> drücke.

Hi
Nachtrag
Wieso schreibst du was von DIO7_N, wenn dein Taster nach DIO5_N 
verdrahtet ist?
Gruß oldmax

von Wolfgang (Gast)


Lesenswert?

Martin V. schrieb:
> Wieso schreibst du was von DIO7_N, wenn dein Taster nach DIO5_N
> verdrahtet ist?

Richard W. schrieb:
> In der Schematic wir GPIO DIO5_N verwendet. Ich verwende GPIO DIO7_N und
> hab es bei mir angepasst.

von Martin V. (oldmax)


Lesenswert?

Hi
Sorry, hab ich überlesen. Aber dennoch, Wer mit einem Controller 
arbeitet, sollte seinen Schaltplan aktualisieren, zumal wenn er Probleme 
mit der Ausführung seiner Programme hat.
Nach wie vor scheint auch die Beschaltung mit dem Pull Up Widerstand 
nicht zu stimmen, es sei denn, der Taster ist ein "Öffner". Ansonsten 
müßte der Eingang immer eine "1" haben und beimm Betätigen auf "0" 
schalten.
Intern ist dann "Taster gedrückt = 0 ".
Daher ist die Annahme nicht so abwegig, das der scheinbare Eingang als 
Ausgang definiert ist und ständig eine "0" liefert. Würde auch die 
Messung erklären.
Gruß oldmax

: Bearbeitet durch User
von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Wolfgang schrieb:
> Martin V. schrieb:
>> Wieso schreibst du was von DIO7_N, wenn dein Taster nach DIO5_N
>> verdrahtet ist?
>
> Richard W. schrieb:
>> In der Schematic wir GPIO DIO5_N verwendet. Ich verwende GPIO DIO7_N und
>> hab es bei mir angepasst.

Das ist eben der unschlagbare "Vorteil" von "Schaltungsprosa". Nicht 
wirklich.

von Richard W. (richard00)


Lesenswert?

Guten Abend in die Runde.

Ich habe das Problem endlich gelöst. Mein Problem war wirklich die 
Befehle in Python zu finden.

Ich danke euch für eure zahlreichen Hilfestellungen.

LG
Richard

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
Noch kein Account? Hier anmelden.