{"id":4029,"date":"2019-06-05T07:55:48","date_gmt":"2019-06-05T07:55:48","guid":{"rendered":"http:\/\/fambach.net\/?p=4029"},"modified":"2019-06-21T12:35:26","modified_gmt":"2019-06-21T12:35:26","slug":"arduino-schach-uhr","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/arduino-schach-uhr\/","title":{"rendered":"Arduino Chess Clock"},"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-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Fakten\" title=\"Facts\">Facts<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Teileliste\" title=\"Parts list\">Parts list<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Anwendungsbereiche\" title=\"Areas of application\">Areas of application<\/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\/balken-im-crystal-lcd-retro-style\/#Ansichten\" title=\"Views\">Views<\/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\/balken-im-crystal-lcd-retro-style\/#Analyse\" title=\"Analyse\">Analyse<\/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\/balken-im-crystal-lcd-retro-style\/#Programmierung\" title=\"Programming\">Programming<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Bibliotheken\" title=\"Libraries\">Libraries<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Testprogramm\" title=\"Test programme\">Test programme<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Probleme\" title=\"Problems\">Problems<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Komische_Fragmente_in_den_Benutzerdefinierten_Zeichen\" title=\"Komische Fragmente in den Benutzerdefinierten Zeichen\">Komische Fragmente in den Benutzerdefinierten Zeichen<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/#Sonstiges\" title=\"Miscellaneous\">Miscellaneous<\/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\/balken-im-crystal-lcd-retro-style\/#Fazit\" title=\"Conclusion\">Conclusion<\/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\/balken-im-crystal-lcd-retro-style\/#Verwandte_Beitrage\" title=\"Related Posts\">Related Posts<\/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\/balken-im-crystal-lcd-retro-style\/#Quellen\" title=\"Sources\">Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>Beim Mittagessen mit den Kollegen ist mir eine Idee gekommen. Die beiden  spielen Schach w\u00e4hrend der Mittagspause und um das Ganze etwas spannender zu gestalten habe ich eine Schachuhr vorgeschlagen.<\/p>\n\n\n\n<p>Somit ist die Idee entstanden eine Schachuhr bestehend aus zwei Anzeigen f\u00fcr die jeweilige Uhrzeit, zwei Kn\u00f6pfen zum Starten und Stoppen der Uhrzeit sowie einen Arduino f\u00fcr die Steuerung zu bauen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Funktionsweise der Uhr<\/h2>\n\n\n\n<p>Eine Schachuhr besteht meist aus zwei Uhrwerken die gegeneinander verriegelt sind. Jedes Uhrwerk z\u00e4hlt die Zeit die ein Spieler braucht, um seinen Zug zu machen. Ist ein Spieler mit seinen Zug fertig, dr\u00fcckt er einen Knopf, die eigenen Uhr stoppt und die des Gegners z\u00e4hlt weiter.<\/p>\n\n\n\n<p>Ich hatte gleich viele zus\u00e4tzliche Ideen f\u00fcr solch eine Uhr und wie das mit gro\u00dfen Mengen an Ideen so ist, beleiben diese meist eine und werden nie umgesetzte. Also habe ich mich entschlossen einen m\u00f6glichst einfachen Aufbau zu w\u00e4hlen und die &#8222;Features&#8220; auf sp\u00e4ter zu verschieben. F\u00fcr die Schachuhr ben\u00f6tige ich folgende Bestandteile:<\/p>\n\n\n\n<ul><li>Arduino Uno oder \u00e4hnlich<\/li><li>Prototyp Platine<\/li><li>2x SDD 1306 Display<\/li><li>2x Taster (beliebig)<\/li><li>Ein paar Pinheader Kabel f\u00fcr den Prototypen<\/li><\/ul>\n\n\n\n<p>Nachfolgende eine kurze Beschreibung der Funktions:<\/p>\n\n\n\n<ul><li>Ein Spieler muss als erstes seine Taste dr\u00fccken, um zu starten (Sagen wir Spieler 1 f\u00e4ngt an).<\/li><li>Ist Spieler 1 mit seinem Zug fertig dr\u00fcckt er seinen Knopf (Taster 1)<\/li><li>Die Uhr von Spieler 1 h\u00e4lt an und die von Spieler 2 l\u00e4uft los.<\/li><li>Ist Spieler 2 mit seinem Zug fertig, dr\u00fcckt er seinen Knopf (Taster 2).<\/li><li>Die Uhr von Spieler 2 h\u00e4lt an und die von Spieler 1 l\u00e4uft weiter<\/li><li>&#8230; usw ein langes dr\u00fccken (5 sec) beider Tasten setzt beide Uhren auf den Start (12:00 Uhr) zur\u00fcck. <\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Vorarbeiten<\/h2>\n\n\n\n<p>Ich verwenden zwei SSD 1306 128&#215;64 Pixel Displays. Wenn man keine Displays mit unterschiedlicher Adresse besitzt ist ein kleiner umbau des 2. Displays n\u00f6tig. In meinem Fall war es n\u00f6tig einen SMD Widerstand auf der R\u00fcckseite um zu l\u00f6te. Damit wird die Adresse des Displays von 0x3C auf 0x3D ge\u00e4ndert:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"538\" height=\"495\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/image.png\" alt=\"\" class=\"wp-image-4032\"\/><figcaption>Bild des Herstellers <\/figcaption><\/figure>\n\n\n\n<p>Praktischer sind Displays mit Jumpern, da die SMD l\u00f6terei ein ganzsch\u00f6nes &#8222;gefriemel&#8220; ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Entwicklung<\/h2>\n\n\n\n<p>Hier m\u00fcssen einige Komponenten und Bibliotheken zusammen arbeiten, deshalb bin ich in zwei Schritten vorgegangen. Als erstes wurde ein einfacher Versuchsaubau mit einem Display realisiert. Dieser wurde dann im zweiten Schritt  auf die beschriebene Gesamtfunktionalit\u00e4t erweitert.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Erster Display-Test<\/h3>\n\n\n\n<p>Im ersten Schritt wird \u00fcber einen Timer das Display angesteuert, ein Taster erm\u00f6glicht das Zur\u00fccksetzten auf 0. Hier galt es heraus zu finden wie das Display die Analoge Uhr anzeigt und wie der Timer zu implementieren ist.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Libraries<\/h4>\n\n\n\n<p>F\u00fcr die Display Ansteuerung werden die folgenden beiden Bibliotheken verwendet. Ich habe das SSD1306 Display schon einmal getestet den Beitrag findet ihr <a href=\"https:\/\/www.fambach.net\/en\/ssd1306-monochrom-oled-128x64-i2c\/\">hier<\/a>.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/adafruit\/Adafruit-GFX-Library\">https:\/\/github.com\/adafruit\/Adafruit-GFX-Library<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/adafruit\/Adafruit_SSD1306\/blob\/master\/Adafruit_SSD1306.cpp\">https:\/\/github.com\/adafruit\/Adafruit_SSD1306\/blob\/master\/Adafruit_SSD1306.cpp<\/a><\/p>\n\n\n\n\n\n<h4 class=\"wp-block-heading\">Verkabelung<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306DisplayTest_bb.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"1185\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306DisplayTest_bb.png\" alt=\"Verdrahtung Arduino Uno mit einem Display und einem Taster\" class=\"wp-image-4057\"\/><\/a><figcaption>Verdrahtung Arduino Uno mit einem Display und einem Taster<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Programming<\/h4>\n\n\n\n<p>Nachfolgend der Link zum Download des fertigen Programms. Evtl. muss die Adresse des Displays angepasst werden. <\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306DisplayTest.zip\">ChessWatchArduino2SSD1306DisplayTest<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306DisplayTest.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">So sieht es aus<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"2194\" height=\"2043\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/wp-15597069094045543122924637385537.jpg\" alt=\"\" class=\"wp-image-4044\"\/><figcaption>Eine Uhr, ein Taster auf Prototypplatine<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Mit zwei Displays<\/h3>\n\n\n\n<p>Es folgt die Ansteuerung des 2. Displays. Der zweite Taster  vervollst\u00e4ndigt die Schachuhr. Zus\u00e4tzlich kommt der Wechsel der beiden Timer und die Reset-Funktion hinzu.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Libraries<\/h4>\n\n\n\n<p>Die Bibliotheken sind die Gleichen. Ich musste jedoch die Adafruit_SSD1206.h anpassen. Damit f\u00fcr beide Displays nur einmal der Speicher f\u00fcr den Bildschirm reserviert wird, habe ich die buffer Variable auf static gesetzt. Der Grund hierf\u00fcr ist, ich hatte versucht die Bibliothek so zu verwenden wie sie ist, allerdings reichte der Speicher meines Arduino Uno&#8217;s daf\u00fcr nicht aus.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Verkabelung<\/h4>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306Prototyp_bb.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"915\" height=\"1293\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306Prototyp_bb.png\" alt=\"Arduino mit zwei Displays und zwei Schaltern\" class=\"wp-image-4059\"\/><\/a><figcaption>Arduino mit zwei Displays und zwei Schaltern<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Programming<\/h4>\n\n\n\n<p>Hier kann das Programm herunter geladen werden, ich habe es um den zweiten Taster sowie das zweite Display erweitert und hierf\u00fcr die Funktionen noch etwas angepasst.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306Prototyp.zip\">ChessWatchArduino2SSD1306Prototyp<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306Prototyp.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">So sieht es aus<\/h4>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/photos.app.goo.gl\/kKm4CsZJqG3E2mxX8\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Serienreife \ud83d\ude09<\/h2>\n\n\n\n<p>Nach prototypischen Tests mit den Kollegen habe ich alles mal in ein Geh\u00e4use gepackt. Bei den Tests hat sich herausgestellt, dass eine Stop Taste von Vorteil w\u00e4re. Diesen plus einen An\/Aus Schalter habe ich hinzugef\u00fcgt. Zus\u00e4tzlich gibts ein Batteriefach.<\/p>\n\n\n\n<p>Da die Taster manchmal nur z\u00f6gerlich reagieren, h\u00e4tte ich diese gerne per Interrupt abgefragt. Der Arduino bietet nur zwei Interrupte diese liegen auf Pin 2 und 3. Leider habe ich die Kabel f\u00fcr die Taster schon angel\u00f6tet und das Geh\u00e4use verklebt, so dass ich zur Besserung nur das Delay von 200 Millisekunden raus genommen habe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">So sieht es nun aus<\/h3>\n\n\n\n<ul class=\"wp-block-gallery columns-1 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"2580\" height=\"1882\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/20190612_213159.jpg\" alt=\"\" data-id=\"4185\" data-link=\"https:\/\/fambach.net\/arduino-schach-uhr\/20190612_213159\/\" class=\"wp-image-4185\"\/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"2206\" height=\"1546\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/20190612_213228.jpg\" alt=\"\" data-id=\"4186\" data-link=\"https:\/\/fambach.net\/arduino-schach-uhr\/20190612_213228\/\" class=\"wp-image-4186\"\/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"1911\" height=\"1958\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/20190612_213303.jpg\" alt=\"\" data-id=\"4187\" data-link=\"https:\/\/fambach.net\/arduino-schach-uhr\/20190612_213303\/\" class=\"wp-image-4187\"\/><\/figure><\/li><\/ul>\n\n\n\n<p>Hier der endg\u00fcltige Code:<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306PrototypV2-1.zip\">ChessWatchArduino2SSD1306PrototypV2<\/a><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2019\/06\/ChessWatchArduino2SSD1306PrototypV2-1.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Die Uhr funktioniert auch wenn es sicherlich besser geht. Nachdem  ich sie in ein Geh\u00e4use eingebaut habe sieht sie auch etwas besser aus ;). <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ausblick<\/h2>\n\n\n\n<p>Hier noch ein paar Ideen die ich hatte, aber wegen Zeitmangel nicht umgesetzt habe:<\/p>\n\n\n\n<ul><li>Man kann eine maximale Zeit vorgeben<ul><li>Auspr\u00e4gung 1 ab dann gib es minus Punkte<\/li><li>Auspr\u00e4gung 2 der Zug ist um<\/li><li>Zusatz: Die jeweilige Uhr warnt n Minuten vor Ablauf der Zeit<ul><li>ein Bildschirm flackert<\/li><li>es erklingt ein Ton<\/li><\/ul><\/li><\/ul><\/li><li>Ticken der Sekunden auf Buzzer\/Lautsprecher ausgeben<\/li><li>Umsetzung mit einem ESP anstatt eine Arduinos und einer Statistik Website welche die Zeiten auswertet. Per Handy (WLAN) ist diese anzeigbar.<\/li><li>...<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Probleme\"><\/span>Problems<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Reset l\u00f6st selbst aus<\/h3>\n\n\n\n<p>Ich hatte das Problem bei pinMode(RESET1, INPUT), dass der Reset manchmal einfach so ausgel\u00f6st hat. Deshalb habe ich den Code auf pinMode(RESET1, INPUT_PULLUP) umgestellt und frage den Taster mit !digitalRead(RESET1) ab. Dies funktioniert bis jetzt ohne Fehler.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Display zeigt nichts an oder Init schl\u00e4gt fehl<\/h3>\n\n\n\n<p>Der Arduino Uno hat nicht gen\u00fcgend Speicher um beide Displays zu betreiben. Ich habe in Adafruit SSD1306 Lib in den Projekt Ordnern ein paar \u00c4nderungen vorgenommen, so dass der Bilschirm buffer nur einmal initialisiert wird (static uint8_t *buffer). Dies hat bei mir gereicht um das zweite Display zu betreiben.<\/p>\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<ul class=\"display-posts-listing\">\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/arduino-esp8266-zusatzplatine-6\/\">ESP8266 Colourful Weather Station AZSMZ V1.8<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/d1-mini-shield-rgb-led-einzeln\/\">D1 Mini Shield \u2013 RGB LED (Individual)<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-heltec-cube-cell-board-mit-lora-wan\/\">Preview &#8211; Heltec Cube Cell Board mit LoRa Wan<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-rundes128-zoll-tft-lcd-display\/\">Preview &#8211; Rundes1,28 zoll TFT LCD Display<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/d1-mini-shield-rgb-led\/\">D1 Mini Shield \u2013 RGB LED<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/d1-mini-shield-i2c-connector\/\">D1 Mini Shield \u2013 I2C Connector<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/d1-mini-shield-matrix-led-shield\/\">D1 Mini Shield \u2013 Matrix LED Shield<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/d1-mini-shield-buzzer-pipser\/\">D1 Mini Shield \u2013 Buzzer (Beeper)<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/arduino-vs1053-mp3-audio-shield-mit-tf-karte\/\">Arduino VS1053 MP3 audio shield with TF card<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/\">Bars in Crystal LCD Retro Style<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Sources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/forum.arduino.cc\/index.php?topic=248603.0\">https:\/\/forum.arduino.cc\/index.php?topic=248603.0<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/adafruit\/Adafruit_SSD1306\">https:\/\/github.com\/adafruit\/Adafruit_SSD1306<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/adafruit\/Adafruit-GFX-Library\">https:\/\/github.com\/adafruit\/Adafruit-GFX-Library<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/michaelsarduino.blogspot.com\/2016\/02\/oled-analog-uhr.html\">https:\/\/michaelsarduino.blogspot.com\/2016\/02\/oled-analog-uhr.html<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/bitbank2\/Multi_OLED\">https:\/\/github.com\/bitbank2\/Multi_OLED<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Beim Mittagessen mit den Kollegen ist mir eine Idee gekommen. Die beiden spielen Schach w\u00e4hrend der Mittagspause und um das Ganze etwas spannender zu gestalten habe ich eine Schachuhr vorgeschlagen. Somit ist die Idee entstanden eine Schachuhr bestehend aus zwei Anzeigen f\u00fcr die jeweilige Uhrzeit, zwei Kn\u00f6pfen zum Starten und Stoppen der Uhrzeit sowie einen &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"TFT_eSPI Display Bibliothek\"<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a>","protected":false},"author":1,"featured_media":4064,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[214,178,222,169],"tags":[57,94,46,83],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/4029"}],"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=4029"}],"version-history":[{"count":31,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/4029\/revisions"}],"predecessor-version":[{"id":4201,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/4029\/revisions\/4201"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/4064"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=4029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=4029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=4029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}