{"id":8924,"date":"2022-05-15T18:49:53","date_gmt":"2022-05-15T16:49:53","guid":{"rendered":"https:\/\/u-labs.de\/portal\/?p=8924"},"modified":"2022-12-12T16:38:52","modified_gmt":"2022-12-12T14:38:52","slug":"raspberry-pi-gpio-grundlagen-breadboard-bauteile-der-elektronik-fuer-einsteiger","status":"publish","type":"post","link":"https:\/\/u-labs.de\/portal\/raspberry-pi-gpio-grundlagen-breadboard-bauteile-der-elektronik-fuer-einsteiger\/","title":{"rendered":"Raspberry Pi GPIO &#038; Elektronische Bauteile: Grundlagen, Breadboard-Einf\u00fchrung, Bauteile der Elektronik f\u00fcr Einsteiger"},"content":{"rendered":"<p>Die GPIO-Leiste ist eine Besonderheit des Raspberry Pi gegen\u00fcber anderen Computern: GPIO steht f\u00fcr General Purpose Input\/Output, also <em>Allzweck Eingang\/Ausgang<\/em>. Man kann diese Anschl\u00fcsse universell als Ausgang nutzen, um z.B. eine LED oder andere Bauteile zu steuern. Oder als Eingang, der Signale von anderen Ger\u00e4ten\/Bauteilen empf\u00e4ngt und weiter verarbeitet. Schalter w\u00e4ren hierf\u00fcr ein einfaches Beispiel. Das ist aber noch nicht alles: Einige Pins unterst\u00fctzen spezielle Funktionen und Protokolle, unter anderem verschiedene Bussysteme wie z.B. SPI oder I2C. Dies w\u00fcrde allerdings den Rahmen sprengen, wir fokussieren uns im Folgenden auf die vergleichsweise einfache Funktion als Ausgang, um eine Leuchtdiode (LED) zu betreiben.<\/p>\n<h2 class=\"wp-block-heading\">Einf\u00fchrung in den GPIO-Header des Raspberry Pi<\/h2>\n<p>In der Dokumentation findet man die hierzu notwendige Beschreibung, welcher der insgesamt 40 Pins des Raspberry Pi welchen Zweck erf\u00fcllt. Wichtig ist, den Pi richtig herum zu halten &#8211; Masse muss links unten gegen\u00fcber von der Netzwerkschnittstelle liegen!<\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.raspberrypi.com\/documentation\/computers\/images\/GPIO-Pinout-Diagram-2.png\" alt=\"GPIO pins\"\/><figcaption class=\"wp-element-caption\">Quelle: <a href=\"https:\/\/www.raspberrypi.com\/documentation\/computers\/os.html#gpio-and-the-40-pin-header\" title=\"Raspberry Pi Dokumentation\" target=\"_blank\" rel=\"nofollow\">Raspberry Pi Dokumentation<\/a><\/figcaption><\/figure>\n<p>Man kann sich dies mit dem Befehl <strong>pinout<\/strong> auch auf der Konsole des Pi selbst ausgeben lassen:<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">$ pinout\n,--------------------------------.\n| oooooooooooooooooooo J8   +======\n| 1ooooooooooooooooooo  PoE |   Net\n|  Wi                    1o +======\n|  Fi  Pi Model 4B  V1.1 oo      |\n|        ,----. +---+         +====\n| |D|    |SoC | |RAM|         |USB3\n| |S|    |    | |   |         +====\n| |I|    `----&#039; +---+            |\n|                   |C|       +====\n|                   |S|       |USB2\n| pwr   |hd|   |hd| |I||A|    +====\n`-| |---|m0|---|m1|----|V|-------&#039;\n\nRevision           : c03111\nSoC                : BCM2711\nRAM                : 4GB\nStorage            : MicroSD\nUSB ports          : 4 (of which 2 USB3)\nEthernet ports     : 1 (1000Mbps max. speed)\nWi-fi              : True\nBluetooth          : True\nCamera ports (CSI) : 1\nDisplay ports (DSI): 1\n\nJ8:\n   3V3  (1) (2)  5V\n GPIO2  (3) (4)  5V\n GPIO3  (5) (6)  GND\n GPIO4  (7) (8)  GPIO14\n   GND  (9) (10) GPIO15\nGPIO17 (11) (12) GPIO18\nGPIO27 (13) (14) GND\nGPIO22 (15) (16) GPIO23\n   3V3 (17) (18) GPIO24\nGPIO10 (19) (20) GND\n GPIO9 (21) (22) GPIO25\nGPIO11 (23) (24) GPIO8\n   GND (25) (26) GPIO7\n GPIO0 (27) (28) GPIO1\n GPIO5 (29) (30) GND\n GPIO6 (31) (32) GPIO12\nGPIO13 (33) (34) GND\nGPIO19 (35) (36) GPIO16\nGPIO26 (37) (38) GPIO20\n   GND (39) (40) GPIO21<\/code><\/pre>\n<p>In klammern stehen auf der obigen Grafik jeweils die zus\u00e4tzlichen Spezialfunktionen. Ground (oft auch als GND abgek\u00fcrzt) ist Masse, also der Minus-Pol. <\/p>\n<p>Wichtig ist auch zu wissen, dass es zwei Arten der Nummerierung gibt: Einmal die oben links startende fortlaufende Durchnummerierung aller Pins, unabh\u00e4ngig von ihrer Funktion. Sie wird <strong>GPIO Board<\/strong> genannt.<\/p>\n<p>Unabh\u00e4ngig davon gibt es <strong>GPIO BMC<\/strong>: Hier werden nur die GPIO-Pins nummeriert. Da in erstem Falle auch Pins die keine GPIO-Funktion liefern wie 3V, 5V, oder Masse eingeschlossen sind, entscheiden sich beide voneinander. Dies sieht man beispielsweise an Pin 16, der mit GPIO-Nummerierung die 23 erh\u00e4lt.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/grafik-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"419\" height=\"177\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/grafik-2.png\" alt=\"\" class=\"wp-image-8920\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/grafik-2.png 419w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/grafik-2-300x127.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/grafik-2-70x30.png 70w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/figure>\n<\/div>\n<p>Grunds\u00e4tzlich kann man beide Varianten benutzen. Ich w\u00fcrde jedoch <strong>GPIO Board<\/strong> empfehlen, da dies am sichersten f\u00fcr m\u00f6gliche \u00c4nderungen ist. Die <strong>GPIO BMC<\/strong> Spezifikation <a href=\"https:\/\/raspberrypi.stackexchange.com\/a\/12967\/73079\" title=\"hat sich bei einer Revision des Raspberry Pi 1 bereits ge\u00e4ndert\" target=\"_blank\" rel=\"nofollow\">hat sich bei einer Revision des Raspberry Pi 1 bereits ge\u00e4ndert<\/a>. <\/p>\n<p>Vor allem wenn man sich f\u00fcr die speziellen Funktionen interessiert, ist <a href=\"https:\/\/pinout.xyz\" title=\"pinout.xyz\" target=\"_blank\" rel=\"nofollow\">pinout.xyz<\/a> interessant. Dort werden diese farblich hervorgehoben und man sieht daher sofort, welche &#8222;nur&#8220; einfache GPIO-Pins sind (z.B. GPIO 23) und welche man noch f\u00fcr andere Zwecke verwenden kann.<\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/Gadgetoid\/Pinout.xyz\/master\/resources\/raspberry-pi-pinout.png\" alt=\"Graphical Raspberry Pi GPIO Pinout\"\/><\/figure>\n<p>Gerade wenn ihr keinen Aufsteck-Header mit den Farben habt, kann es hilfreich sein, sich die Pin-Belegung auszudrucken und neben den Pi zu legen.<\/p>\n<h2 class=\"wp-block-heading\">Das sollte man grunds\u00e4tzlich bei GPIO-Pins beachten<\/h2>\n<p>Der Raspberry Pi liefert 3,3V und 5V. Allerdings als Bereich, d.H. man kann nicht von einer stabilen Spannung ausgehen. Vor allem unter Last muss mit Einbr\u00fcchen gerechnet werden. \u00dcblicherweise setzt man Widerst\u00e4nde ein. Sie helfen nicht nur, einen gew\u00fcnschten Pegel zu erreichen. Sondern sind auch zur Strombegrenzung wichtig: Der Raspberry Pi ist nicht f\u00fcr starke Str\u00f6me ausgelegt! Leider gibt es kein offizielles Limit.<strong> 2 bis 16 mA<\/strong> gilt laut verschiedener Erfahrungswerte als sicherer Bereich f\u00fcr einen einzelnen Pin. S\u00e4mtliche GPIO-Pins zusammen sollten 50 mA nicht \u00fcberschreiten. H\u00f6here Lasten sind m\u00f6glich, allerdings mit dem Risiko, den Pi zu besch\u00e4digen.<\/p>\n<p>Kleinere Verbraucher wie eine LED kann der Raspberry Pi zwar noch versorgen. 5V eignet sich dazu etwas besser als 3,3V. Tendenziell sollte man jedoch &#8211; vor allem bei st\u00e4rkeren Verbrauchern &#8211; eine externe Stromquelle verwenden, sodass der Pi nur den Steuerstrom liefert. Dies kann \u00fcber einen Transistor erfolgen.<\/p>\n<p>GPIO-Pins mit mit TXD-Doppelfunktion k\u00f6nnen hier problematisch sein, weswegen es sich empfiehlt, auf andere Pins auszuweichen. Betroffen ist davon Pin 8 (GPIO 14)<\/p>\n<h2 class=\"wp-block-heading\">Grundlegende Bauteile f\u00fcr elektronische Schaltungen<\/h2>\n<p>Wenn ihr mit elektronischen Schaltungen experimentiert, sind ein paar Dinge notwendig. Gerade Kits bieten sich an, damit ihr ein paar Grundlegende Bauteile besitzt, die man h\u00e4ufig ben\u00f6tigt. Der Einzelkauf vieler Bauteile ist fast kaum mehr m\u00f6glich. Au\u00dfer ihr habt noch einen Elektronikladen in der N\u00e4he, der euch einzelne Widerst\u00e4nde, Kondensatoren etc. f\u00fcr ein paar Cent verkauft. Meist ist das jedoch nicht mehr der Fall, daher empfehle ich:<\/p>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/amzn.to\/3wcIqPx\" title=\"Ein Breakout Board mit Verbindungskabeln (Weiblich auf Weiblich)\" target=\"_blank\" rel=\"nofollow\">Breakout Boards mit Verbindungskabeln (Weiblich auf Weiblich)<\/a><\/li>\n<li><a href=\"https:\/\/amzn.to\/38xa7JT\" title=\"Set mit verschiedenen Widerst\u00e4nden\" target=\"_blank\" rel=\"nofollow\">Set mit verschiedenen Widerst\u00e4nden<\/a><\/li>\n<li><a href=\"https:\/\/amzn.to\/3MhQg04\" title=\"Grundlegende Elektronik-Bauteile (Kondensatoren, LEDs, Transistoren etc) - bei diesem sind auch noch zus\u00e4tzliche Anschlusskabel dabei\" target=\"_blank\" rel=\"nofollow\">Grundlegende Elektronik-Bauteile (Kondensatoren, LEDs, Transistoren etc)<\/a><\/li>\n<li><a href=\"https:\/\/amzn.to\/3weVOmp\" title=\"Ggf. Verschiedene Anschlusskabel (M\u00e4nnlich\/Weiblich, M\u00e4nnlich\/M\u00e4nnlich, Weiblich\/Weiblich)\" target=\"_blank\" rel=\"nofollow\">Ggf. Verschiedene Anschlusskabel (M\u00e4nnlich\/Weiblich, M\u00e4nnlich\/M\u00e4nnlich, Weiblich\/Weiblich)<\/a><\/li>\n<li><a href=\"https:\/\/amzn.to\/3FNugrh\" title=\"Aufsatz-Stecker, der die GPIO-Pins farblich kennzeichnet\" target=\"_blank\" rel=\"nofollow\">Aufsatz-Stecker, der die GPIO-Pins farblich kennzeichnet<\/a><\/li>\n<\/ul>\n<p>Breakout Boards sind die Grundlage f\u00fcr experimentelle Schaltungen: Man kann darauf Bauteile platzieren und mit Kabeln (Weiblich auf Weiblich, d.H. beide Enden haben Stecker) miteinander verbinden. \u00dcber Weiblich auf M\u00e4nnlich kann man den Stecker mit dem Board verbinden und die Buchse mit einem Anschluss des Raspberry Pi. Alternativ dazu liefert das verlinkte Extension Board einen Stecker mit Flachbandkabel, sodass die GPIO-Pins direkt auf dem Board zur Verf\u00fcgung stehen:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/gpio-extension-board-connector_700px.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"695\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/gpio-extension-board-connector_700px.jpg\" alt=\"\" class=\"wp-image-8926\"\/><\/a><\/figure>\n<\/div>\n<p>In beiden F\u00e4llen hat man relativ sichere Verbindungen, die aber jederzeit wieder ver\u00e4ndert werden k\u00f6nnen. \u00dcber feste Verl\u00f6tungen sollte man erst nachdenken, wenn eine Schaltung funktioniert und man diese dauerhaft betreiben m\u00f6chte.<\/p>\n<p>Um sie richtig nutzen zu k\u00f6nnen und Kurzschl\u00fcsse zu vermeiden, ist es wichtig zu verstehen, wie die Anschl\u00fcsse <a href=\"https:\/\/thepihut.com\/blogs\/raspberry-pi-tutorials\/27968772-turning-on-an-led-with-your-raspberry-pis-gpio-pins\" title=\"intern verbunden sind\" target=\"_blank\" rel=\"nofollow\">intern verbunden sind<\/a>:<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/Breakout_board_Verbindungen_Steckplatine_beschrieben.png\"><img loading=\"lazy\" decoding=\"async\" width=\"806\" height=\"523\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/Breakout_board_Verbindungen_Steckplatine_beschrieben.png\" alt=\"\" class=\"wp-image-8923\" srcset=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/Breakout_board_Verbindungen_Steckplatine_beschrieben.png 806w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/Breakout_board_Verbindungen_Steckplatine_beschrieben-300x195.png 300w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/Breakout_board_Verbindungen_Steckplatine_beschrieben-768x498.png 768w, https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/Breakout_board_Verbindungen_Steckplatine_beschrieben-70x45.png 70w\" sizes=\"auto, (max-width: 806px) 100vw, 806px\" \/><\/a><\/figure>\n<p>Am oberen und unteren Rand finden sich jeweils zwei Streifen. Alle Kontakte einer Zeile sind miteinander verbunden. Sie eignen sich idealerweise als &#8222;Stromschiene&#8220;: An einen k\u00f6nnt ihr beispielsweise Masse (-) anschlie\u00dfen, an den anderen eine Versorgungsspannung. Durch die vielen Anschl\u00fcsse ist es kein Problem, mehrere Bauteile damit versorgen. Da es insgesamt vier solcher Schienen gibt, kann man auch mehrere Spannungen auf einem Board bereitstellen.<\/p>\n<p>Der innere Bereich ist f\u00fcr die Platzierung von Bauteilen vorgesehen, daher sind dort Spalten miteinander verbunden. Im Gegensatz zu den Stromschienen nicht durchgehend, sondern nur bis zur H\u00e4lfte des Boards. So lassen sich mehr Bauteile platzieren, die nicht zwingend miteinander verbunden sein k\u00f6nnen. Im obigen Bild habe ich beispielhaft einige Linien eingezeichnet, jede Farbe w\u00e4re dort miteinander verbunden.<\/p>\n<p>Vor allem wenn ihr die GPIO-Pins h\u00e4ndisch \u00fcber Kabel verbindet, ist <a href=\"https:\/\/amzn.to\/3FNugrh\" title=\"ein Aufsatz-Stecker hilfreich\" target=\"_blank\" rel=\"nofollow\">ein Aufsatz-Stecker hilfreich<\/a>, der die Pins farblich kennzeichnet. Das vereinfacht die Verkabelung und verhindert, dass man sich versehentlich verz\u00e4hlt &#8211; wodurch ein Kurzschluss entstehen kann.<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/gpio-aufsatz.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1042\" height=\"400\" src=\"https:\/\/u-labs.de\/portal\/wp-content\/uploads\/2022\/05\/gpio-aufsatz.jpg\" alt=\"\" class=\"wp-image-8932\"\/><\/a><\/figure>\n<h2 class=\"wp-block-heading\">Weiteres n\u00fctzliches Zubeh\u00f6r<\/h2>\n<p>Damit habt ihr eine solide Grundlage, um einige Schaltungen ausprobieren zu k\u00f6nnen. Je nachdem was ihr alles machen m\u00f6chtet, machen ggf. noch ein paar andere Dinge zus\u00e4tzlich Sinn, beispielsweise:<\/p>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/amzn.to\/3MbZGdo\" target=\"_blank\" rel=\"nofollow\">Kabel mit Krokodilklemmen<\/a><\/li>\n<li><a href=\"https:\/\/amzn.to\/3N9xaJm\" target=\"_blank\" rel=\"nofollow\">Ein Multimeter f\u00fcr Messungen<\/a><\/li>\n<li><a href=\"https:\/\/amzn.to\/37JTwCi\" title=\"Falls ihr \u00fcberwiegend mit Bauteilen arbeitet die eine externe Stromversorgung ben\u00f6tigen, kann ein frei regelbares Labornetzteil hilfreich sein\" target=\"_blank\" rel=\"nofollow\">Ein frei regelbares Labornetzteil <\/a>(hilfreich, wenn mit Bauteilen gearbeitet wird, die eine eigene Stromversorgung ben\u00f6tigen)<\/li>\n<\/ul>\n<p>Wobei dies nicht zwingend n\u00f6tig ist bzw. es teils auch Alternativen gibt. <a href=\"https:\/\/amzn.to\/3LgUfZg\" title=\"Ein kleines Universal-Netzteil mit 7 g\u00e4ngigen Spannungen und max. 1A\" target=\"_blank\" rel=\"nofollow\">Ein kleines Universal-Netzteil mit 7 g\u00e4ngigen Spannungen und max. 1A<\/a> kann beispielsweise f\u00fcr manche Anwendungsf\u00e4lle durchaus ein deutlich g\u00fcnstiger Kompromiss darstellen. Was wirklich n\u00f6tig ist, h\u00e4ngt daher von den Umst\u00e4nden ab. Gerade solche gr\u00f6\u00dferen Anschaffungen w\u00fcrde ich nicht pauschal t\u00e4tigen, sondern nur wenn tats\u00e4chlich Bedarf da ist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die GPIO-Leiste ist eine Besonderheit des Raspberry Pi gegen\u00fcber anderen Computern: GPIO steht f\u00fcr General Purpose Input\/Output, also Allzweck Eingang\/Ausgang. Man kann diese Anschl\u00fcsse universell als Ausgang nutzen, um z.B. eine LED oder andere Bauteile zu steuern. Oder als Eingang, der Signale von anderen Ger\u00e4ten\/Bauteilen empf\u00e4ngt und weiter verarbeitet. Schalter w\u00e4ren hierf\u00fcr ein einfaches Beispiel. &#8230;<\/p>\n","protected":false},"author":5,"featured_media":8935,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[671],"tags":[1043,1042,1044],"class_list":["post-8924","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi","tag-breadboard","tag-elektronik","tag-gpio"],"_links":{"self":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/comments?post=8924"}],"version-history":[{"count":7,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8924\/revisions"}],"predecessor-version":[{"id":9747,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/posts\/8924\/revisions\/9747"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media\/8935"}],"wp:attachment":[{"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/media?parent=8924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/categories?post=8924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/u-labs.de\/portal\/wp-json\/wp\/v2\/tags?post=8924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}