{"id":109,"date":"2010-12-20T12:02:55","date_gmt":"2010-12-20T11:02:55","guid":{"rendered":"http:\/\/silent.org.pl\/home\/?p=109"},"modified":"2010-12-20T23:34:46","modified_gmt":"2010-12-20T22:34:46","slug":"ledy-na-swieta","status":"publish","type":"post","link":"https:\/\/silent.org.pl\/home\/2010\/12\/20\/ledy-na-swieta\/","title":{"rendered":"LEDy na \u015bwi\u0119ta!"},"content":{"rendered":"<p>*** Aktualizacja: 20-12-2010 23:17***<\/p>\n<p>Dzi\u015b ku mojemu zdziwieniu projekt matrycy pojawi\u0142 si\u0119 na popularnych portalach, co mnie bardzo ucieszy\u0142o. Matryca jest ju\u017c gotowa. Sk\u0142ada si\u0119 z dw\u00f3ch paneli, kt\u00f3re mo\u017cna u\u0142o\u017cy\u0107 w kwadrat 32&#215;32 lub prostok\u0105t 64&#215;16. Ko\u0144cowy efekt mo\u017cna zobaczy\u0107 na filmiku poni\u017cej. <strong><br \/>\n<\/strong><\/p>\n<h2><strong> Je\u015bli podoba Ci si\u0119 ten projekt, zag\u0142osuj na mnie w konkursie na portalu elektroda.pl klikaj\u0105c &#8222;fajne&#8221; (wymaga zalogowania si\u0119):<br \/>\n<\/strong><\/h2>\n<h2><strong> <a href=\"http:\/\/www.elektroda.pl\/rtvforum\/topic1851303.html\" target=\"blank\">http:\/\/www.elektroda.pl\/rtvforum\/topic1851303.html<\/a><\/strong><\/h2>\n<p><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"480\" height=\"385\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/pKKKbf73QAs?fs=1&amp;hl=pl_PL\" \/><param name=\"allowfullscreen\" value=\"true\" \/><embed type=\"application\/x-shockwave-flash\" width=\"480\" height=\"385\" src=\"http:\/\/www.youtube.com\/v\/pKKKbf73QAs?fs=1&amp;hl=pl_PL\" allowscriptaccess=\"always\" allowfullscreen=\"true\"><\/embed><\/object><\/p>\n<h2>Aktualizacja: 20-12-2010 23:17<\/h2>\n<p>Opr\u00f3cz wy\u015bwietlania \u015bwi\u0105tecznych grafik wy\u015bwietlacz \u015bwietnie nadaje si\u0119 r\u00f3wnie\u017c do innych rzeczy. Oto kolejne dwa filmiki prezentuj\u0105ce jego mo\u017cliwo\u015bci tekst\\grafika i analizator widma (plugin do WinAmpa; dzia\u0142a r\u00f3wnie\u017c z FooBarem 2000 i pluginem foo_vis_schpeck) &#8211; konfiguracja 64&#215;16 i 32&#215;32. Niestety z powodu kiepskiego aparatu wida\u0107 smu\u017cenie &#8211; w rzeczywisto\u015bci tego nie ma i obraz wygl\u0105da o wiele lepiej a przy analizatorze widma uzyska\u0142em ca\u0142kiem niez\u0142y framerate.<\/p>\n<p><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"480\" height=\"385\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/FPTWl9TXBQA?fs=1&amp;hl=pl_PL\" \/><param name=\"allowfullscreen\" value=\"true\" \/><embed type=\"application\/x-shockwave-flash\" width=\"480\" height=\"385\" src=\"http:\/\/www.youtube.com\/v\/FPTWl9TXBQA?fs=1&amp;hl=pl_PL\" allowscriptaccess=\"always\" allowfullscreen=\"true\"><\/embed><\/object><\/p>\n<p><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"480\" height=\"385\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"allowFullScreen\" value=\"true\" \/><param name=\"allowscriptaccess\" value=\"always\" \/><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/r7jDyz4gjSs?fs=1&amp;hl=pl_PL\" \/><param name=\"allowfullscreen\" value=\"true\" \/><embed type=\"application\/x-shockwave-flash\" width=\"480\" height=\"385\" src=\"http:\/\/www.youtube.com\/v\/r7jDyz4gjSs?fs=1&amp;hl=pl_PL\" allowscriptaccess=\"always\" allowfullscreen=\"true\"><\/embed><\/object><\/p>\n<h2><strong>Jak to jest zrobione?<\/strong><\/h2>\n<p>Pomys\u0142 na wy\u015bwietlacz powsta\u0142 ju\u017c jaki\u015b czas temu, lecz zabra\u0142em si\u0119 za to gdy kolega przypadkowo znalaz\u0142 tanie matryce 8&#215;8 5mm na Allegro ;-). Zakupione 16 sztuk czeka\u0142o w pude\u0142ku a\u017c znajd\u0119 dla nich troch\u0119 czasu.<\/p>\n<h2><strong>Uk\u0142ad<\/strong><\/h2>\n<p>M\u00f3j wy\u015bwietlacz to standardowa konstrukcja &#8211; 8 logicznych multipleksowanych wierszy. Ka\u017cdy wiersz to d\u0142ugi rejestr przesuwny z zatrzaskiem (74HC595). Zaprojektowa\u0142em p\u0142ytki tak, aby mo\u017cna by\u0142o do\u0142\u0105czy\u0107 kolejne panele szeregowo wyd\u0142u\u017caj\u0105c rejestr. Obecnie zbudowa\u0142em 2 takie matryce. Matrycami obecnie steruje ATMega32 z 32kB pami\u0119ci flash i 2kB RAMu na mojej p\u0142ytce testowej. Taki sam uk\u0142ad b\u0119dzie docelowo na p\u0142ytce sterownika &#8211; je\u015bli kiedy\u015b dobuduj\u0119 dodatkowe panele to przyda si\u0119 wi\u0119cej RAMu (obecnie wykorzystuj\u0119 nieca\u0142e 0,5kB). Sterownik komunikuje si\u0119 z komputerem za pomoc\u0105 sprz\u0119towego UARTa z konwerterem napi\u0119\u0107 TTL&lt;-&gt;COM (MAX232) przy pr\u0119dko\u015bci 115,2k baud i w celu jak najmniejszego b\u0142\u0119du w transmisji mikrokontroler jest taktowany zewn\u0119trznym kwarcem 11,0592MHz. Obecnie to wystarcza bez problemu. W przypadku wi\u0119kszej ilo\u015bci matryc w szeregu mo\u017cna b\u0119dzie zwi\u0119kszy\u0107 cz\u0119stotliwo\u015b\u0107 do 14Mhz lub przetaktowa\u0107 uk\u0142ad do 18\\22MHz.<\/p>\n<p>P\u0142ytki zaprojektowa\u0142em w Eagle&#8217;u i wykona\u0142em metod\u0105 termotransferu &#8211; \u00a0wysz\u0142y ca\u0142kiem nie\u017ale, zw\u0142aszcza jak na sw\u00f3j rozmiar.<\/p>\n<p><a href=\"http:\/\/silent.org.pl\/images\/a1.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/a1.jpg\" border=\"0\" alt=\"\" \/><\/a> <a href=\"http:\/\/silent.org.pl\/images\/a2.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/a2.jpg\" border=\"0\" alt=\"\" \/><\/a> <a href=\"http:\/\/silent.org.pl\/images\/a3.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/a3.jpg\" border=\"0\" alt=\"\" \/><\/a> <a href=\"http:\/\/silent.org.pl\/images\/a4.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/a4.jpg\" border=\"0\" alt=\"\" \/><\/a><br \/>\n<a href=\"http:\/\/silent.org.pl\/images\/lm00jpeg.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/lm00jpeg.jpg\" border=\"0\" alt=\"\" \/><\/a> <a href=\"http:\/\/silent.org.pl\/images\/lm01.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/lm01.jpg\" border=\"0\" alt=\"\" \/><\/a><\/p>\n<p>W chwili obecnej zosta\u0142a mi do zaprojektowania p\u0142ytka sterownika. Na pewno znajd\u0105 si\u0119 na niej 2 lub wi\u0119cej gniazd na szeregi paneli na przysz\u0142o\u015b\u0107. Zastanawiam si\u0119 nad z\u0142\u0105czem kart SD &#8211; mo\u017cna by wtedy wy\u015bwietla\u0107 obraz bez u\u017cycia komputera. My\u015bl\u0119 r\u00f3wnie\u017c nad osobn\u0105 p\u0142ytk\u0105 pod\u0142\u0105czan\u0105 do sterownika wy\u015bwietlacza z kilkoma przyciskami i mikrokontrolerem z zaimplementowanymi prostymi gierkami.<\/p>\n<h2><strong>Software<\/strong><\/h2>\n<p>Program dla mikrokontrolera napisa\u0142em w C (\u015brodowisko AVR Studio). Aktualnie zajmuje oko\u0142o 4kB i na chwil\u0119 obecn\u0105 u\u017cywa 485B RAMu (2 &#8222;strony&#8221; w pami\u0119ci obrazu plus 128-bajtowy bufor na dane od PCta).<\/p>\n<p>Obecnie protok\u00f3\u0142 komunikacji z PCtem to zaledwie kilka komend takich jak czyszczenie ekranu, ramka 64B (dla 32&#215;16) lub 128B (dla 2 paneli) czy przesuni\u0119cie zawarto\u015bci ekranu w lewo\\prawo\\g\u00f3r\u0119\\d\u00f3\u0142. Ka\u017cd\u0105 komend\u0119 rozpoczyna si\u0119 przez wys\u0142anie bajtu oznaczaj\u0105cego jej numer a nast\u0119pnie wys\u0142aniu liczby bajt\u00f3w odpowiadaj\u0105cej danej komendzie. W celu unikni\u0119cia problem\u00f3w z synchronizacj\u0105 przed ka\u017cd\u0105 komend\u0105 komputer wystawia impuls na lini DTR, na co sterownik reaguje powrotem do odczytu numeru komendy (je\u015bli jest np. w stanie odbierania ramki z orbazem).<\/p>\n<p>Program do wysy\u0142ania grafiki napisa\u0142em w \u015brodowisku Delphi. Posiada mo\u017cliwo\u015b\u0107 wy\u015bwietlania przewijaj\u0105cego si\u0119 tekstu oraz wy\u015bwietlania grafik BMP jako obraz statyczny\\przewijany lub animacj\u0119. Aplikacja ma r\u00f3wnie\u017c mo\u017cliwo\u015b\u0107 wyboru uk\u0142adu paneli i podgl\u0105d na \u017cywo.<\/p>\n<p><a href=\"http:\/\/silent.org.pl\/images\/lmsoft011.png\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/lmsoft011.png\" border=\"0\" alt=\"\" \/><\/a> <a href=\"http:\/\/silent.org.pl\/images\/lmsoft012.png\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/lmsoft012.png\" border=\"0\" alt=\"\" \/><\/a> <a href=\"http:\/\/silent.org.pl\/images\/lmwinamp01.png\" target=\"_blank\"><img decoding=\"async\" src=\"http:\/\/silent.org.pl\/images\/thumbs\/lmwinamp01.png\" border=\"0\" alt=\"\" \/><\/a><\/p>\n<p>Programy udost\u0119pni\u0119 w niedalekiej przysz\u0142o\u015bci i przy okazji dopisz\u0119 wi\u0119cej szczeg\u00f3\u0142\u00f3w odno\u015bnie jego dzia\u0142ania. Musz\u0119 jeszcze zrobi\u0107 kilka poprawek i troch\u0119 uporz\u0105dkowa\u0107\\udokumentowa\u0107 kod &#8211; na pewno nikt nie chcia\u0142by przegl\u0105da\u0107 tego ba\u0142aganu ;-).<\/p>\n<h2><strong>PLIKI: <\/strong><\/h2>\n<p><?php filelink('ledmatrix\/lm_layout_v_0_1.png'); ?><\/p>\n<h2><strong>Zapraszam do komentowania i zadawania pyta\u0144!<\/strong><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>*** Aktualizacja: 20-12-2010 23:17*** Dzi\u015b ku mojemu zdziwieniu projekt matrycy pojawi\u0142 si\u0119 na popularnych portalach, co mnie bardzo ucieszy\u0142o. Matryca jest ju\u017c gotowa. Sk\u0142ada si\u0119 z dw\u00f3ch paneli, kt\u00f3re mo\u017cna u\u0142o\u017cy\u0107 w kwadrat 32&#215;32 lub prostok\u0105t 64&#215;16. Ko\u0144cowy efekt mo\u017cna zobaczy\u0107 na filmiku poni\u017cej. Je\u015bli podoba Ci si\u0119 ten projekt, zag\u0142osuj na mnie w konkursie <a href='https:\/\/silent.org.pl\/home\/2010\/12\/20\/ledy-na-swieta\/' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts\/109"}],"collection":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/comments?post=109"}],"version-history":[{"count":21,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts\/109\/revisions"}],"predecessor-version":[{"id":131,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/posts\/109\/revisions\/131"}],"wp:attachment":[{"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/media?parent=109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/categories?post=109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/silent.org.pl\/home\/wp-json\/wp\/v2\/tags?post=109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}