{"id":5450,"date":"2019-02-04T11:28:11","date_gmt":"2019-02-04T10:28:11","guid":{"rendered":"https:\/\/www.commander1024.de\/wordpress\/?p=5450"},"modified":"2024-03-06T09:37:40","modified_gmt":"2024-03-06T08:37:40","slug":"analoge-arduino-led-uhr","status":"publish","type":"post","link":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/","title":{"rendered":"&#8222;Analoge&#8220; Arduino LED Uhr"},"content":{"rendered":"\n<p class=\"has-drop-cap\">Mein n\u00e4chstes Bastelprojekt basiert wieder auf der <a rel=\"noreferrer noopener\" aria-label=\"Arduino (\u00f6ffnet in neuem Tab)\" href=\"https:\/\/www.arduino.cc\" target=\"_blank\">Arduino<\/a> Plattform und verwendet auch wieder WS2812B LED Streifen. Diesmal wollte ich die uns\u00e4gliche Funkuhr im Wohnzimmer ersetzen. Wann immer die Batterie zur Neige geht, geht die Uhr in den full-retard Modus und l\u00e4sst die Zeiger minutenlang drehen. Dies geht einher mit nervigen Ger\u00e4uschen. Und sie ist weder schick noch nerdig. <\/p> \n\n\n\n <p> Wie auch schon bei der <a rel=\"noreferrer noopener\" aria-label=\"Fackel (\u00f6ffnet in neuem Tab)\" href=\"https:\/\/www.commander1024.de\/wordpress\/2019\/01\/arduino-led-fackel\/\" target=\"_blank\">Fackel<\/a>, soll auch hier die Technik im fertigen Zustand zu sehen sein, dies l\u00e4sst sich nat\u00fcrlich beim Nachbauen \u00e4ndern. Wieder habe ich zuerst geschaut, ob es hier bereits etwas fertiges gibt. Wozu auch das Rad neu erfinden, wenn sich da schon jemand Gedanken zu gemacht hat? Einen (optisch) richtig schicken Sketch habe ich in der <a rel=\"noreferrer noopener\" aria-label=\"led-ring-clock (\u00f6ffnet in neuem Tab)\" href=\"https:\/\/github.com\/jackw01\/led-ring-clock\" target=\"_blank\">led-ring-clock<\/a> von <a rel=\"noreferrer noopener\" aria-label=\"jackw01 (\u00f6ffnet in neuem Tab)\" href=\"https:\/\/github.com\/jackw01\" target=\"_blank\">jackw01<\/a> gefunden. Allerdings setzt der Sketch einen RTC-Shield voraus, auf den ich nicht wirklich Lust hatte. Erstens muss ich hier vermutlich bei Sommer- und Winterzeitwechsel die Uhr manuell umstellen, au\u00dferdem d\u00fcrfte sie \u00fcber Zeit abdriften. Und je schlechter der Klon der Chinesen ist, desto gr\u00f6\u00dfer \/ schneller d\u00fcrfte der Drift sein. <\/p> \n\n\n\n<h2 class=\"wp-block-heading\">DCF77 vs. NTP<\/h2>\n\n\n\n <p> Um den gleichen, bzw. besseren Komfort zur Kaufl\u00f6sung zuvor zu erhalten, bleibt eigentlich nur die Frage, ob ich lieber DCF77 oder eine Netzwerk- bzw. NTP-basierte L\u00f6sung erarbeiten m\u00f6chte. DCF77 ist ein deutscher Zeitsender, welcher nur in Teilen Europas zu empfangen ist. Au\u00dferdem kennt dieser keine Zeitzonen. Ferner bin ich Systemintegrator mit der Spezialisierung auf Routing und Netzwerk. Meine Pr\u00e4ferenz d\u00fcrfte damit klar sein <span class=\"wp-font-emots-emo-wink\"><\/span> <\/p> \n\n\n\n<h2 class=\"wp-block-heading\">Testsetup f\u00fcr die Codeanpassung<\/h2>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-1920x1080.jpg\" alt=\"Testsetup f\u00fcr die Anpassung des Codes\" class=\"wp-image-5452\" srcset=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-1920x1080.jpg 1920w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-800x450.jpg 800w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-300x169.jpg 300w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-768x432.jpg 768w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-1536x864.jpg 1536w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-2048x1152.jpg 2048w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-2000x1125.jpg 2000w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-1600x900.jpg 1600w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-150x84.jpg 150w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-756x425.jpg 756w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-945x532.jpg 945w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/01\/DSC_0413-600x338.jpg 600w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><figcaption class=\"wp-element-caption\">Testsetup f\u00fcr die Anpassung des Codes<\/figcaption><\/figure>\n\n\n\n <p> Um die Funktionsweise meiner Codeanpassungen testen zu k\u00f6nnen, brauche ich selbstverst\u00e4ndlich wieder eine Entwicklungsplattform. Bestellt habe ich einen Arduino Uno samt Ethernet-Shield (mit W5100 Chipset), da ich annahm, dass die ~30KB Flash auch f\u00fcr dieses Projekt locker ausreichen w\u00fcrden &#8211; dazu aber sp\u00e4ter mehr. Bis der ankommt, verwende ich wieder meinen Mega 2560. <\/p> \n\n\n\n <p> Der Sketch erwartet einen Taster, um &#8218;clockMode&#8216; und &#8218;colorScheme&#8216; umschalten zu k\u00f6nnen. Der lag im Originalcode auf PIN 4 (SPI), dieser wird allerdings vom Ethernet-Shield verwendet. Somit habe ich ihn in der &#8218;constants.h&#8216; auf PIN 5 ge\u00e4ndert. F\u00fcr LED Data verwende ich weiterhin Pin 3. Zur Helligkeitssteuerung wird ein Drehpotentiometer an A0 erwartet. Dieser sollte nicht frei &#8222;in der Luft h\u00e4ngen&#8220;, da er sonst als Antenne dient, und sich zuf\u00e4llige, nicht nachvollziehbare Werte einf\u00e4ngt. Wenn kein Poti zur Verf\u00fcgung steht, sollte auch ein einfacher Widerstand gegen 5V funktionieren. Und sehr wichtig f\u00fcr den Ethernet-Part ist nat\u00fcrlich auch noch die MAC-Adresse des Shields. Schlie\u00dflich sollte man noch die Anzahl der LEDs angeben. Somit ergibt sich dieser ge\u00e4nderte Passus in der &#8218;constants.h&#8216;. <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp\"><span class=\"hljs-comment\">\/\/ IO Pin Assignments<\/span>\n<span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">uint8_t<\/span> pinLeds = <span class=\"hljs-number\">3<\/span>;\n<span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">uint8_t<\/span> pinButton = <span class=\"hljs-number\">5<\/span>;\n<span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">uint8_t<\/span> pinBrightness = <span class=\"hljs-number\">0<\/span>;\n\n<span class=\"hljs-comment\">\/\/ Define MAC Address<\/span>\nbyte mac&#91;] = {\n    <span class=\"hljs-number\">0xA8<\/span>, <span class=\"hljs-number\">0x61<\/span>, <span class=\"hljs-number\">0x0A<\/span>, <span class=\"hljs-number\">0x10<\/span>, <span class=\"hljs-number\">0x24<\/span>, <span class=\"hljs-number\">0x01<\/span>\n};\n\n<span class=\"hljs-comment\">\/\/ NTP Server to use<\/span>\n<span class=\"hljs-keyword\">char<\/span>* ntp_server = <span class=\"hljs-string\">\"de.pool.ntp.org\"<\/span>;\n\n<span class=\"hljs-comment\">\/\/ Number of LEDs in ring<\/span>\n<span class=\"hljs-keyword\">const<\/span> <span class=\"hljs-keyword\">int<\/span> ledRingSize = <span class=\"hljs-number\">60<\/span>;<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\">Herausschneiden des RTC-Codes<\/h2>\n\n\n\n <p> Eigentlich war das Ersetzen der RTClib Funktionsaufrufe ziemlich trivial. Dennoch musste ich weite Teile der Funktionsweise von TimeLib, RTClib und NtpClientLib durchgehen und zumindest grob verstehen um zu der Erkenntnis zu kommen, dass ich folgende Funktionen ersetzen musste: <\/p> \n\n\n\n<div class=\"wp-block-columns has-2-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp\">year(now()\nmonth(now()\nday(now()\nhour(now()\nminute(now()\nsecond(now()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"C++\" data-shcb-language-slug=\"cpp\"><span><code class=\"hljs language-cpp\">now.year()\nnow.month()\nnow.day()\nnow.hour()\nnow.minute()\nnow.second()<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">C++<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cpp<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div>\n<\/div>\n\n\n\n <p> Der Originalsketch verwendet Funktionen der RTClib, um Werte f\u00fcr aktuelles Jahr \/ Minute \/ Sekunde etc aus der aktuellen Zeit zu extrahieren. Mein Sketch verwendet die Timelib f\u00fcr diese Funktionalit\u00e4t. Die NtpClientLib speist die Zeit beim setup einmal ein (und refresht sie alle 1800s), w\u00e4hrend der Arduino-interne Timer die Zeit weiterlaufen l\u00e4sst. <\/p> \n\n\n\n<h2 class=\"wp-block-heading\">Funktioniert die Uhr nun?<\/h2>\n\n\n\n <p> Nun war der Code augenscheinlich funktional, die seriellen Debugausgaben lieferten \u00fcber l\u00e4ngere Laufzeiten hinweg korrekte und konsistente Zeitangaben. Auch der NTP resync findet nun alle halbe Stunde statt. <\/p> \n\n\n\n<figure class=\"wp-block-image size-medium\"><a href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-800x450.jpg\" alt=\"Arduino Uhr mit der Zielhardware und 60-LED-Ring\" class=\"wp-image-5489\" srcset=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-800x450.jpg 800w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-1920x1080.jpg 1920w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-300x169.jpg 300w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-768x432.jpg 768w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-1536x864.jpg 1536w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-2048x1152.jpg 2048w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-2000x1125.jpg 2000w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-1600x900.jpg 1600w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-150x84.jpg 150w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-756x425.jpg 756w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-945x532.jpg 945w, https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/DSC_0432-600x338.jpg 600w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><figcaption class=\"wp-element-caption\">Arduino Uhr mit der Zielhardware und 60-LED-Ring<\/figcaption><\/figure>\n\n\n\n <p> Aber es gab einen Bug, der sich auf 2 unterschiedliche Weisen manifestierte: <\/p> \n\n\n\n<ol class=\"wp-block-list\">\n<li>Der Stunden-&#8222;Zeiger&#8220; geht von xx:00:00 &#8211; xx:01:00 aus.<\/li>\n\n\n\n<li>Der Minuten-&#8222;Zeiger&#8220; geht einmal pro Minute f\u00fcr eine Sekunde aus, wobei die jeweilige absolute Sekunde des Ereignisses driftet.<\/li>\n<\/ol>\n\n\n\n <p> Ich habe mich tiefer in das Hasenloch hineingewagt und konnte das Problem auf die Funktionen &#8218;minutePosition()&#8216; und &#8218;hourPosition()&#8216; eingrenzen. Denn eine Multiplikation mit 0 ist immer null. Gefixt habe ich das auf die gleiche schmutzige Variante wie es jackw01 bereits f\u00fcr die Sekunden tat: <\/p> \n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"Diff\" data-shcb-language-slug=\"diff\"><span><code class=\"hljs language-diff\"><span class=\"hljs-deletion\">-               return hourt + mapFloat(minute(now()), 0.0, 59.0, 0.0, (ledRingSize \/ 12.0) - 1.0);<\/span>\n<span class=\"hljs-addition\">+               return hourt + mapFloat(minute(now()) + 0.001, 0.0, 59.0, 0.0, (ledRingSize \/ 12.0) - 1.0);<\/span>\n\n<span class=\"hljs-deletion\">-               return hourt + mapFloat(minute(now()), 0, 59, 0, (ledRingSize \/ 24.0) - 1.0);<\/span>\n<span class=\"hljs-addition\">+               return hourt + mapFloat(minute(now()) + 0.001, 0, 59, 0, (ledRingSize \/ 24.0) - 1.0);<\/span>\n\n<span class=\"hljs-deletion\">-               (float)minute(now()) + ((1.0 \/ 60.0) * (float)second(now())), 0.0, 59.0, 0.0, (float)ledRingSize<\/span>\n<span class=\"hljs-addition\">+               (float)minute(now()) + ((0.001 + 1.0 \/ 60.0) * (float)second(now())), 0.0, 59.0, 0.0, (float)ledRingSize<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">Diff<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">diff<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n <p> Den vollst\u00e4ndigen &#8211; nun korrekt funktionierenden &#8211; Code findet Ihr in meinem <a href=\"https:\/\/git.commander1024.de\/Commander1024\/led-ring-clock-ntp\" target=\"_blank\" rel=\"noreferrer noopener\">git Repository<\/a>. <\/p> \n\n\n\n <p> Der Vollst\u00e4ndigkeit halber steht das .zip mit dem Code auch hier zum Download bereit. <\/p> \n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-4ccf8256-2f06-46a7-9c7e-1816b3be64e6\" href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/led-ring-clock-ntp.zip\">led-ring-clock-ntp<\/a><a href=\"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/led-ring-clock-ntp.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-4ccf8256-2f06-46a7-9c7e-1816b3be64e6\">Herunterladen<\/a><\/div>\n\n\n\n <p> Den eigentlichen Bau der Uhr dokumentiere ich dann in einem <a href=\"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/bau-der-analogen-uhr\/\">weiteren Artikel<\/a>, da dieser schon recht lang ist. <br \/>  <\/p> \n","protected":false},"excerpt":{"rendered":" <p> Mein n\u00e4chstes Bastelprojekt basiert wieder auf der Arduino Plattform und verwendet auch wieder WS2812B LED Streifen. Diesmal wollte ich die uns\u00e4gliche Funkuhr im Wohnzimmer ersetzen. Wann immer die Batterie zur Neige geht, geht die Uhr in den full-retard Modus und l\u00e4sst die Zeiger minutenlang drehen. Dies geht einher mit nervigen Ger\u00e4uschen. Und sie ist weder&hellip; <\/p> \n","protected":false},"author":1,"featured_media":5500,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[299,474,6,10],"tags":[403,373,445,398,450,379,449,446],"class_list":["post-5450","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-do-it-yourself","category-hardware","category-software","tag-arduino","tag-hardware","tag-led","tag-netzwerk","tag-ntp","tag-software","tag-uhr","tag-ws2812b","comments-open","has-comments"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>&quot;Analoge&quot; Arduino LED Uhr &#8211; Commander1024<\/title>\n<meta name=\"description\" content=\"Mein n\u00e4chstes Projekt verwendet wieder die Arduino Plattform und WS2812B LED Streifen. Diesmal wollte ich die Uhr im Wohnzimmer ad\u00e4quat ersetzen.\" \/>\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.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marcus Scholz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/\"},\"author\":{\"name\":\"Marcus Scholz\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\"},\"headline\":\"&#8222;Analoge&#8220; Arduino LED Uhr\",\"datePublished\":\"2019-02-04T10:28:11+00:00\",\"dateModified\":\"2024-03-06T08:37:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/\"},\"wordCount\":727,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\"},\"image\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/workplace-uhr-scaled.jpg\",\"keywords\":[\"Arduino\",\"Hardware\",\"LED\",\"Netzwerk\",\"NTP\",\"Software\",\"Uhr\",\"WS2812B\"],\"articleSection\":[\"Arduino\",\"Do-It-Yourself\",\"Hardware\",\"Software\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/\",\"name\":\"\\\"Analoge\\\" Arduino LED Uhr &#8211; Commander1024\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/workplace-uhr-scaled.jpg\",\"datePublished\":\"2019-02-04T10:28:11+00:00\",\"dateModified\":\"2024-03-06T08:37:40+00:00\",\"description\":\"Mein n\u00e4chstes Projekt verwendet wieder die Arduino Plattform und WS2812B LED Streifen. Diesmal wollte ich die Uhr im Wohnzimmer ad\u00e4quat ersetzen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/workplace-uhr-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/workplace-uhr-scaled.jpg\",\"width\":2560,\"height\":1224,\"caption\":\"Arbeitsplatz\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/2019\\\/02\\\/analoge-arduino-led-uhr\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"&#8220;Analoge&#8221; Arduino LED Uhr\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/\",\"name\":\"Dem Commander1024 sein Blog\",\"description\":\"A Network Engineer&#039;s life\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/#\\\/schema\\\/person\\\/aebb61d9f57867e2234becde6d99da8d\",\"name\":\"Marcus Scholz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\",\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\",\"width\":1707,\"height\":2560,\"caption\":\"Marcus Scholz\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/Underground-Tour-89-scaled.jpg\"},\"description\":\"Seit Kindheitstagen ist der Computer sein Begleiter. Was mit Linux anfing, wurde 2005 ein\\\/e Beruf\\\/ung, die weit \u00fcber den Arbeitsplatz hinausgeht. Durch stetige Weiterentwicklung fasste er auch im *BSD Segment Fu\u00df und bietet mittlerweile professionelle L\u00f6sungen im Bereich Hosting, Networking und Infrastruktur an. Als Ausgleich besch\u00e4ftigt er sich neben Computerspielen mit der Fotografie.\",\"sameAs\":[\"https:\\\/\\\/www.commander1024.de\",\"https:\\\/\\\/www.facebook.com\\\/Commander1024\",\"https:\\\/\\\/x.com\\\/Commander1024\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCG_WzkCMycoSH7lEcvKHnmA\"],\"url\":\"https:\\\/\\\/www.commander1024.de\\\/wordpress\\\/author\\\/commander1024\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\"Analoge\" Arduino LED Uhr &#8211; Commander1024","description":"Mein n\u00e4chstes Projekt verwendet wieder die Arduino Plattform und WS2812B LED Streifen. Diesmal wollte ich die Uhr im Wohnzimmer ad\u00e4quat ersetzen.","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.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/","twitter_misc":{"Verfasst von":"Marcus Scholz","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#article","isPartOf":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/"},"author":{"name":"Marcus Scholz","@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d"},"headline":"&#8222;Analoge&#8220; Arduino LED Uhr","datePublished":"2019-02-04T10:28:11+00:00","dateModified":"2024-03-06T08:37:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/"},"wordCount":727,"commentCount":2,"publisher":{"@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d"},"image":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/workplace-uhr-scaled.jpg","keywords":["Arduino","Hardware","LED","Netzwerk","NTP","Software","Uhr","WS2812B"],"articleSection":["Arduino","Do-It-Yourself","Hardware","Software"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/","url":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/","name":"\"Analoge\" Arduino LED Uhr &#8211; Commander1024","isPartOf":{"@id":"https:\/\/www.commander1024.de\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#primaryimage"},"image":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/workplace-uhr-scaled.jpg","datePublished":"2019-02-04T10:28:11+00:00","dateModified":"2024-03-06T08:37:40+00:00","description":"Mein n\u00e4chstes Projekt verwendet wieder die Arduino Plattform und WS2812B LED Streifen. Diesmal wollte ich die Uhr im Wohnzimmer ad\u00e4quat ersetzen.","breadcrumb":{"@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#primaryimage","url":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/workplace-uhr-scaled.jpg","contentUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2019\/02\/workplace-uhr-scaled.jpg","width":2560,"height":1224,"caption":"Arbeitsplatz"},{"@type":"BreadcrumbList","@id":"https:\/\/www.commander1024.de\/wordpress\/2019\/02\/analoge-arduino-led-uhr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.commander1024.de\/wordpress\/"},{"@type":"ListItem","position":2,"name":"&#8220;Analoge&#8221; Arduino LED Uhr"}]},{"@type":"WebSite","@id":"https:\/\/www.commander1024.de\/wordpress\/#website","url":"https:\/\/www.commander1024.de\/wordpress\/","name":"Dem Commander1024 sein Blog","description":"A Network Engineer&#039;s life","publisher":{"@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.commander1024.de\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":["Person","Organization"],"@id":"https:\/\/www.commander1024.de\/wordpress\/#\/schema\/person\/aebb61d9f57867e2234becde6d99da8d","name":"Marcus Scholz","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg","url":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg","contentUrl":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg","width":1707,"height":2560,"caption":"Marcus Scholz"},"logo":{"@id":"https:\/\/www.commander1024.de\/wordpress\/wp-content\/uploads\/2020\/11\/Underground-Tour-89-scaled.jpg"},"description":"Seit Kindheitstagen ist der Computer sein Begleiter. Was mit Linux anfing, wurde 2005 ein\/e Beruf\/ung, die weit \u00fcber den Arbeitsplatz hinausgeht. Durch stetige Weiterentwicklung fasste er auch im *BSD Segment Fu\u00df und bietet mittlerweile professionelle L\u00f6sungen im Bereich Hosting, Networking und Infrastruktur an. Als Ausgleich besch\u00e4ftigt er sich neben Computerspielen mit der Fotografie.","sameAs":["https:\/\/www.commander1024.de","https:\/\/www.facebook.com\/Commander1024","https:\/\/x.com\/Commander1024","https:\/\/www.youtube.com\/channel\/UCG_WzkCMycoSH7lEcvKHnmA"],"url":"https:\/\/www.commander1024.de\/wordpress\/author\/commander1024\/"}]}},"_links":{"self":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts\/5450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/comments?post=5450"}],"version-history":[{"count":24,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts\/5450\/revisions"}],"predecessor-version":[{"id":8551,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/posts\/5450\/revisions\/8551"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/media\/5500"}],"wp:attachment":[{"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/media?parent=5450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/categories?post=5450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.commander1024.de\/wordpress\/wp-json\/wp\/v2\/tags?post=5450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}