{"id":712,"date":"2014-03-06T10:24:43","date_gmt":"2014-03-06T10:24:43","guid":{"rendered":"http:\/\/www.horter.de\/blog\/?p=712"},"modified":"2023-01-14T17:42:41","modified_gmt":"2023-01-14T17:42:41","slug":"arduino-lcd-anzeige-ueber-i2c-bus-ansteuern","status":"publish","type":"post","link":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/","title":{"rendered":"Arduino LCD-Display am I2C-Bus"},"content":{"rendered":"<p>Den Testaufbau vom Beitrag &#8222;<a href=\"https:\/\/www.horter.de\/blog\/pcf8574-lesen-und-schreiben-mit-dem-arduino\/\">Arduino PCF8574 lesen und schreiben<\/a>&#8220; haben wir erweitert und die I2C-LCD-Anzeige mit an den Bus angeschlossen.<\/p>\n<p>Das Beispiel soll zeigen wie leicht es ist unser Textdisplay \u00fcber den I2C-Bus anzusprechen und Texte auszugeben.<\/p>\n<p>Beim Testen des Programms haben wir jedoch mit ein paar Eigenheiten des Arduino festgestellt.<\/p>\n<ol>\n<li>Unsere Kommandos f\u00fcr die Anzeige beginnen mit einem Backslash-Zeichen (\\).<br \/>\nDie Arduino-IDE hat ein Problem mit dem \\-Zeichen im Code. Es erscheint die Fehlermeldung:<br \/>\n&#8222;<span style=\"color: #ff0000;\"><strong><span style=\"font-family: courier new,courier;\">error: unknown escape sequence &#8218;\\B&#8216;<\/span><\/strong><\/span>&#8222;<\/li>\n<li>Die maximale Anzahl der zu \u00fcbertragenden Bytes auf dem Bus ist auf 32 begrenzt.<br \/>\nEs k\u00f6nnen nur 32 Bytes in einem Rutsch auf dem Bus verschickt werden.<br \/>\nDie angeschlossene LCD-Anzeige hat 4*20 Zeichen also 80 Bytes was die Kommunikation etwas schwieriger macht.<\/li>\n<li>Der Befehl <strong><span style=\"font-family: courier new,courier;\">Wire.endTransmission()<\/span><\/strong> \u00fcbertr\u00e4gt noch einmal die Slaveadresse mit einem I2C-Stop.<br \/>\nDas bringt momntan leider ein zus\u00e4tzliches Zeichen auf das Display &#8222;`&#8220; = 60hex<\/li>\n<\/ol>\n<p>Hier die L\u00f6sungen<\/p>\n<ol>\n<li>Statt das Backslash-Zeichen im Code zu schreiben \u00fcbertragen wir mit dem Befehl <strong><span style=\"font-family: courier new,courier;\">Wire.write(92);<\/span><\/strong> das Zeichen als ASCII-Wert.<\/li>\n<li>Dieses Problem kann man l\u00f6sen indem die Zeilen des Displays einzeln geschrieben werden.<br \/>\nDazu muss vorher der Cursor auf der Anzeige, z.B. mit dem Befehl <span style=\"font-family: courier new,courier;\"><strong>\\<\/strong><strong>GO:01,01;<\/strong><\/span>, positioniert werden.<br \/>\nDas Kommando hat 10 Bytes, der Text f\u00fcr eine Zeile hat 20 Bytes.\u00a0 In Summe also unter 32 Bytes &#8211; Problem gel\u00f6st \ud83d\ude42<\/li>\n<li>Unsere Anzeige interpretiert alle Zeichen die ohne Pause von\u00a05 ms zur Anzeige geschickt werden als zusammengeh\u00f6rig.<br \/>\nWenn also innerhalb 5ms die Slave-Adresse noch einmal geschickt wird interpretiert die Anzeige dieses Byte als Zeichen.<br \/>\nWir werden das Problem in den n\u00e4chsten Tagen durch einen neuen Firmwarestand l\u00f6sen.<\/li>\n<\/ol>\n<p>Im Beitrag <a href=\"https:\/\/www.horter.de\/blog\/i2c-usb-sniffer-funktion-verfugbar\/\">Sniffer Funktion funktioniert<\/a> k\u00f6nnen Sie sehen wie man mit dem I2C-USB-Modems den Datenverkehr auf dem Bus &#8222;belauschen&#8220; kann. Die gesendeten Bytes zum Slave werden wie mit einem Datenlogger erfasst und angezeigt.<\/p>\n<p>Hier das Demo-Programm f\u00fcr den ARDUINO<\/p>\n<pre class=\"code\" style=\"background: #EEEEEE;\"><span style=\"color: #7e7e7e;\">\/*\u00a0<\/span>\r\n<span style=\"color: #7e7e7e;\">\u00a0==============================================<\/span>\r\n<span style=\"color: #7e7e7e;\">Test\u00a0I2C-LCD-Anzeige\u00a0\u00fcber\u00a0I2C\u00a0am\u00a0ARDUINO<\/span>\r\n<span style=\"color: #7e7e7e;\">==============================================<\/span>\r\n<span style=\"color: #7e7e7e;\">*\/<\/span>\r\n\r\n#include\u00a0&lt;<span style=\"color: #cc6600;\">Wire<\/span>.h&gt;\r\n\r\n#define\u00a0I2C_IN_ADDR\u00a0112\u00a0&gt;&gt;\u00a01\u00a0<span style=\"color: #7e7e7e;\">\/\/ I2C-INPUT-Addresse als 7 Bit<\/span>\r\n#define\u00a0I2C_OUT_ADDR\u00a064\u00a0&gt;&gt;\u00a01\u00a0<span style=\"color: #7e7e7e;\">\/\/ I2C-OUTPUT-Addresse als 7 Bit<\/span>\r\n#define\u00a0I2C_LCD_ADDR\u00a096\u00a0&gt;&gt;\u00a01\u00a0<span style=\"color: #7e7e7e;\">\/\/ I2C-LCD-Addresse als 7 Bit<\/span>\r\n\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> WERT=0;\r\n<span style=\"color: #cc6600;\">byte<\/span> OUT_INV=0;\r\n<span style=\"color: #cc6600;\">byte<\/span> ALTWERT=0;\r\n\r\n<span style=\"color: #cc6600;\">String<\/span> Text=<span style=\"color: #006699;\">\"\"<\/span>;              <span style=\"color: #7e7e7e;\">\/\/ 4x20 zeichen definieren<\/span>\r\n<span style=\"color: #cc6600;\">char<\/span> OutArray[80] = { };     <span style=\"color: #7e7e7e;\">\/\/ Out-Array mit 80 zeichen definieren<\/span>\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>setup<\/b><\/span>() {\r\n\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">begin<\/span>(9600);       <span style=\"color: #7e7e7e;\">\/\/ Serielle Schnittstelle konfigurieren<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">begin<\/span>();             <span style=\"color: #7e7e7e;\">\/\/ I2C-Pins definieren<\/span>\r\n\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ setzten aller Bits der Eingabekarte auf 1<\/span>\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ -----------------------------------------<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_IN_ADDR);   <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung zum PCF8574<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(0xFF);                      <span style=\"color: #7e7e7e;\">\/\/ Alle Bits sind Eing\u00e4nge<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende<\/span>\r\n}\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>loop<\/b><\/span>() { \r\n\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ Einlesen der Bits aus der I2C-INPUT Karte<\/span>\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ ------------------------------------------<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">requestFrom<\/span>(I2C_IN_ADDR, 1);    <span style=\"color: #7e7e7e;\">\/\/ Ein Byte (= 8 Bits) vom PCF8574 lesen<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">while<\/span>(<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">available<\/span>() == 0);        <span style=\"color: #7e7e7e;\">\/\/ Warten, bis Daten verf\u00fcgbar   <\/span>\r\n\u00a0\u00a0WERT\u00a0=\u00a0255\u00a0-\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">read<\/span>();            <span style=\"color: #7e7e7e;\">\/\/ in invertierte Eingabe wandlen     <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>(<span style=\"color: #cc6600;\">true<\/span>);\r\n\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ Ausgeben der gleichen Bits an die I2C-OUTPUT Karte<\/span>\r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ --------------------------------------------------   <\/span>\r\n\u00a0\u00a0OUT_INV\u00a0=\u00a0255\u00a0-\u00a0WERT;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ in invertierte Ausgabe wandlen <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_OUT_ADDR); <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung zum PCF8574<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(OUT_INV);                  <span style=\"color: #7e7e7e;\">\/\/ Wert schreiben<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();               <span style=\"color: #7e7e7e;\">\/\/ Ende<\/span>\r\n\r\n\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (WERT == 0) {\r\n\u00a0\u00a0\u00a0\u00a0ALTWERT\u00a0=\u00a00;\r\n\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (WERT &gt; ALTWERT){\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(100);                          <span style=\"color: #7e7e7e;\">\/\/ Taste entprellen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0ALTWERT\u00a0=\u00a0WERT;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ Kommandos nur einmal absetzen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\"><b>Serial<\/b><\/span>.<span style=\"color: #cc6600;\">print<\/span>(WERT);\r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ =========== Hintergrundbeleuchtung EIN ===========<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (WERT &amp; B00000001) {                  <span style=\"color: #7e7e7e;\">\/\/ Eingang 0 = Licht EIN<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                        <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"BL:ON\"<\/span>);                   <span style=\"color: #7e7e7e;\">\/\/ Kommando absetzen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende<\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ =========== Hintergrundbeleuchtung AUS ===========<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (WERT &amp; B00000010) {                 <span style=\"color: #7e7e7e;\">\/\/ Eingang 1 = Licht AUS<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR); <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                       <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"BL:OFF\"<\/span>);                 <span style=\"color: #7e7e7e;\">\/\/ Kommando absetzen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();               <span style=\"color: #7e7e7e;\">\/\/ Ende<\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ ================ Display l\u00f6schen ================<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (WERT &amp; B00000100) {                 <span style=\"color: #7e7e7e;\">\/\/ Eingang 2 = CLR<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR); <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                       <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"CLR\"<\/span>);                    <span style=\"color: #7e7e7e;\">\/\/ Kommando<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();               <span style=\"color: #7e7e7e;\">\/\/ Ende<\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ ================ Text auf Display ausgeben ================<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (WERT &amp; B00001000) {                 <span style=\"color: #7e7e7e;\">\/\/ Eingang 3 = langen Text ausgeben<\/span>\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR); <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                       <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"CLR\"<\/span>);                    <span style=\"color: #7e7e7e;\">\/\/ Kommando LCD l\u00f6schen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();               <span style=\"color: #7e7e7e;\">\/\/ Ende   <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(15);    \r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                        <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"GO:01,01;\"<\/span>);               <span style=\"color: #7e7e7e;\">\/\/ Springe in die 1 . Zeile<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\" Hallo LCD-Display  \"<\/span>);    <span style=\"color: #7e7e7e;\">\/\/ Text 1. Zeile<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende    <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(15); \r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                        <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"GO:02,01;\"<\/span>);               <span style=\"color: #7e7e7e;\">\/\/ Springe in die 2. Zeile<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"====================\"<\/span>);    <span style=\"color: #7e7e7e;\">\/\/ Text 2. Zeile<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende   <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(15);      \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                        <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"GO:03,01;\"<\/span>);               <span style=\"color: #7e7e7e;\">\/\/ Springe in die 3. Zeile<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"Text in der Zeile 3 \"<\/span>);    <span style=\"color: #7e7e7e;\">\/\/ Text 3. Zeile    <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(15);      \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                        <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"GO:04,01;\"<\/span>);               <span style=\"color: #7e7e7e;\">\/\/ Springe in die 4. Zeile<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"Text in der Zeile 4 \"<\/span>);    <span style=\"color: #7e7e7e;\">\/\/ Text 4. Zeile    <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende      <\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0}\r\n}\r\n\r\n<\/pre>\n<p>Wenn man die Adresse des Displays auf 98dez = 62hex \u00e4ndert wird ein anderes Zeichen geschrieben. Bis die neue Firmware da ist kann man das Problem umgehen indem man ein Kommando z.B. &#8222;Display ON&#8220; nach der letzten Textausgabe schickt. Das Programm w\u00fcrde dann so aussehen<\/p>\n<pre class=\"code\" style=\"background: #EEEEEE;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                        <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"CLR\"<\/span>);                     <span style=\"color: #7e7e7e;\">\/\/ Kommando<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(15);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\" Hallo LCD-Display\"<\/span>);    <span style=\"color: #7e7e7e;\">\/\/ Text 1. Zeile<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(15);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">beginTransmission<\/span>(I2C_LCD_ADDR);  <span style=\"color: #7e7e7e;\">\/\/ Start \u00dcbertragung<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(92);                        <span style=\"color: #7e7e7e;\">\/\/ Backslash-Zeichen<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">write<\/span>(<span style=\"color: #006699;\">\"DI:ON\"<\/span>);                   <span style=\"color: #7e7e7e;\">\/\/ Kommando<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">Wire<\/span>.<span style=\"color: #cc6600;\">endTransmission<\/span>();                <span style=\"color: #7e7e7e;\">\/\/ Ende<\/span>\r\n\r\n<\/pre>\n<p>Im Datenlogger-Fenster vom I2C-USB-Modem sieht man die einzelnen Befehle:<\/p>\n<p><a href=\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/USB-Modem_Listen_2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-739 alignnone\" src=\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/USB-Modem_Listen_2.png\" alt=\"USB-Modem_Listen_2\" width=\"1000\" height=\"698\" srcset=\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/USB-Modem_Listen_2.png 1000w, https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/USB-Modem_Listen_2-300x209.png 300w, https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/USB-Modem_Listen_2-730x509.png 730w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/p>\n<ul>\n<li>Kommando <strong>\\CLR<\/strong><br \/>\nBlauer Kasten<\/li>\n<li>Textausgabe\u00a0 <strong>&#8222;Hallo LCD-Display&#8220;<br \/>\n<\/strong>gr\u00fcner Kasten<\/li>\n<li>Kommando <strong>\\DI:ON<br \/>\n<\/strong>gelber Kasten<\/li>\n<\/ul>\n<p>Rot eingekreist die Slaveadresse (62hex) die vom ARDUINO am Ende verschickt wird.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Den Testaufbau vom Beitrag &#8222;Arduino PCF8574 lesen und schreiben&#8220; haben wir erweitert und die I2C-LCD-Anzeige mit an den Bus angeschlossen. Das Beispiel soll zeigen wie leicht es ist unser Textdisplay \u00fcber den I2C-Bus anzusprechen und Texte auszugeben. Beim Testen des&#8230; <a class=\"continue-reading-link\" href=\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\">mehr lesen<\/a><\/p>\n","protected":false},"author":3,"featured_media":28268,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[252],"tags":[],"class_list":["post-712","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Arduino LCD-Display am I2C-Bus - Horter &amp; Kalb Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arduino LCD-Display am I2C-Bus - Horter &amp; Kalb Blog\" \/>\n<meta property=\"og:description\" content=\"Den Testaufbau vom Beitrag &#8222;Arduino PCF8574 lesen und schreiben&#8220; haben wir erweitert und die I2C-LCD-Anzeige mit an den Bus angeschlossen. Das Beispiel soll zeigen wie leicht es ist unser Textdisplay \u00fcber den I2C-Bus anzusprechen und Texte auszugeben. Beim Testen des... mehr lesen\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\" \/>\n<meta property=\"og:site_name\" content=\"Horter &amp; Kalb Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-03-06T10:24:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-14T17:42:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"280\" \/>\n\t<meta property=\"og:image:height\" content=\"192\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"JH\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"JH\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\"},\"author\":{\"name\":\"JH\",\"@id\":\"https:\/\/www.horter.de\/blog\/#\/schema\/person\/a8a4c3c5d3167dce7c7d31df6088b5d2\"},\"headline\":\"Arduino LCD-Display am I2C-Bus\",\"datePublished\":\"2014-03-06T10:24:43+00:00\",\"dateModified\":\"2023-01-14T17:42:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\"},\"wordCount\":402,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.horter.de\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg\",\"articleSection\":[\"Arduino\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\",\"url\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\",\"name\":\"Arduino LCD-Display am I2C-Bus - Horter &amp; Kalb Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.horter.de\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg\",\"datePublished\":\"2014-03-06T10:24:43+00:00\",\"dateModified\":\"2023-01-14T17:42:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage\",\"url\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg\",\"contentUrl\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg\",\"width\":280,\"height\":192},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\/\/www.horter.de\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arduino LCD-Display am I2C-Bus\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.horter.de\/blog\/#website\",\"url\":\"https:\/\/www.horter.de\/blog\/\",\"name\":\"Horter & Kalb Blog\",\"description\":\"SPS, I2C und mehr\",\"publisher\":{\"@id\":\"https:\/\/www.horter.de\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.horter.de\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.horter.de\/blog\/#organization\",\"name\":\"Horter & Kalb Blog\",\"url\":\"https:\/\/www.horter.de\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.horter.de\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2026\/01\/hoka_Icon_400x400.png\",\"contentUrl\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2026\/01\/hoka_Icon_400x400.png\",\"width\":400,\"height\":400,\"caption\":\"Horter & Kalb Blog\"},\"image\":{\"@id\":\"https:\/\/www.horter.de\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.horter.de\/blog\/#\/schema\/person\/a8a4c3c5d3167dce7c7d31df6088b5d2\",\"name\":\"JH\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.horter.de\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2015\/07\/jhfb.jpg\",\"contentUrl\":\"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2015\/07\/jhfb.jpg\",\"caption\":\"JH\"},\"url\":\"https:\/\/www.horter.de\/blog\/author\/j-horter\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arduino LCD-Display am I2C-Bus - Horter &amp; Kalb Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/","og_locale":"de_DE","og_type":"article","og_title":"Arduino LCD-Display am I2C-Bus - Horter &amp; Kalb Blog","og_description":"Den Testaufbau vom Beitrag &#8222;Arduino PCF8574 lesen und schreiben&#8220; haben wir erweitert und die I2C-LCD-Anzeige mit an den Bus angeschlossen. Das Beispiel soll zeigen wie leicht es ist unser Textdisplay \u00fcber den I2C-Bus anzusprechen und Texte auszugeben. Beim Testen des... mehr lesen","og_url":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/","og_site_name":"Horter &amp; Kalb Blog","article_published_time":"2014-03-06T10:24:43+00:00","article_modified_time":"2023-01-14T17:42:41+00:00","og_image":[{"width":280,"height":192,"url":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg","type":"image\/jpeg"}],"author":"JH","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"JH","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#article","isPartOf":{"@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/"},"author":{"name":"JH","@id":"https:\/\/www.horter.de\/blog\/#\/schema\/person\/a8a4c3c5d3167dce7c7d31df6088b5d2"},"headline":"Arduino LCD-Display am I2C-Bus","datePublished":"2014-03-06T10:24:43+00:00","dateModified":"2023-01-14T17:42:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/"},"wordCount":402,"commentCount":0,"publisher":{"@id":"https:\/\/www.horter.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage"},"thumbnailUrl":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg","articleSection":["Arduino"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/","url":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/","name":"Arduino LCD-Display am I2C-Bus - Horter &amp; Kalb Blog","isPartOf":{"@id":"https:\/\/www.horter.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage"},"image":{"@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage"},"thumbnailUrl":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg","datePublished":"2014-03-06T10:24:43+00:00","dateModified":"2023-01-14T17:42:41+00:00","breadcrumb":{"@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#primaryimage","url":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg","contentUrl":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2014\/03\/I2C-LCD_Gateway_Montage.jpg","width":280,"height":192},{"@type":"BreadcrumbList","@id":"https:\/\/www.horter.de\/blog\/arduino-lcd-anzeige-ueber-i2c-bus-ansteuern\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/www.horter.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Arduino LCD-Display am I2C-Bus"}]},{"@type":"WebSite","@id":"https:\/\/www.horter.de\/blog\/#website","url":"https:\/\/www.horter.de\/blog\/","name":"Horter & Kalb Blog","description":"SPS, I2C und mehr","publisher":{"@id":"https:\/\/www.horter.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.horter.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.horter.de\/blog\/#organization","name":"Horter & Kalb Blog","url":"https:\/\/www.horter.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.horter.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2026\/01\/hoka_Icon_400x400.png","contentUrl":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2026\/01\/hoka_Icon_400x400.png","width":400,"height":400,"caption":"Horter & Kalb Blog"},"image":{"@id":"https:\/\/www.horter.de\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.horter.de\/blog\/#\/schema\/person\/a8a4c3c5d3167dce7c7d31df6088b5d2","name":"JH","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.horter.de\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2015\/07\/jhfb.jpg","contentUrl":"https:\/\/www.horter.de\/blog\/wp-content\/uploads\/2015\/07\/jhfb.jpg","caption":"JH"},"url":"https:\/\/www.horter.de\/blog\/author\/j-horter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/posts\/712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/comments?post=712"}],"version-history":[{"count":33,"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/posts\/712\/revisions"}],"predecessor-version":[{"id":28266,"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/posts\/712\/revisions\/28266"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/media\/28268"}],"wp:attachment":[{"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/media?parent=712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/categories?post=712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.horter.de\/blog\/wp-json\/wp\/v2\/tags?post=712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}