Seite 1 von 1

GPIO.setup pull_up_down

Verfasst: Montag 25. Dezember 2017, 10:22
von Moon
Hey,

ich habe versucht mein Script zum Laufen zu bringen. Ich überprüfe im Script ob ein HIGH Signal ansteht.
Nun wenn ich die GPIOs verbinde mit der 3.3 Volt Versorgung des Raspberry Pis kommt immer ein LOW Signal heraus.

Nun habe ich gelesen, dass man einen Wiederstand setzen muss mit einem optionalen Parameter bei GPIO.setup();
Der Parameter lautet pull_up_down. Zu dem habe ich gelesen, wenn man GPIO.PUD_UP diesem zuweist, dass es dann von
0 auf 1 hochgezogen wird und wenn man GPIO.PUD_DOWN diesem zweist es von 1 auf 0 runtergezogen wird.

Nun wird mir aber beim GPIO.PUD_UP immer ein HIGH-Signal gegeben, obwohl auch keine Spannung ansteht.

Habt ihr denn Ideen wie man dies lösen kann?

Mein Script:

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf8 -*-

import RPi.GPIO as GPIO

import logging
from marrow.mailer import Message, Mailer
logging.basicConfig(level=logging.INFO)


# Benötigte Werte:
# GPIO.LOW (alles ok)
# GPIO.HIGH (fehler)

GPIO.setmode(GPIO.BOARD); # Pin-Nummern aus dem Layout benutzen (siehe gpio.jpg)

	# input setzen auf Pin-Nummer: 18 = GPIO 24
GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_UP);

#Überprüfung ob input einen low oder high status hat   == GPIO.HIGH
gpioInput = GPIO.input(18)
if gpioInput == GPIO.HIGH: 
	# Mailversand
	mail = Mailer({
        'manager.use': 'futures',
        'transport.use': 'smtp',
        'transport.host': 'smtp.gmail.com',
        'transport.tls': 'ssl',
        'transport.username': '',
        'transport.password': '',
        'transport.max_messages_per_connection': 5
    })

	mail.start()

	message = Message([('Information', '')], [('Ich', '')], "test", plain="test")

	mail.send(message)
	mail.stop()
	print gpioInput
	print "Fertig"
	
else:
	print "Signal is not high"
	print gpioInput

Re: GPIO.setup pull_up_down

Verfasst: Montag 25. Dezember 2017, 11:32
von __deets__
Naja, das ist eben was ein PULL-UP macht - den Pegel auf High ziehen. Wenn du da eine Veränderung erzielen willst, musst du den PIN auf Masse bringen.

Wenn du den Pull-Down verwendest, sollte es funktionieren wie gedacht.

Re: GPIO.setup pull_up_down

Verfasst: Montag 25. Dezember 2017, 12:12
von Sirius3
@Moon: die Idee hinter pull-up/-down ist, dass im Normalfall kein Strom fließt, sondern nur wenn z.B. ein Taster gedrückt wird. Dabei kommt es eben darauf an, wie Deine elektronische Schaltung aussieht. Und ohne Widerstand an einen Port 3.3V anzulegen ist keine gute Idee. Um Dein Board nicht zu schrotten, brauchst Du ein paar Elektronikgrundlagen.

Re: GPIO.setup pull_up_down

Verfasst: Montag 25. Dezember 2017, 12:15
von __deets__
@Sirius3 man kann sehr wohl ohne widerstand 3.3V anlegen. Die Impedanz regelt das von alleine. Sonst wäre das Schaltungsdesign unerträglich.

Als Ausgang darf man nicht mehr als 16mA treiben. Da muss man Vorsicht walten lassen.

Re: GPIO.setup pull_up_down

Verfasst: Montag 25. Dezember 2017, 16:22
von Moon
Aso ok. Gut zu wissen.

Obwohl ich jetzt pull_up_down auf GPIO.PUD_DOWN gesetzt habe kommt immer noch 0 raus obwohl die 3.3V Versorgung des Raspberry Pis richtig angeschlossen wurde. Und wenn ich dies weglasse kommt auch immer 0 raus.

Aber das kann doch nicht sein. Es wurde doch mit der 3.3 Volt Versorgung des Raspberry Pis verbunden.

Re: GPIO.setup pull_up_down

Verfasst: Montag 25. Dezember 2017, 17:37
von __deets__
Ich würde ja mal auf falschen GPIO tippen.

Re: GPIO.setup pull_up_down

Verfasst: Montag 25. Dezember 2017, 20:05
von Moon
Das habe ich auch erstmal gedacht. Dann habe ich im Internet nach einem Bild mit Beschreibung der GPIOS geschaut. Und habe dies gefunden: http://raspberrypiguide.de/howtos/raspb ... io-how-to/ (Die Grafik). So habe ich die beiden Kabel angeschlossen. 1 Kabel mit aufsatz auf den GPIO und das andere auf die 3.3 Volt Versorgung.

Re: GPIO.setup pull_up_down

Verfasst: Dienstag 26. Dezember 2017, 09:54
von __deets__
Ich kenne den pinheader des PI zu genüge. Der hilft nicht beim problemlösen. Ein Foto DEINES Kabels auf dem Pi würde das.

Re: GPIO.setup pull_up_down

Verfasst: Dienstag 26. Dezember 2017, 15:25
von Moon
Hey,

ich habe jetzt mal andere GPIOs ausprobiert und siehe da es funktioniert.

Danke für die schnelle und gute Hilfe :)

Grüße,
Moon