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.
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
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)
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.
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
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.
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.
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.
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?
@@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
@@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.
@@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..
Wieder super erklärt, hat einwandfrei geklappt. Auch sehr anschaulich mit dem Bewegungsmelder.
Wahnsinn :-) Sehr gutes Video
Auch der Overhead gegenüber der LED mit Python ist auch ganz schön heftig.
Beides sehr schön.
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.
Super video, Gut erklärt 👍👍
Super Video schön erklärt. Schon im Codesys ein SPI oder I²C ausprogrammiert? oder sinnvoll ein RFID leser RC522 probiert? Grüße
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
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)
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.
Ja, mit einem Optokoppler sollte man 24V schalten können und mit den 24V dann ein Relais.
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
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.
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.
Jap, "analoge" Werte muss ich definitiv noch behandeln. Ich gucke mal wie ich es mache. Habe hier noch SPI-Temperatursensoren herum liegen.
Hallo Christian,
kannst du kurz erklären wie du deine reale Schaltung aufgebaut hast?
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.
@@derautomatisierungskanal1261 vielen Dank für diese Erklärung!! ich liebe dein Kanal. alles ist sehr gut erklärt worden!
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?
Die Widerstände lassen sich nicht über CoDeSys konfigurieren. Somit verhalten sie sich wie in der Voreinstellung definiert.
@@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
@@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.
@@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..