{"id":103,"date":"2017-06-04T22:58:51","date_gmt":"2017-06-04T22:58:51","guid":{"rendered":"http:\/\/fambach.net\/?p=103"},"modified":"2019-05-31T08:36:29","modified_gmt":"2019-05-31T08:36:29","slug":"raspberry-pi-3-led-ansteuern","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/","title":{"rendered":"Controlling the Raspberry Pi 3 LED"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Hardware\" >Hardware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Aufbau\" >Aufbau<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Schaltplan\" >Schaltplan<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Verdrahtung\" >Verdrahtung<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Software\" >Software<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Entwicklungsumgebung\" >Entwicklungsumgebung<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Code\" >Code<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#LED-Klasse\" >LED-Klasse<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Test-Klasse\" >Test-Klasse<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Tips\" >Tips<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Starten_des_Programms_als_Root\" >Starten des Programms als Root<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Fehlende_pi4j_Klassen\" >Fehlende pi4j Klassen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#LED_geht_nicht_an\" >LED geht nicht an<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Verwandte_Beitrage\" >Verwandte Beitr&auml;ge<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/#Quellen\" >Quellen<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Hier der erste Versuch eine LED mit dem Raspberry PI 3 anzusteuern. Aufgebaut wird das Ganze auf einem Brotboard mit Freiluft-Verkabelung.<\/p>\n\n\n\n<hr class=\"wp-block-separator\">\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Hardware\"><\/span>Hardware<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">PI3 (oder &auml;lter bitte auf die richtigen Pins achten)<br>\nLED (Ich habe ne gr&uuml;ne Standard-Led 1,5V)<br>\n220 Ohm (Vorwiderstand f&uuml;r die LED)<br>\nBrot-Board (zum leichteren Aufbau)<br>\nDiverse Kabel ( Vorgefertigte Pin-Header Kabel)<\/p>\n\n\n\n<hr class=\"wp-block-separator\">\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Aufbau\"><\/span>Aufbau<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Schaltplan\"><\/span>Schaltplan<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"300\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Schaltplan-283x300.jpg\" alt=\"\" class=\"wp-image-105\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Schaltplan-283x300.jpg 283w, https:\/\/www.fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Schaltplan.jpg 693w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verdrahtung\"><\/span>Verdrahtung<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"222\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Steckplatine-300x222.jpg\" alt=\"\" class=\"wp-image-106\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Steckplatine-300x222.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Steckplatine-768x568.jpg 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Steckplatine-1024x758.jpg 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/2017\/06\/RP3_LED_Steckplatine.jpg 1338w\" sizes=\"auto, (max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator\">\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Software\"><\/span>Software<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Entwicklungsumgebung\"><\/span>Entwicklungsumgebung<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Als Entwicklungsumgebung habe ich zum ersten mal BlueJ auf dem PI verwendet. Mir gef&auml;llt daran, dass man hier mit Klassendiagrammen erst einmal die Struktur definiert und im n&auml;chsten Schritt mit dem gleichen Tool die Implementierung realisieren kann.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein weiterer Vorteil bietet die Testumgebung. Es ist m&ouml;glich Instanzen von Klassen per Knopfdruck zu erstellen und deren Methoden mit ein paar Klicks zu testen.<\/p>\n\n\n\n<hr class=\"wp-block-separator\">\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Code\"><\/span>Code<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"LED-Klasse\"><\/span>LED-Klasse<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Klasse zur Steuerung einer LED mit den Methoden On, Off und Toggle.<\/p>\n\n\n<p>[gistpen id=&#8220;110&#8243;]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Try\/Catch Block im Konstruktor ist dem Umstand geschuldet, dass meine ersten Tests auch mal schief gingen und dann die GPIOs nicht frei gegeben wurden.<br>\nDie Freigabe mache ich aktuell wenig elegant im Konstruktor. Sch&ouml;ner w&auml;re vorher abzufragen ob der Pin schon initialisiert wurde und&nbsp;dann entsprechend weiter zu machen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Test-Klasse\"><\/span>Test-Klasse<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Klasse mit Main-Methode zum Testen der LED Klasse. In der Main-Methode ist eine Endlosschleife, welche die LED in einem Intervall von 2 Sekunden an und wieder aus schaltet.<\/p>\n\n\n<p>[gistpen id=&#8220;114&#8243;]<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Tips\"><\/span>Tips<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Starten_des_Programms_als_Root\"><\/span>Starten des Programms als Root<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die GPIOs m&uuml;ssen als Root angesprochen werden. Im BlueJ gibt es in den Einstellungen einen Button aber dieser scheint nicht richtig initialisiert zu sein. Diesen einfach nochmal rausnehmen und wieder setzten, die Einstellungen speichern, dann sollte es gehen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fehlende_pi4j_Klassen\"><\/span>Fehlende pi4j Klassen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn es beim compilieren Probleme mit fehlen pi4j Klassen gibt muss das entsprechende Paket installiert werden. (<a href=\"http:\/\/pi4j.com\">Hier gibt es Hilfe<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"LED_geht_nicht_an\"><\/span>LED geht nicht an<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die LED geht einfach nicht an, evtl. mal mit GPIO auf der Console testen.&nbsp;Vielleicht stimmt die Verdrahtung nicht,&nbsp; es fehlen Einstellungen oder die Pinbelegung stimmt nicht (<a href=\"http:\/\/www.netzmafia.de\/skripten\/hardware\/RasPi\/RasPi_GPIO_Shell.html\">Hier gibt es Hilfe dazu<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verwandte_Beitrage\"><\/span>Verwandte Beitr&auml;ge<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Quellen<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttp:\/\/pi4j.com\/example\/control.html\n<\/figure>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-entwickler-de\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"Ym79sBTaOp\"><a href=\"https:\/\/entwickler.de\/online\/iot\/raspberry-pi-2-gpio-java-256385.html\">Raspberry Pi 2 \u2013 mit Java die GPIO ausreizen<\/a><\/blockquote><iframe loading=\"lazy\" title=\"&#8222;Raspberry Pi 2 \u2013 mit Java die GPIO ausreizen&#8220; &#8212; entwickler.de\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"https:\/\/entwickler.de\/online\/iot\/raspberry-pi-2-gpio-java-256385.html\/embed#?secret=Ym79sBTaOp\" data-secret=\"Ym79sBTaOp\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/figure>\n\n","protected":false},"excerpt":{"rendered":"<p>Hier der erste Versuch eine LED mit dem Raspberry PI 3 anzusteuern. Aufgebaut wird das Ganze auf einem Brotboard mit Freiluft-Verkabelung. Hardware PI3 (oder &auml;lter bitte auf die richtigen Pins achten) LED (Ich habe ne gr&uuml;ne Standard-Led 1,5V) 220 Ohm (Vorwiderstand f&uuml;r die LED) Brot-Board (zum leichteren Aufbau) Diverse Kabel ( Vorgefertigte Pin-Header Kabel) Aufbau &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-led-ansteuern\/\" class=\"read-more-link\">Carry on reading <span class=\"screen-reader-text\">\"Raspberry PI 3 LED ansteuern\"<\/span> <span class=\"meta-nav\">\u2192<\/span><\/a>","protected":false},"author":1,"featured_media":106,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[201,164],"tags":[92,4],"class_list":["post-103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pi-projekte","category-raspberry-pi-3","tag-pi-projekte","tag-raspberry-pi-3","penguin-post","penguin-post-not-sticky"],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=103"}],"version-history":[{"count":16,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"predecessor-version":[{"id":3917,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/103\/revisions\/3917"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/106"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}