Raspberry Pi – GPIO in der Praxis: Python

Das könnte Dich auch interessieren …

9 Antworten

  1. Jan sagt:

    Hallo!

    Du schreibst „[…] GPIO.PUD_DOWN sollte unbedingt gesetzt werden, damit wird ein Widerstand zugeschaltet. Wird das nicht gemacht ist der Zustand des Pins unvorhersagbar (liefert zufällige Werte). […]“

    OK. Soweit ich das verstehe ist das der interne „Pull-Up“. (Der sich mir immer noch nicht ganz erschließt…)

    Nun meine Frage: Hast du eine Übersicht darüber:

    a) welche GPIOs einen solchen Pull-widerstand haben
    b) wann man diesen auf Up oder Down stellt
    c) ob das überhaupt so beliebig geht
    d) man diese schon „per default“ bei booten „aktivieren“ kann

    Wäre klasse wenn du da etwas Licht ins Dunkel bringen könntest.
    LG
    Jan

  2. josche sagt:

    Mhm… ich wollte mich ein wenig mit der GPIO-Steuerung beschäftigen, u.a. um einen Lüfter nach Temperatur per PWM zu steuern.
    Großen Problem: Bin recht neu auf dem Linux-Gebiet (mein Raspberry ist mein erster „Linux“).

    Daher scheitert es an kleinen Dingen die für einen Linux nutzer selbstverständlich erscheinen… leider.

    Es gibt ein haufe GPIO-Videos auf Youtube, nur keins auf Deutsch. Ich finde Videos immer noch am Besten, denn wenn man die Profis bei der Arbeit sieht, lernt man gleich am meisten (weil die Selbstverständlichkeiten eben auch gezeigt werden :-P).

    Willst du nicht auch mal eine Step-By-Step Anleitung schreiben und/oder ein kleines Video für uns machen? Ich schätze ich wäre nicht der einzige den das interessieren würde 🙂

    Vielen Dank schon mal für deine Mühen und mach weiter so!

  3. Daniel sagt:

    Ist zwar schon etwas her. Vielleicht interessiert es doch noch jemanden:

    Der Eingang kann durch Signale in der Luft auf einen Wert zwischen 0 und 3.3V messen. Dann ist um vornherein unklar, ob der RasPi das als EIN oder als AUS erkennt. Mit dem Pull Up bzw Pull Down Widerständen wird dem Eingang ein klarer Wert gegeben.

    z.B.: Wenn ich einen Schliesser gegen Masse (0V) anschliesse werde ich den Eingang mit einem Widerstand auf 3.3V stellen. Wenn dann der Taster gedrückt wird, wird der Eingang dann auf 0V geschaltet.

  4. Gerd sagt:

    Ein GPIO kann wahlweise als digitaler Ausgang oder als Eingang eingestellt werden. Das erreicht man durch ein entsprechendes Kommando (GPIO.OUT bzw. GPIO.IN). „Digital“ heißt AN oder AUS, STROM oder KEIN STROM, JA oder NEIN, usw. Beim Raspberry bedeutet das im Grunde nur +3,3 oder 0 (Null) Volt.

    Als Ausgang kann man damit z.B. eine LED ein- oder ausschalten. Für größere Verbraucher, wie etwa Motoren, Relaisspulen oder Lampen, muss man unbedingt Treiber dazwischen schalten, d.h. Transistorschaltungen oder div. Schalt-IC´s. Anderenfalls könnte der Raspberry überlastet und zerstört werden! Diese Treiber benötigen stets eine eigene und richtig dimensionierte Stromversorgung.

    Wird der GPIO als Eingang verwendet, legt man per Schalter (oder Transitor oder IC-Ausgang oder Relaiskontakt usw.) entweder +3,3 oder 0 Volt an. Jetzt muss man unterscheiden: es gibt nämlich die positive oder negative Logik („Logik“ im Sinne der Boole´schen Algebra – Wikipedia hilf!!!). Das hängt von der verwendeten Hardware ab. Hierbei kommt es darauf an, was konstruktiv festgelegt wurde: wird bei betätigtem Schalter entweder +3,3 V (= positive Logik) oder aber 0 V (= negative Logik) angelegt. Der GPIO kann beides, man muss es ihm nur vorher mitteilen. Der GPIO wird dabei intern über einen Vorwiderstand fest entweder an +3,3 V oder Masse = 0 V gelegt. Dazu dient der Befehl GPIO.IN, pull_up_down=GPIO.PUD_DOWN, hier werden von außen +3,3 V erwartet; bei …… PUD_UP erwartet er 0 V. Übrigens für Elektro-Laien: 0 Volt = GND (Ground, zu deutsch: Masseanschluss), in der Regel am Minuspol der Stromversorgung.

    Die elektrischen Grundkenntnisse, wie z.B. das Ohmsche Gesetz, Halbleitertechnologie, elektronische Grundschaltungen, logische Verknüpfungen (s. Boole) usw. müsst ihr euch leider anderweitig aneignen, also etwa erhöhte Aufmerksamkeit im LK Physik, entsprechende Tutorials im Net, Wikipedia, schlaue Kumpels ö.ä.

  5. Jan Alexander sagt:

    Hallo,
    ich möchte ein Hardware Projekt machen und dafür Python lernen.
    Bitte empfehlt mir ein Buch.
    Ich habe Programmierkenntnisse.
    Ist beispielsweise das Buch vom Verlag Chemie (VCH Wiley) gut?
    Ich würde mich auch über die Benennung von Programmierumgebungen für WIN und Linux freuen.
    Danke bereits im Voraus und Grüße
    Jan Alexander B., Dipl.-Ing. (Uni)

    • Werner Ziegelwanger sagt:

      Mit Programmierkenntnissen kann man denke ich auch sehr einfach ohne Buch mit etwas Hilfe einer Suchmaschine und Stackoverflow schnell von Code Snippets lernen. Ich habe meine Kenntnisse fast ausschließlich von Python Dokumentation (https://www.python.org/doc/). Ganz wichtig ist die Entscheidung ob man Python 2 oder Python 3 entwickeln will. Da muss man bei der Verwendung von Codebeispielen aufpassen, die sind nicht sehr kompatibel.
      IDEs gibt es viele. Geany ist am Raspberry Pi beispielsweise vorinstalliert (https://www.geany.org/) und für Linux, Mac und Windows verfügbar. Für den Anfang reicht aber jeder Texteditor und eine Kommandozeile.

      • Jan Alexander Beckmann sagt:

        Hallo, Werner,
        ich danke Dir sehr herzlich für Deine Beratung!
        Das wäre sicher nicht billig auf dem „normalen“ Weg. In Punkto Büchern bin ich aber altmodisch- einfach, weil man sonst sein Wissen nicht kostenlos hergibt (dass Du gerade das Gegenteil beweist, habe ich mitbekommen). Ich versuche, gebraucht welche zu finden- der Markt ist (Beispiel: booklooker.de) aber abgegrast beziehungsweise verkauft keiner PYTHON- Bücher.

        Dass PYTHON 2 überhaupt noch in Frage kommt, wundert mich. Ich nahm an, dass PYTHON 2 (wie bei einem veralteten Betriebssystem) einfach nur überkommen ist. E-Commerce ist neben Big Data (also Datenauswertung) laut einem Darmstädter Professor übrigens zukunftsweisend als Ausbildungsgang, Programmieren soll dagegen ins Ausland abwandern und schließlich von AI (künstlicher Intelligenz) erledigt werden. So, dann mache ich mich mal ans Programmieren und hoffe auf eine Fortsetzung der Diskussion mit Ihnen darüber!
        Apropos Dokumentation: bei meinem Neuerwerb, dem ORANGE PI PC2, gibt es ja kaum Dokumentation von Herstellern. Wie ich herausfand, ist das ganz schön sportlich- vor Jahrzehnten wurde alles von den Herstellern vorbildlich dokumentiert. Bei unserem SIEMENS Laptop SX486 waren die DOS-und WIN 3.11- Handbücher insgesamt schwerer als das Laptop selbst.

        Mit kollegialem Dank auch für die Empfehlung der IDE (beziehungsweise der Instruktion diesbezüglich) verbleibe ich
        mit freundlichem Gruß,
        Jan A. Beckmann, Dipl.-Ing.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.