      {"id":35,"date":"2016-12-11T12:18:26","date_gmt":"2016-12-11T11:18:26","guid":{"rendered":"http:\/\/konnekting.de\/wp\/?page_id=35"},"modified":"2022-05-03T19:05:32","modified_gmt":"2022-05-03T17:05:32","slug":"l1-knx-mit-arduino","status":"publish","type":"page","link":"https:\/\/www.konnekting.de\/en\/konnekting-lernen\/l1-knx-mit-arduino\/","title":{"rendered":"Lektion 1: KNX mit Arduino: Wie geht das?"},"content":{"rendered":"<p>Viele werden sich fragen:<\/p>\n<blockquote><p>KNX mit dem Arduino? Wie geht das? Das ist doch kompliziert, oder?<\/p><\/blockquote>\n<p>KNX mit dem Arduino zu verbinden\u00a0ist eigentlich ganz einfach. Mit ein klein wenig Grundverst\u00e4ndnis f\u00fcr Elektronik und einfacher Softwareprogrammierung ist das kein Hexenwerk.<\/p>\n<p><strong>Zutatenliste:<\/strong><\/p>\n<ol>\n<li>Ein Arduino, z.B. ein <a href=\"https:\/\/www.arduino.cc\/en\/Main\/ArduinoBoardZero&amp;\" target=\"_blank\" rel=\"noopener\">Arduino Zero<\/a> oder <a href=\"https:\/\/wiki.seeedstudio.com\/Seeeduino-XIAO\/\">Seeeduino XIAO<\/a>.<\/li>\n<li>Ein &#8220;<a href=\"https:\/\/www.voltus.de\/?cl=details&amp;anid=6d587e3f46216269029d510de0d89711&amp;gclid=Cj0KEQiAsrnCBRCTs7nqwrm6pcYBEiQAcQSznOidojOhpmDjXMMDLTrgq73c7CDLHDBy8FA6e6v6Ou8aAqvO8P8HAQ\" target=\"_blank\" rel=\"noopener\">SIEMENS 5WG1117-2AB12 KNX Busankoppler BTM UP 117 m. Schraubbefestigung<\/a>&#8220;, oder kurz: eine &#8220;Siemens BCU&#8221; mit einem Pegelwandler oder eine <a href=\"https:\/\/knx-user-forum.de\/forum\/projektforen\/konnekting\/1575881-sammelbestellung-microbcu2-knx-transceiver-f%C3%BCr-ardunio-raspberry-co\">MikroBCU<\/a> oder <a href=\"https:\/\/knx-user-forum.de\/forum\/projektforen\/openknx\/1748827-sammelbestellung-nanobcu-und-zubeh%C3%B6r#post1748827\">NanoBCU<\/a>.<\/li>\n<li>Ein\u00a0<a href=\"http:\/\/www.exp-tech.de\/breadboard-400-300-100\" target=\"_blank\" rel=\"noopener\">Breadboard<\/a>\u00a0oder auch &#8220;Steckbrett&#8221;<\/li>\n<li>Ein paar <a href=\"http:\/\/www.exp-tech.de\/jumper-wires-premium-4-m-m-20-awg-30-pack\" target=\"_blank\" rel=\"noopener\">Jumperwire<\/a> oder auch &#8220;K\u00e4belchen zum stecken&#8221;<\/li>\n<li>Ein\u00a0<a href=\"http:\/\/www.exp-tech.de\/mini-push-button-switch-com-00097\" target=\"_blank\" rel=\"noopener\">Taster<\/a>\u00a0(und ein Kondensator und Widerstand)<\/li>\n<\/ol>\n<p>Nicht alles auf der Zutatenliste muss man kaufen. Taster und Steckbrett kann man sich f\u00fcr die allerersten Gehversuche auch sparen und die Komponenten direkt mit den K\u00e4belchen verbinden und eine Drahtbr\u00fccke als Tasterersatz verwenden. Je mehr man jedoch experimentiert oder anschlie\u00dft, desto eher macht es Sinn sich ein solches Steckbrett (gerne auch gr\u00f6\u00dfer) und vern\u00fcnftige Zusatzkomponenten wie Taster und LEDs etc. \u00a0zuzulegen.<\/p>\n<p>Das &#8220;Geheimnis&#8221; der Verbindung mit dem KNX Bus liegt in der <em>Siemens BCU (BCU = Bus Coupling Unit = Busankoppler)<\/em>. Eigentlich ist das ein kleines Unterputz-Ger\u00e4t von Siemens f\u00fcr deren &#8220;Gamma&#8221;-Serie, an das man verschiedene Aufsatzm\u00f6glichkeiten anschlie\u00dfen kann: Taster, Anzeigen, &#8230;<\/p>\n<figure id=\"attachment_81\" aria-describedby=\"caption-attachment-81\" style=\"width: 300px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/voltus_siemens_bcu.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-81 size-medium\" src=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/voltus_siemens_bcu-300x171.png\" width=\"300\" height=\"171\" srcset=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/voltus_siemens_bcu-300x171.png 300w, https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/voltus_siemens_bcu-768x439.png 768w, https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/voltus_siemens_bcu.png 922w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-81\" class=\"wp-caption-text\">Screenshot www.voltus.de Onlineshop<\/figcaption><\/figure>\n<p>In dem Ger\u00e4t steckt ein kleiner Chip, der die KNX Signale vom Bus in &#8220;lesbare Telegramme&#8221; wandelt und \u00fcber eine serielle Schnittstelle &#8220;anbietet&#8221;. Und hier kommt der Arduino zum Zug: Dieser verf\u00fcgt ebenfalls \u00fcber eine serielle Schnittstelle. Mit einer passenden Programmierbibliothek kann dieser die Telegramme vom Bus lesen und auch welche senden.<\/p>\n<p>Das ganze &#8220;drum herum&#8221; braucht man nicht unbedingt. Man kann den Rahmen entfernen und die Platine aus ihrem Plastik-Geh\u00e4use holen wenn man m\u00f6chte. Dann sieht das schematisch in etwa so aus:<\/p>\n<p><a href=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/siemens_bcu_pinout.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-82 size-medium\" src=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/siemens_bcu_pinout-300x164.png\" width=\"300\" height=\"164\" srcset=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/siemens_bcu_pinout-300x164.png 300w, https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/11\/siemens_bcu_pinout.png 382w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><\/p>\n<p>Es gibt nur zwei Stellen die man anschlie\u00dfen muss: Die obere Seite mit der KNX Klemme, und die untere Seite mit dem 2&#215;5 Pin Anschluss (2,54mm Rasterformat, passt &#8220;ausgepackt&#8221; prima in einen <a href=\"http:\/\/www.reichelt.de\/Pfosten-Wannenstecker\/WSL-10G\/3\/index.html?ACTION=3&amp;LA=446&amp;ARTICLE=22816&amp;GROUPID=7437&amp;artnr=WSL+10G&amp;SEARCH=wannenstecker\" target=\"_blank\" rel=\"noopener\">2&#215;5 Pin Wannenstecker<\/a>).<\/p>\n<p>Nun geht&#8217;s an die Verbindung zwischen Arduino und BCU:<\/p>\n<p><a href=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/12\/fritzing_leonardobcu-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-98 size-medium\" src=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/12\/fritzing_leonardobcu-1-300x202.png\" width=\"300\" height=\"202\" srcset=\"https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/12\/fritzing_leonardobcu-1-300x202.png 300w, https:\/\/www.konnekting.de\/wp-content\/uploads\/2016\/12\/fritzing_leonardobcu-1.png 768w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><\/a><\/p>\n<p>Das sieht vielleicht ein wenig komplizierter aus als es tats\u00e4chlich ist:<\/p>\n<p>Man verbindet Pin 2 TxD der BCU mit dem RX-Pin des Arduino. Und Pin 4 RxD der BCU mit dem TX-Pin des Arduino. Das was der Arduino auf seiner TX-Leitung (TX=transmit) sendet, kommt also auf der RX-Leitung (RX=receive) der BCU an, und umgekehrt. Damit hat man die serielle Verbindung zwischen beiden Hergestellt.<\/p>\n<p>Die BCU liefert an ihrem +5V Ausgang zwar offiziell nur 10mA, unsere Test belegen aber, das bis zu 50mA kein wirkliches Problem darstellen. Unter dem Strich reicht das aus um den Arduino und ein paar Sensoren, Taster und LEDs (besser low-current 1mA) zu versorgen. Also verbindet man noch Pin 5 <em>+5V<\/em> der BCU mit dem 5V Pin des Arduino. Gleiches tut man noch mit Pin 1 <em>Gnd<\/em> der BCU mit dem Ground (=Masse, oder umgangssprachlich &#8220;Minus&#8221;) Pin des Arduino. Damit hat man die Versorgung hergestellt.<\/p>\n<p>Zuguter letzt braucht man noch einen Taster, mit dessen Hilfe man den Arduino dann in den Programmiermodus versetzen kann. In diesem Beispiel haben wir ihn auf Pin 3 angeschlossen. Wichtig ist hier: Bei der Verwendung unserer Programmierbibliothek f\u00fcr KNX muss der Programmier-Knopf an einem Interrupt-f\u00e4higen Pin angeschlossen werden (was mit Pin 3 des Zero der Fall ist). Der Taster br\u00fcckt einfach +5V auf den entsprechenden Pin. Um den Schalter gleich per Hardware zu &#8220;<a href=\"https:\/\/www.mikrocontroller.net\/articles\/Entprellung\" target=\"_blank\" rel=\"noopener\">entprellen<\/a>&#8220;, kann man einen kleinen Kondensator parallel schalten und den Pin 3 mit einem &#8220;<a href=\"http:\/\/www.elektronik-kompendium.de\/public\/schaerer\/pullr.htm\" target=\"_blank\" rel=\"noopener\">Pull Down<\/a>&#8221; Widerstand auf Masse ziehen. Man kann die beiden Bauteile auch weglassen, aber ohne ist die wahrscheinlichkeit gro\u00df, dass der Tastendruck den Programmiermodus nicht sauber einschaltet.<\/p>\n<p><em>Anmerkung f\u00fcr den Elektronik-Laien: Lass dich nicht von &#8220;entprellen&#8221; und &#8220;Pull Down&#8221; verwirren. Das dient lediglich dazu, dass ein einzelner Tastendruck auch als solches erkannt wird. Nimm die Konstellation von Kondensator und Widerstand erstmal so hin und lese dich sp\u00e4ter \u00fcber die Links zu den Details ein.<\/em><\/p>\n<p>Als Programmier-LED kann man entweder selbst eine LED (mit Vorwiderstand) anschlie\u00dfen, oder man verwendet die LED die auf dem Arduino bereits verbaut und mit Pin 13 verbunden ist. Achtung: Die LED auf dem XIAO ist genau anders herum angeschlossen wie \u00fcblich. Also Programmier-Modus wenn LED aus.<\/p>\n<p>Das war auch schon die ganze Kunst der Verkabelung.<\/p>\n<p>Dieses minimale Setup kann nat\u00fcrlich nicht viel. Denn mehr wie eine LED und einen Taster haben wir nicht. Aber f\u00fcr den Anfang reicht es.<\/p>\n<p><strong>FAQ<\/strong><\/p>\n<ol>\n<li>Kann ich jede beliebige KNX BCU nehmen, oder muss es diese spezielle sein<br \/>\nAntwort: Es muss diese spezielle sein. Andere BCUs arbeiten mit anderen Chips, die keine passende serielle Schnittstelle liefern<\/li>\n<\/ol>\n<p><a class=\"alignright\" href=\"https:\/\/www.konnekting.de\/konnekting-lernen\/lektion-2-was-steckt-in-der-siemens-bcu\/\">Lektion 2: Was steckt in der Siemens BCU? &#8211;&gt;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Viele werden sich fragen: KNX mit dem Arduino? Wie geht das? Das ist doch kompliziert, oder? KNX mit dem Arduino zu verbinden\u00a0ist eigentlich ganz einfach. Mit ein klein wenig Grundverst\u00e4ndnis f\u00fcr Elektronik und einfacher Softwareprogrammierung ist das kein Hexenwerk. Zutatenliste: Ein Arduino, z.B. ein Arduino Zero oder Seeeduino XIAO. Ein &#8220;SIEMENS 5WG1117-2AB12 KNX Busankoppler BTM &hellip; <a href=\"https:\/\/www.konnekting.de\/en\/konnekting-lernen\/l1-knx-mit-arduino\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Lektion 1: KNX mit Arduino: Wie geht das?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":163,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-35","page","type-page","status-publish","hentry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"en","enabled_languages":["de","en"],"languages":{"de":{"title":true,"content":true,"excerpt":false},"en":{"title":false,"content":false,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/pages\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":13,"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/pages\/35\/revisions"}],"predecessor-version":[{"id":714,"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/pages\/35\/revisions\/714"}],"up":[{"embeddable":true,"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/pages\/163"}],"wp:attachment":[{"href":"https:\/\/www.konnekting.de\/en\/wp-json\/wp\/v2\/media?parent=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}