Good to Know Database

Raspbian Wheezy: GPIO-Pin in Python als Eingang programmieren


Auf dieser Seite wird ein einfaches Python-Skript gezeigt, welches einen GPIO-Pin des Raspberry Pi's als Eingang nutzt. Dabei initialisiert das Skript den GPIO-Pin als Eingang und überprüft anshließend zyklisch alle 100ms dessen Zustand. Sobald sich der Zustand am Eingang ändert, wird der neue Zustand auf der Standardausgabe ausgegeben. Die Ausführung des Skripts können Sie mit der Tastenkombination Strg+C beenden. Dadurch werden auch die Einstellungen für den GPIO-Pin wieder zurückgesetzt.

Für das folgende Python-Skript erstellen Sie mit einem Editor die Datei input.py.

pi@raspberrypi ~ $ vi input.py

Fügen Sie in diese Datei den folgenden Python-Code ein und speichern die Datei ab.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#
# Creation:    27.08.2013
# Last Update: 07.04.2015
#
# Copyright (c) 2013-2015 by Georg Kainzbauer <http://www.gtkdb.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#

# import required modules
import RPi.GPIO as GPIO
import time

# define GPIO pin with button
GPIOPin = 8

# main function
def main():
  try:
    # use GPIO pin numbering convention
    GPIO.setmode(GPIO.BCM)

    # set up GPIO pin for input
    GPIO.setup(GPIOPin, GPIO.IN)

    value = 0

    while True:
      # get GPIO value
      if GPIO.input(GPIOPin) and value <> 1:
        value = 1
        print("Button pressed")

      if not GPIO.input(GPIOPin) and value <> 0:
        value = 0
        print("Button released")

      # wait 100ms
      time.sleep(0.1)

  # reset GPIO settings if user pressed Ctrl+C
  except KeyboardInterrupt:
    print("Execution stopped by user")
    GPIO.cleanup()

if __name__ == '__main__':
  main()

Nachdem Sie Das Python-Skript erstellt haben, ändern Sie die Rechte der Datei.

pi@raspberrypi ~ $ chmod 0755 input.py

Jetzt können Sie das Python-Skript wie folgt ausführen.

pi@raspberrypi ~ $ sudo ./input.py

Weiterführende Artikel

Raspbian Wheezy: GPIO-Pin in Python als Ausgang programmieren
Raspbian Wheezy: GPIO-Pin in Python als PWM-Ausgang programmieren


Dieser Eintrag wurde am 27.08.2013 erstellt und zuletzt am 25.09.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_31_2306.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer