{"id":64,"date":"2019-01-11T20:38:45","date_gmt":"2019-01-11T17:38:45","guid":{"rendered":"http:\/\/yegnidemir.net\/EnginBilgi\/?p=64"},"modified":"2025-05-05T20:15:21","modified_gmt":"2025-05-05T17:15:21","slug":"8x64-led-gosterge","status":"publish","type":"post","link":"http:\/\/yegnidemir.net\/EnginBilgi\/?p=64","title":{"rendered":"8&#215;64 LED Display"},"content":{"rendered":"<p class=\"\" data-start=\"0\" data-end=\"20\"><strong data-start=\"0\" data-end=\"20\">8&#215;64 LED Display<\/strong><\/p>\n<p class=\"\" data-start=\"22\" data-end=\"197\">This LED display allows you to send text from your mobile phone via Bluetooth. It&#8217;s ideal for placing in a shop window or displaying messages to drivers behind you in traffic.<\/p>\n<p class=\"\" data-start=\"199\" data-end=\"214\"><strong data-start=\"199\" data-end=\"214\" data-is-last-node=\"\">Demo Video:<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"LED Matrix 8x64 BlueTooth\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/R1lJFFVSQLc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>The Code:<\/p>\n<blockquote><p>#include &lt;SPI.h&gt;<br \/>\n#include &lt;Adafruit_GFX.h&gt;<br \/>\n#include &lt;Max72xxPanel.h&gt;<\/p>\n<p>int pinCS = 10; \/\/ Attach CS to this pin, DIN to MOSI and CLK to SCK (cf http:\/\/arduino.cc\/en\/Reference\/SPI )<br \/>\nint numberOfHorizontalDisplays = 1;<br \/>\nint numberOfVerticalDisplays = 8;<\/p>\n<p>Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);<\/p>\n<p>String tape = &#8221; Dikkat &#8220;;<br \/>\nint wait = 70; \/\/ In milliseconds<\/p>\n<p>int spacer = 1;<br \/>\nint width = 5 + spacer; \/\/ The font width is 5 pixels<br \/>\nString serialResponse = &#8220;&#8221;;<br \/>\nchar sz[] = &#8221; &#8220;;<\/p>\n<p>void setup() {<br \/>\nmatrix.setRotation(matrix.getRotation()+3); \/\/1 &#8211; 90 2 &#8211; 180 3 &#8211; 270<br \/>\nmatrix.setIntensity(15); \/\/ Use a value between 0 and 15 for brightness<\/p>\n<p>\/\/Clear screen<br \/>\nmatrix.fillScreen(LOW);<br \/>\nmatrix.write();<\/p>\n<p>Serial.begin(9600);<br \/>\n}<\/p>\n<p>void loop() {<\/p>\n<p>if ( Serial.available()) {<br \/>\nserialResponse = Serial.readStringUntil(&#8216;\\r\\n&#8217;);<\/p>\n<p>if(serialResponse.length() &gt; 1){<br \/>\n\/\/ Convert from String Object to String.<br \/>\nchar buf[sizeof(sz)];<br \/>\nserialResponse.toCharArray(buf, sizeof(buf));<br \/>\nchar *p = buf;<br \/>\nchar *str;<br \/>\nwhile ((str = strtok_r(p, &#8221; &#8220;, &amp;p)) != NULL) \/\/ delimiter is the space<br \/>\n{<br \/>\nwriteText(str, true);<br \/>\ndelay(1000);<br \/>\nmatrix.fillScreen(LOW);<br \/>\nmatrix.write();<br \/>\ndelay(400);<br \/>\nwriteText(str, true);<br \/>\ndelay(1000);<br \/>\nmatrix.fillScreen(LOW);<br \/>\nmatrix.write();<br \/>\ndelay(400);<br \/>\nwriteText(str, true);<br \/>\ndelay(1000);<br \/>\nmatrix.fillScreen(LOW);<br \/>\nmatrix.write();<br \/>\ndelay(500);<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>void writeText(String str, bool center)<br \/>\n{<br \/>\nint x = 0;<br \/>\nif(center)<br \/>\n{<br \/>\nx = ((int)matrix.width() &#8211; (int)(str.length() * width)) \/ 2;<br \/>\nif(x &lt; 0){<br \/>\nx = 0;<br \/>\n}<br \/>\n}<br \/>\nint y = (matrix.height() &#8211; 8) \/ 2; \/\/ center the text vertically<br \/>\nmatrix.fillScreen(LOW);<br \/>\nint letter = 0;<br \/>\nwhile (letter &lt; str.length()) {<br \/>\nmatrix.drawChar(x, y, str[letter], HIGH, LOW, 1);<\/p>\n<p>letter++;<br \/>\nx += width;<br \/>\n}<\/p>\n<p>matrix.write(); \/\/ Send bitmap to display<br \/>\n}<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<article class=\"text-token-text-primary w-full\" dir=\"auto\" data-testid=\"conversation-turn-6\" data-scroll-anchor=\"true\">\n<div class=\"text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group\/turn-messages focus-visible:outline-hidden\" tabindex=\"-1\">\n<div class=\"group\/conversation-turn relative flex w-full min-w-0 flex-col agent-turn\">\n<div class=\"relative flex-col gap-1 md:gap-3\">\n<div class=\"flex max-w-full flex-col grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"82861eb0-6c2d-444a-b242-5656e0b6d507\" data-message-model-slug=\"gpt-4o\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\">\n<div class=\"markdown prose dark:prose-invert w-full break-words light\">\n<p class=\"\" data-start=\"0\" data-end=\"94\">You can also download the AppInventor application file for Android phones from the link below:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<p><a href=\"http:\/\/yegnidemir.net\/EnginBilgi\/wp-content\/uploads\/2019\/01\/LCDTexter.zip\">LCDTexter<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>8&#215;64 LED Display This LED display allows you to send text from your mobile phone via Bluetooth. It&#8217;s ideal for placing in a shop window or displaying messages to drivers behind you in traffic. Demo Video: The Code: #include &lt;SPI.h&gt; #include &lt;Adafruit_GFX.h&gt; #include &lt;Max72xxPanel.h&gt; int pinCS = 10; \/\/ Attach CS to this pin, DIN [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-64","post","type-post","status-publish","format-standard","hentry","category-genel"],"_links":{"self":[{"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=\/wp\/v2\/posts\/64","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=64"}],"version-history":[{"count":4,"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=\/wp\/v2\/posts\/64\/revisions"}],"predecessor-version":[{"id":78,"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=\/wp\/v2\/posts\/64\/revisions\/78"}],"wp:attachment":[{"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=64"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=64"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yegnidemir.net\/EnginBilgi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}