{"id":8269,"date":"2022-02-27T22:48:25","date_gmt":"2022-02-27T22:48:25","guid":{"rendered":"https:\/\/www.fambach.net\/?p=8269"},"modified":"2022-03-01T07:50:00","modified_gmt":"2022-03-01T07:50:00","slug":"balken-im-crystal-lcd-retro-style","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/balken-im-crystal-lcd-retro-style\/","title":{"rendered":"Bars in Crystal LCD Retro Style"},"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\/tft_espi-display-bibliothek\/#Zweck\" title=\"Zweck\">Zweck<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/#Kompatibilitat\" title=\"Compatibility\">Compatibility<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/#Controller\" title=\"Controller\">Controller<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/#TFT_Displays\" title=\"TFT Displays\">TFT Displays<\/a><\/li><\/ul><\/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\/tft_espi-display-bibliothek\/#Arduino_Bibliothekar\" title=\"Arduino Bibliothekar\">Arduino Bibliothekar<\/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\/tft_espi-display-bibliothek\/#Git_Download\" title=\"Git Download\">Git Download<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/#Probleme\" title=\"Problems\">Problems<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/#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-9\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/#Andere_Biliotheken\" title=\"Andere Biliotheken\">Andere Biliotheken<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/#Weitere_Quellen\" title=\"Weitere Quellen\">Weitere Quellen<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>Ich bin immer wieder verwundert, dass es doch ein paar Leser hier im Block gibt. Neulich schrieb mich Siegfried an und meinte er m\u00f6chte ein paar Balken auf einem Cristal LCD Display darstellen, ob ich das schon mal gemacht habe. Die Antwort war nein sollte sich aber bald \u00e4ndern. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Facts<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Parts list<\/h3>\n\n\n\n<p>Arduino<a href=\"https:\/\/www.fambach.net\/en\/arduino-uno\/\" data-type=\"post\" data-id=\"447\"> One<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.fambach.net\/en\/arduino-lcd-keypad-shield\/\" data-type=\"post\" data-id=\"1380\">Arduino LCD Shield<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Areas of application<\/h2>\n\n\n\n<ul><li>Darstellungen von Messerwerten in abh\u00e4nigkeit der Zeit<\/li><li>Equilizer visualierung<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Views<\/h2>\n\n\n\n<p>Gibts am Ende \ud83d\ude09 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Analyse<\/h2>\n\n\n\n<p>So ein LCD Display besteht aus mehreren Zeilen und Spalten. In eine Spalten- und Zeilenkombination passt immer genau ein Zeichen. <\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1185\" height=\"498\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/CrystalLCDDisplaRowsCols.jpg\" alt=\"\" class=\"wp-image-8278\"\/><figcaption>LCD Cristal Display &#8211; Aufbau<\/figcaption><\/figure>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<p>Die Pixel eines Zeichens k\u00f6nnen nicht einzeln angesprochen werden, es ist aber m\u00f6glich eigenen Zeichen zu erstellen. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"656\" height=\"546\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/CrystalLCDDisplaCharacters.jpg\" alt=\"\" class=\"wp-image-8276\"\/><figcaption> LCD Cristal Display &#8211; Aufbau eines Zeichens<\/figcaption><\/figure>\n\n\n\n<p>Somit habe ich f\u00fcr jeden F\u00fcllstand ein Zeichen erstellt. Das Leere Zeichen habe ich weggelassen weil bei meinem Display das gleiche wie bei C8 angezeigt wurde und da ich vorher das Display l\u00f6sche, macht es keinen Unterschied.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1120\" height=\"271\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/CrystalLCDDisplaNewCharacters.jpg\" alt=\"\" class=\"wp-image-8277\"\/><figcaption> LCD Cristal Display &#8211; Neue Zeichen f\u00fcr die Balken<\/figcaption><\/figure>\n\n\n\n<p>Um beide Zeilen nutzen zu k\u00f6nnen m\u00fcssen die jeweiligen Ergebnisse zweigeteilt (f\u00fcr mehr Zeilen sind mehr Teilungen n\u00f6tig) werden, ist die untere Zeile voll (also C8) geht es weiter mit der oberen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"406\" height=\"393\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/CrystalLCDDisplaTwoLineBar.jpg\" alt=\"\" class=\"wp-image-8279\"\/><figcaption> LCD Cristal Display &#8211; Balken \u00fcber mehr als eine Zeile<\/figcaption><\/figure>\n\n\n\n<p>Die Werte f\u00fcr jeden Balken halten wir in einem Array vor. Das Array wird dann direkt in die Balken umgewandelt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Programming<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Libraries<\/h3>\n\n\n\n<p>Die Bibliothek zum Display ist bereits in der Arduino GUI enthalten.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;LiquidCrystal.h&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Test programme<\/h3>\n\n\n\n<script>\nvar project = \"sfambach\/arduino\/tree\/master\/projects\/LcdBarChart\";\nvar file = \"\/LcdBarChart.ino\";\nvar test = project + file;\nvar startAt = 7;\nvar endAt = 0;\n\n\ndocument.write('<div a class=\"wp-block-file\" ><a a class=\"wp-block-file__button\" href=\"https:\/\/github.com\/'+project+'\" target=\"_blank\">Link zu Git<\/a>');\ndocument.write('<a a class=\"wp-block-file__button\" href=\"https:\/\/downgit.github.io\/#\/home?url=https:\/\/github.com\/'+project+'\" target=\"_blank\">Download des Projektes mit DownGit<\/a><\/div>');\n\ndocument.write('<div style=\"font-size:1vw\">');\ndocument.write('<script src=\"https:\\\/\\\/gist-it-dot-helloid-roadmap.ew.r.appspot.com\\\/github.com\\\/'+test+'\\?slice='+startAt+':'+endAt+'\"><\\\/script>');\ndocument.write('<\/div>');\n<\/script>\n\n\n\n<p>Das Testprogramm generiert alle 4 Sekunden einen neuen zuf\u00e4lligen Wert. Mit jedem neuen Wert werden die Ergebnisse im Array um eins nach rechts geschoben. Ist das Array voll wird der letzte Wert verworfen.<\/p>\n\n\n\n<p>Und so siehts aus:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Bar Chart on crystal lcd display\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/k7CsoKZ5hLU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><figcaption> LCD Cristal Display -  Funktionsvideo leider etwas lang \ud83d\ude09<\/figcaption><\/figure>\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\">Komische Fragmente in den Benutzerdefinierten Zeichen<\/h3>\n\n\n\n<p>Wenn ich die Reihenfolge im Setup \u00e4nderere, also bevor ich etwas auf dem display ausgegeben habe die Benutzerdefinierten Zeichen hinzuf\u00fcge, bekomme ich diese Fragmente. Ich nehme an das Display Init hat in der Bibliothek noch einen Fehler und erst mit der ersten Ausgabe ist es richtig initialisiert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Miscellaneous<\/h2>\n\n\n\n<p>nix ...<\/p>\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>Nachdem die Funktion des Displays ersteimal klar war und ich wusste dass ich \u00fcber die benutzerdefinierten Zeichen gehen muss, war es fast ein Kinderspiel. Die Daten in einem Array zu organisieren bietet eine gute M\u00f6glichkeit sie sp\u00e4ter zu manipulieren und in Schleifen abzuarbeiten. Ich hoffe es gef\u00e4llt euch, vielen Dank an Siegfried f\u00fcr die Idee, solltet ihr noch Erweiterungsw\u00fcnsche oder Fragen haben lasst einen Kommentar da.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related Posts<\/h2>\n\n\n<ul class=\"display-posts-listing\">\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\/balken-im-crystal-lcd-retro-style\/\">Bars in Crystal LCD Retro Style<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/tft_espi-display-bibliothek\/\">TFT_eSPI Display Library<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Sources<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.arduino.cc\/en\/Reference\/LiquidCrystal\">https:\/\/www.arduino.cc\/en\/Reference\/LiquidCrystal<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/de.wikipedia.org\/wiki\/Fl%C3%BCssigkristallanzeige\">https:\/\/de.wikipedia.org\/wiki\/Fl%C3%BCssigkristallanzeige<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/maxpromer.github.io\/LCD-Character-Creator\/\">https:\/\/maxpromer.github.io\/LCD-Character-Creator\/<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.hackster.io\/jacoslabbert99\/arduino-lcd-icons-custom-characters-548f38\">https:\/\/www.hackster.io\/jacoslabbert99\/arduino-lcd-icons-custom-characters-548f38<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-engineers-garage wp-block-embed-engineers-garage\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"RRlFrLCe2L\"><a href=\"https:\/\/www.engineersgarage.com\/making-custom-characters-on-lcd-using-arduino\/\">Making and displaying Custom characters on lcd with Arduino Uno and 16&#215;2 lcd<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Making and displaying Custom characters on lcd with Arduino Uno and 16&#215;2 lcd&#8221; &#8212; Engineers Garage\" src=\"https:\/\/www.engineersgarage.com\/making-custom-characters-on-lcd-using-arduino\/embed\/#?secret=xIoARxUHex#?secret=RRlFrLCe2L\" data-secret=\"RRlFrLCe2L\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-stefan-039-s-webblog wp-block-embed-stefan-039-s-webblog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"v6ahw2CIEi\"><a href=\"https:\/\/www.fambach.net\/en\/arduino-lcd-keypad-shield\/\">Arduino LCD Keypad Shield<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;Arduino LCD Keypad Shield&#8220; &#8212; Stefan&#039;s WebBlog\" src=\"https:\/\/www.fambach.net\/arduino-lcd-keypad-shield\/embed\/#?secret=v6ahw2CIEi\" data-secret=\"v6ahw2CIEi\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Ich bin immer wieder verwundert, dass es doch ein paar Leser hier im Block gibt. Neulich schrieb mich Siegfried an und meinte er m\u00f6chte ein paar Balken auf einem Cristal LCD Display darstellen, ob ich das schon mal gemacht habe. Die Antwort war nein sollte sich aber bald \u00e4ndern. Fakten Teileliste Arduino Uno Arduino LCD &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"Espressif IDF &#8211; Tasks\"<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a>","protected":false},"author":1,"featured_media":8282,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"no","footnotes":""},"categories":[175,340],"tags":[29,557,556,138,137,111],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8269"}],"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=8269"}],"version-history":[{"count":12,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8269\/revisions"}],"predecessor-version":[{"id":8292,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/8269\/revisions\/8292"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/8282"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=8269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=8269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=8269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}