{"id":4782,"date":"2018-06-26T22:26:09","date_gmt":"2018-06-26T22:26:09","guid":{"rendered":"http:\/\/fambach.net\/?p=1052"},"modified":"2023-10-14T06:47:36","modified_gmt":"2023-10-14T06:47:36","slug":"ssd1306-monochrom-oled-128x64-i2c-2-2","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/","title":{"rendered":"ESP8266 SSD1306 Monochromatic OLED 128\u00d764 I2C"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 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\/ssd1306-monochrom-oled-128x64-i2c-2-2\/#Versuchsaufbau\" title=\"Versuchsaufbau\">Versuchsaufbau<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/#Bibliothek\" title=\"Bibliothek\">Bibliothek<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/#Programmierung\" title=\"Programming\">Programming<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/#Beispielprogram\" title=\"Beispielprogram\">Beispielprogram<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/#Die_Genaue_Uhr\" title=\"Die Genaue Uhr\">Die Genaue Uhr<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/#Verwandte_Beitrage\" title=\"Related Posts\">Related Posts<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/#Quellen\" title=\"Sources\">Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>Ich habe mir zwei fast baugleiche 128&#215;64 Displays gekauft um diese zu testen. Diese werden \u00fcber den Wire (I2C) Bus angesteuert. Es gibt aber auch Varianten f\u00fcr den SPI Bus, die hier aber nicht behandelt werden.<\/p>\n\n\n\n<p>Die beiden Displays haben auf den ersten Blick nur zwei offensichtliche Unterschiede. Erstens sie haben unterschiedlich gro\u00dfe Bohrl\u00f6cher und zweitens bei ihnen ist VCC und GND vertauscht. Also aufpassen beim anschliessen eines \u00e4hnlichen displays, sonst raucht&#8217;s.<br>\nAls ich sie das erstes Mal leuchteten sah, fiel mir noch auf, dass das eine Display blaue Schrift hat und das andere wei\u00dfe. Wenn man den schnellen Ali fragt, findet man noch weitere Variationen.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Versuchsaufbau\"><\/span>Versuchsaufbau<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Zuerst habe ich mal einen Testaufbau mit einem NodeMCU V3 gesteckt. Die Spannungsversorgung hole ich mir vom Node. Die Kommunikation habe ich an die Pins D5 und D6 angeschlossen. Die Schaltung sieht wie folgt aus:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Versuchsaufbau.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"591\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Versuchsaufbau.jpg\" alt=\"\" class=\"wp-image-1057\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Versuchsaufbau.jpg 600w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Versuchsaufbau-300x296.jpg 300w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Bibliothek\"><\/span>Bibliothek<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Da ich andere Pins f\u00fcr den Wirebus verwende als die standard Arduino und ich feststellen musste, dass in der entsprechenden <a href=\"https:\/\/github.com\/adafruit\/Adafruit_SSD1306\/blob\/master\/Adafruit_SSD1306.cpp\">Adaruit Libray<\/a> zum einen der Wirebus hardcodiert ist und zum anderen diese f\u00fcr Displays mit Resetanschluss gedacht ist. Habe ich mich, ohne weiter zu forschen f\u00fcr die <a href=\"https:\/\/github.com\/ThingPulse\/esp8266-oled-ssd1306\">ThingPulse Bibliothek<\/a> entschieden. Diese kann entweder \u00fcber GIT herunter geladen werden oder \u00fcber den LibraryManager in der Arduino Gui installiert werden.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/02\/dht11bug1-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"541\" height=\"220\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/02\/dht11bug1-1.png\" alt=\"\" class=\"wp-image-350\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/02\/dht11bug1-1.png 541w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/02\/dht11bug1-1-300x122.png 300w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/a><\/figure>\n\n\n\n<p>Nach SSD suchen und die von Daniel Eichorn ausw\u00e4hlen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplayLibman2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"784\" height=\"440\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplayLibman2.png\" alt=\"\" class=\"wp-image-1058\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplayLibman2.png 784w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplayLibman2-300x168.png 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplayLibman2-768x431.png 768w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/a><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Programmierung\"><\/span>Programming<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Beispielprogram\"><\/span>Beispielprogram<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Als Testprogramm nutze ich mir die Uhr aus dem Beispielen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplaySelExamlpe.png\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"443\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplaySelExamlpe.png\" alt=\"\" class=\"wp-image-1059\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplaySelExamlpe.png 669w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/06\/SSD1306OledDisplaySelExamlpe-300x199.png 300w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/a><\/figure>\n\n\n\n<p>Noch die richigen Pins eingetragen, hier ist der Code:<\/p>\n\n\n\n<p><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/ESP8266_SSD1306ClockDemo.zip\">ESP8266_SSD1306ClockDemo<\/a><\/p>\n\n\n\n<p>Kompiliert und den ESP programmiert und so sah es aus.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Analoganzeiger.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Analoganzeiger-150x150.jpg\" alt=\"\" class=\"wp-image-1053\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Digitalanzeige.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/SD1306OledDisplay128x64WithoutReset_Digitalanzeige-150x150.jpg\" alt=\"\" class=\"wp-image-1054\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Die_Genaue_Uhr\"><\/span>Die Genaue Uhr<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Damit die Uhr auch stimmt habe ich kurzer Hand nocht die NTP Server abfrage eingebaut.<\/p>\n\n\n\n<p><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/06\/ESP8266_SSD1306ClockDemoNTP.zip\">ESP8266_SSD1306ClockDemoNTP<\/a><\/p>\n\n\n\n<p>ein Bild er\u00fcbrigt sich, da sich hieran nichts ge\u00e4ndert hat.<\/p>\n\n\n\n<p>Nachtrag 27.06.2018: Ich habe einige fertige NTP Clients gefunden, ihre Verwendung ist wahrscheinlich leichter als als meine kleinst Entwicklung aus zusammen gest\u00fcckelten Quellen.<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/github.com\/aharshac\/EasyNTPClient\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/github.com\/gmag11\/NtpClient\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verwandte_Beitrage\"><\/span>Related Posts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"display-posts-listing\">\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp-web-serial-bibliothek\/\">ESP WEB Serial Library<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp01-relay-platinen-2\/\">ESP01 \u2013 DHT11 Temperature and Humidity Sensor Boards<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/customkeyboard\/\">CustomKeyboard Library<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp8266-32-wifi-manager\/\">ESP8266\/32 WiFi Manager.<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-esp01-relais-modul\/\">ESP01 \u2013 Relay Board<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/neo-6m-gps-logger-shield-v1-0\/\">NEO-6M GPS Logger Shield V1.0<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/zumo-v1-2\/\">Zumo V1.2<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp8266-rtos-sdk\/\">ESP8266 RTOS SDK<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks-2\/\">Espressif IDF \u2013 GPIOs<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/\">Espressif IDF \u2013 Tasks<\/a><\/div>\n<\/div>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Sources<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/github.com\/aharshac\/EasyNTPClient\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/github.com\/gmag11\/NtpClient\n<\/div><\/figure>","protected":false},"excerpt":{"rendered":"<p>Ich habe mir zwei fast baugleiche 128&#215;64 Displays gekauft um diese zu testen. Diese werden \u00fcber den Wire (I2C) Bus angesteuert. Es gibt aber auch Varianten f\u00fcr den SPI Bus, die hier aber nicht behandelt werden. Die beiden Displays haben auf den ersten Blick nur zwei offensichtliche Unterschiede. Erstens sie haben unterschiedlich gro\u00dfe Bohrl\u00f6cher und &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c-2-2\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"ESP8266 SSD1306 Monochrom OLED 128&#215;64 I2C\"<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a>","protected":false},"author":1,"featured_media":1053,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[214,189,190,193,200],"tags":[138],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/4782"}],"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=4782"}],"version-history":[{"count":2,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/4782\/revisions"}],"predecessor-version":[{"id":9753,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/4782\/revisions\/9753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/1053"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=4782"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=4782"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=4782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}