{"id":164,"date":"2014-06-30T00:15:42","date_gmt":"2014-06-29T22:15:42","guid":{"rendered":"http:\/\/crazyice.net\/?p=164"},"modified":"2014-07-01T00:58:50","modified_gmt":"2014-06-30T22:58:50","slug":"raspberry-pi-4-pin-led-steuern","status":"publish","type":"post","link":"https:\/\/crazyice.net\/?p=164","title":{"rendered":"Raspberry Pi &#8211; 4-Pin LED steuern"},"content":{"rendered":"<p>Nachdem es sich w\u00e4hrend des Studiums ergeben hat, mit eine Raspberry Pi ein Projekt umzusetzen, musste nat\u00fcrlich gleich eines angeschafft werden.<\/p>\n<p>Um ein wenig Gef\u00fchl f\u00fcr den Raspberry Pi zu bekommen, habe ich ein paar Test-Programme geschrieben, die z.B. LEDs oder Relais ansteuern.<\/p>\n<p>Diesmal m\u00f6chte ich euch den Code vorstellen, mit dem ich per Python ein RGB LED steure. Das Python Skript schaltet einfach zwischen den einzelnen LED-Farben hin und her, bis man STRG+C dr\u00fcckt.<\/p>\n<p><!--more--><\/p>\n<p>[python]<br \/>\nimport RPi.GPIO as GPIO<br \/>\nimport time<\/p>\n<p>GPIO.setmode(GPIO.BCM)<\/p>\n<p>RGB = [22,23,24]<br \/>\nLEDSTATUS = [[1,0,0],[1,1,0],[1,1,1],[1,0,1],[0,1,1],[0,0,1]]<\/p>\n<p>for pin in RGB:<br \/>\n  GPIO.setup(pin,GPIO.OUT)<br \/>\n  GPIO.output(pin,0)<\/p>\n<p>try:<br \/>\n  while(True):<br \/>\n    for status in LEDSTATUS:<br \/>\n      for i in range(0,3):<br \/>\n        GPIO.output(RGB[i],status[i])<br \/>\n      time.sleep(0.4)<br \/>\nexcept KeyboardInterrupt:<br \/>\n  GPIO.cleanup()<br \/>\n  print &#8222;&#8220;<br \/>\n[\/python]<\/p>\n<p>Im ersten Teil<br \/>\n[python]<br \/>\nimport RPi.GPIO as GPIO<br \/>\nimport time<br \/>\n[\/python]<br \/>\nwerden die notwendigen Bibliotheken importiert.<\/p>\n<p>Der Modus wird hierbei auf &#8222;BCM&#8220; gesetzt. Damit refernziert man auf den jeweiligen GPIO-Pin mit Hilfe der &#8222;echten&#8220; GPIO Nummer!<br \/>\n[python]<br \/>\nGPIO.setmode(GPIO.BCM)<br \/>\n[\/python]<\/p>\n<p>Das Array RGB wird verwendet um die GPIO Nummern zu verwalten (in diesem Fall GPIO 22, 23 und 24). Das mehrdimensionale Array LEDSTATUS gibt die on\/off Stati des jeweiligen GPIOs an. Also 1 w\u00fcrde bedeuten ON, 0 demnach OFF. Wenn man also ein Array [1,0,0] innerhalb des Arrays LEDSTATUS angibt, bedeutet dies, dass das rote LED ein und das gr\u00fcne und rote LED ausgeschaltet werden. W\u00fcrde das Arry [0,1,1] angegeben werden, so wird das rote LED aus, aber das gr\u00fcne und blaue LED eingeschaltet.<\/p>\n<p>Im mittleren Teil wird ein endlos WHILE Schleife erzeugt, die man mit STRG+C abbrechen kann.<br \/>\n[python]<br \/>\ntry:<br \/>\n  while(True):<br \/>\n    &#8230;<br \/>\n    &#8230;<br \/>\nexcept KeyboardInterrupt:<br \/>\n[\/python]<\/p>\n<p>Innerhalb dieser Schleife wird durch das Array LEDSTATUS iteriert und die dementsprechendes GPIOs werden auf ON bzw. OFF gesetzt.<\/p>\n<p>Das Setting mit Hilfe eines Steckbretts sieht wie folgt aus:<br \/>\n<a href=\"http:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led-238x300.png\" alt=\"fritzing_4pin_rgb_led\" width=\"238\" height=\"300\" class=\"alignnone size-medium wp-image-175\" srcset=\"https:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led-238x300.png 238w, https:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led.png 531w\" sizes=\"auto, (max-width: 238px) 100vw, 238px\" \/><\/a><\/p>\n<p>Die 4 PINs der LED werden wie folgt angeschlossen bzw. haben folgende Bedeutung. Beachte, dass der l\u00e4ngste PIN der Minuspol ist.<br \/>\n<a href=\"http:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led_conn1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led_conn1-233x300.png\" alt=\"fritzing_4pin_rgb_led_conn\" width=\"233\" height=\"300\" class=\"alignnone size-medium wp-image-179\" srcset=\"https:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led_conn1-233x300.png 233w, https:\/\/crazyice.net\/wp-content\/uploads\/2014\/06\/fritzing_4pin_rgb_led_conn1.png 262w\" sizes=\"auto, (max-width: 233px) 100vw, 233px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nachdem es sich w\u00e4hrend des Studiums ergeben hat, mit eine Raspberry Pi ein Projekt umzusetzen, musste nat\u00fcrlich gleich eines angeschafft werden. Um ein wenig Gef\u00fchl f\u00fcr den Raspberry Pi zu bekommen, habe ich ein paar Test-Programme geschrieben, die z.B. LEDs oder Relais ansteuern. Diesmal m\u00f6chte ich euch den Code vorstellen, mit dem ich per Python &hellip; <a href=\"https:\/\/crazyice.net\/?p=164\" class=\"more-link\"><span class=\"screen-reader-text\">Raspberry Pi &#8211; 4-Pin LED steuern<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29,55],"tags":[59,57,58,79,56,60],"class_list":["post-164","post","type-post","status-publish","format-standard","hentry","category-programmieren","category-python","tag-4-pins","tag-gpio","tag-led","tag-python","tag-raspberry-pi","tag-rgb"],"_links":{"self":[{"href":"https:\/\/crazyice.net\/index.php?rest_route=\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/crazyice.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/crazyice.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/crazyice.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/crazyice.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=164"}],"version-history":[{"count":12,"href":"https:\/\/crazyice.net\/index.php?rest_route=\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":180,"href":"https:\/\/crazyice.net\/index.php?rest_route=\/wp\/v2\/posts\/164\/revisions\/180"}],"wp:attachment":[{"href":"https:\/\/crazyice.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/crazyice.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/crazyice.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}