Tutorial #5: Raspberry Pi GPIO in CoDeSys

Поділитися
Вставка
  • Опубліковано 5 лис 2024

КОМЕНТАРІ • 21

  • @Velarotac
    @Velarotac 3 роки тому

    Wieder super erklärt, hat einwandfrei geklappt. Auch sehr anschaulich mit dem Bewegungsmelder.

  • @projektingenieur8491
    @projektingenieur8491 2 роки тому

    Wahnsinn :-) Sehr gutes Video
    Auch der Overhead gegenüber der LED mit Python ist auch ganz schön heftig.
    Beides sehr schön.

  • @tobi1788
    @tobi1788 20 днів тому

    Super Video, jedoch habe ich beim Programm das Problem, dass die Inputs GPIO 4, 5 und 6 beim Starten des Programms als Input automatisch true haben. Das sehe ich beim dem beobachten des GPIO E-/A-Abbild weiß du woran das liegt.

  • @محمدالحمود-ن9ط
    @محمدالحمود-ن9ط 2 роки тому

    Super video, Gut erklärt 👍👍

  • @andrewrossek6671
    @andrewrossek6671 2 роки тому

    Super Video schön erklärt. Schon im Codesys ein SPI oder I²C ausprogrammiert? oder sinnvoll ein RFID leser RC522 probiert? Grüße

  • @TischTiger
    @TischTiger 3 роки тому +2

    Ich hab das mal in Python nachprogrammiert. Ich denke, dass versteht man auch, wenn man etwas Python lesen kann und das Programm in CoDeSys verstanden hat. Ich dachte ich poste das mal als Vergleich. Die Klasse TimeOff könnte man natürlich in ein eigenes Modul ausgliedern, so wäre das Programm dann noch kürzer und den TimeOff könnte man in anderen Programmen wiederverwenden.
    from gpiozero import Button, LED
    from time import sleep, perf_counter
    class TimeOff:
    def __init__(self):
    self.q = 0
    self.et = 0
    self._time = 0
    def __call__(self, i, pt):
    if i:
    self._time = perf_counter()
    self.q = 1
    self.et = 0
    elif self._time + pt

    • @TischTiger
      @TischTiger 3 роки тому +1

      Wenn man TimeOff ausgliedert sieht es auch viel übersichtlicher und verständlicher aus:
      from gpiozero import Button, LED
      from time import sleep, perf_counter
      from myplchelpers import TimeOff
      i_xBewegungsmelder = Button(18)
      q_xLedRot = LED(17)
      q_xLedBlau = LED(27)
      fbTimeOff = TimeOff()
      while True:
      fbTimeOff(i_xBewegungsmelder.value, 3)
      q_xLedRot.value = fbTimeOff.q
      q_xLedBlau.value = fbTimeOff.q
      sleep(0.01)

  • @CesarMartinez-eh1dc
    @CesarMartinez-eh1dc 2 роки тому

    Toll! Pedagogisch super! Die Rasperry Pi hat Ausgänge von 5V, richtig. Kann man ein Optocoupler verwenden oder so für eine echte Anwendung? Wie kann man 24V oder AC einschließen? Z.B. ein Staubsauger.

  • @andreasmihaila7278
    @andreasmihaila7278 Рік тому

    Hallo! Super Video, danke!
    Eine Frage haette ich jedoch: Ich verwende ein Raspberry PI 4 Model B und weiss nicht, wie ich GPIO config machen muss in CODESYS, da dieses Model nicht gelistet ist.
    Kannst du mir dabei evtl. helfen?
    Besten Dank, Andreas

    • @derautomatisierungskanal1261
      @derautomatisierungskanal1261  Рік тому

      Hi Andreas, leider habe ich es mit dem 4er noch nicht probiert. Aber Vergleich mal die GPIO mit dem 2 und 3. Ich meine der Aufbau ist identisch. Dann kannst du dir Config verwenden.

  • @TischTiger
    @TischTiger 3 роки тому

    Könntest du in einem der nächsten Videos zeigen, wie man mit Sensoren umgeht, die über einen Bus angeschlossen sind und wie man mit nicht-booleschen Werten umgeht?
    Wenn ich z.B. einen Temperatursensor über I2C an den Raspberry Pi angeschlossen habe und nun einen Lüfter so steuern möchte, dass er sich bei 50°C einschaltet und wieder ausschaltet, wenn die Temperatur wieder unter 45°C fällt.

    • @derautomatisierungskanal1261
      @derautomatisierungskanal1261  3 роки тому

      Jap, "analoge" Werte muss ich definitiv noch behandeln. Ich gucke mal wie ich es mache. Habe hier noch SPI-Temperatursensoren herum liegen.

  • @Stromfluss
    @Stromfluss 3 роки тому

    Hallo Christian,
    kannst du kurz erklären wie du deine reale Schaltung aufgebaut hast?

    • @derautomatisierungskanal1261
      @derautomatisierungskanal1261  3 роки тому +1

      Hallo, ich kann dir leider nicht mit einer Zeichnung antworten, also versuche ich es schriftlich. Lass es mich wissen, wenn noch etwas fehlt. Vorab den Link zur Belegung des GPIO Headers findest du in der Video-Beschreibung.
      Ich habe die 5V Versorgungsspannung von den Pins 4 (+) und 5 (-) abgegriffen und auf die + und - Leiste des Breadboards gelegt.
      Die Versorgung des Bewegungsmelders habe ich dann dort abgegriffen (die beiden äußeren Pins). Der mittlere Pin ist der Ausgang und dieser ist mit dem Pin 12 des Pi verbunden, welcher der GPIO Pin 18 ist. Die Nummerierung ist da nicht ganz konsistent.
      Die LEDs sind dann an die Pins 11 (GPIO 17) und 13 (GPIO 27) angeschlossen, gefolgt von einem 2k Ohm Widerstand. Der geht dann noch auf die - Leiste des Breadboards.

    • @bertold8921
      @bertold8921 3 роки тому

      @@derautomatisierungskanal1261 vielen Dank für diese Erklärung!! ich liebe dein Kanal. alles ist sehr gut erklärt worden!

  • @wildniscamper7276
    @wildniscamper7276 3 роки тому

    wie aktiviert man den internen pullup widerstand des rpi in codesys? bzw wie konfiguriert die codesys softsps die eingänge standardmäßig (als PULLUP od PULLDOWN) oder einfacher gefragt: gpio auf ground oder auf 3,3v ziehen für high/low?

    • @derautomatisierungskanal1261
      @derautomatisierungskanal1261  3 роки тому

      Die Widerstände lassen sich nicht über CoDeSys konfigurieren. Somit verhalten sie sich wie in der Voreinstellung definiert.

    • @wildniscamper7276
      @wildniscamper7276 3 роки тому

      @@derautomatisierungskanal1261Vielen Dank für deine schnelle Antwort! Das ist ja saublöd...hab iwie in erinnerung, dass im rpi standardmäßig garkeie Pullups zugeschaltet sind. Müsste ich ja in nem Python script definieren.. Für den Fall würde aber ja der Eingang floaten was ja nicht der Fall ist... MfG

    • @derautomatisierungskanal1261
      @derautomatisierungskanal1261  3 роки тому

      @@wildniscamper7276 Falls man an die Pull-ups per Shell-Befehl kommt, wäre dies aus CoDeSys heraus möglich. Ansonsten gibt es (ich glaube für den I2C Bus) noch die Möglichkeit die IO zu erweitern. Ob dir das dann aber hilft, müsstest du mal schauen. Die GPIO ist auch eher Spielzeug. Bei echten Anwendungen wäre ein RemoteIO schon die bessere Wahl. Dann kann man auch 24V Sensoren nutzen.

    • @wildniscamper7276
      @wildniscamper7276 3 роки тому +1

      @@derautomatisierungskanal1261 nachdem mein npn sensor 5Vdc oder GND durchschaltet, brauch ich ein 5v zu 3.3v ttl board bzw nen 2/3 spannungsteiler um das 5vdc sensor signal auf 3.3vdc bzw GND für high low auf den gpio vom rpi zu schalten oder... rpi mit pullups u GND auf input gpio ist für mich als techniker die saubere ausführung die mal gelernt hat.. aber die fehlende deklarationsoption in codesys irritiert mich ein wenig..