{"id":1568,"date":"2015-01-08T00:37:02","date_gmt":"2015-01-07T23:37:02","guid":{"rendered":"http:\/\/majek.mamy.to\/?p=1568"},"modified":"2015-02-09T01:07:49","modified_gmt":"2015-02-09T00:07:49","slug":"christmas-tree-lamps-with-arduino-and-ws2811-leds","status":"publish","type":"post","link":"https:\/\/majek.sh\/pl\/christmas-tree-lamps-with-arduino-and-ws2811-leds\/","title":{"rendered":"Lampki choinkowe na Arduino i led-ach z kontrolerem WS2811 :-)"},"content":{"rendered":"<p>Gdzie\u015b na pocz\u0105tku listopada odkry\u0142em diody RGB LED z wbudowanym kontrolerem: WS2812 i inne podobne. Pomys\u0142 wydawa\u0142 mi si\u0119 na tyle fajny, \u017ce zapragn\u0105\u0142em te\u017c co\u015b takiego mie\u0107 do zabawy \ud83d\ude42<br \/>\nCo wi\u0119cej, sterowniki sta\u0142y si\u0119 na tyle popularne i tanie, \u017ce s\u0105 nawet montowane wewn\u0105trz diod LED, jak na przyk\u0142ad WS2812 w tej diodzie:<\/p>\n<p><a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2812led2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2812led2-600x480.jpg\" alt=\"WS2812 RGB LED\" width=\"600\" height=\"480\" class=\"alignnone size-medium wp-image-1573\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2812led2-600x480.jpg 600w, https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2812led2-150x120.jpg 150w, https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2812led2-1024x819.jpg 1024w, https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2812led2.jpg 1280w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Zwa\u017cywszy por\u0119 roku, sta\u0142o si\u0119 oczywiste, \u017ce najlepiej by\u0142oby sobie z tego zrobi\u0107 lampki na choink\u0119. Chwila szukania i okaza\u0142o si\u0119, \u017ce na Aliexpress sprzedaj\u0105 ju\u017c gotowe takie diody polutowane w \u0142a\u0144cuszki \ud83d\ude42<br \/>\nMoje LEDy nie maj\u0105 co prawda uk\u0142ad\u00f3w wewn\u0105trz diod, a na ma\u0142ej p\u0142yteczce zalanej twardym silikonem, ale za to by\u0142y ta\u0144sze. Zw\u0142aszcza jak kupuje si\u0119 \u0142a\u0144cuszek z 50 sztuk \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2811leds.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2811leds-640x440.jpg\" alt=\"WS2811 RGB LEDs on Christmas tree\" width=\"640\" height=\"440\" class=\"alignnone size-medium wp-image-1570\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2811leds-640x440.jpg 640w, https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2811leds-150x103.jpg 150w, https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2811leds-1024x704.jpg 1024w, https:\/\/majek.sh\/wp-content\/uploads\/2015\/01\/ws2811leds.jpg 1280w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Dzie\u0144 przed Wigili\u0105 nadal wszystko le\u017ca\u0142o luzem czekaj\u0105c na 't\u0105 w\u0142a\u015bciw\u0105 chwil\u0119&#8217;, ale jako, \u017ce to ju\u017c by\u0142a ostatnia szansa na sensowne wykorzystanie tego, to trzeba si\u0119 by\u0142o zebra\u0107 do pracy \ud83d\ude42<\/p>\n<p>Po\u0142\u0105czenie tego do kupy by\u0142o ca\u0142kiem proste, bo to tylko 3 rzeczy: zasilacz 5V, p\u0142yteczka Arduino Pro Mini i \u0142a\u0144cuszek LED-\u00f3w.<\/p>\n<p>Oprogramowanie protoko\u0142u by\u0142o wi\u0119kszym wyzwaniem &#8211; przebiegi generowane dla WS2811 musz\u0105 by\u0107 dosy\u0107 dok\u0142adnie, a najkr\u00f3tsze impulsy maj\u0105 tylko 8 cykli zegara w Atmega328 (taktowanej 16MHz), wi\u0119c wybra\u0142em znowu (jak zwykle) assembler \ud83d\ude42<br \/>\n\u017beby by\u0142o trudniej, by\u0142a ju\u017c 3 rano jak zacz\u0105\u0142em debugowa\u0107 \ud83d\ude42 Szczerze m\u00f3wi\u0105\u0107, to bez mojego nowego oscyloskopu znalezienie 3 b\u0142\u0119d\u00f3w jakie zrobi\u0142em potrwa\u0142oby pewnie grube godziny. Zw\u0142aszcza, \u017ce Chi\u0144czyk, kt\u00f3ry sprzedawa\u0142 te diody opisa\u0142 je jako: <em>&#8217;we sent WS2811. Or we may sent UCS1903&#8242;<\/em> (czyli wysy\u0142amy WS2811 lub UCS1903) &#8211; dwa r\u00f3\u017cne kontrolery z r\u00f3\u017cnymi protoko\u0142ami i nikt nie wie kt\u00f3ry tak naprawd\u0119 dosta\u0142em.<br \/>\nNa szcz\u0119\u015b\u0107ie to by\u0142 WS2811, wi\u0119c pierwsza (poprawna) implementacja protoko\u0142u zadzia\u0142a\u0142a.<\/p>\n<p>Doda\u0142em do tego kilka prostych funkcji do poruszania \u015bwiat\u0142a po \u0142a\u0144cuszku i ca\u0142o\u015b\u0107 wyl\u0105dowa\u0142a na choince.<\/p>\n<p>Ca\u0142y kod z tego 'jednonocnego projektu&#8217; jest dost\u0119pny na moim Githubie: <a href=\"https:\/\/github.com\/majekw\/wsled\" target=\"_blank\">https:\/\/github.com\/majekw\/wsled<\/a><\/p>\n<p>A tak wygl\u0105daj\u0105 \u015bwiate\u0142ka na mojej choince:<br \/>\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"\/\/www.youtube.com\/embed\/b-g9DUUR0TE\" frameborder=\"0\" allowfullscreen><\/iframe><br \/>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Gdzie\u015b na pocz\u0105tku listopada odkry\u0142em diody RGB LED z wbudowanym kontrolerem: WS2812 i inne podobne. Pomys\u0142 wydawa\u0142 mi si\u0119 na tyle fajny, \u017ce zapragn\u0105\u0142em te\u017c co\u015b takiego mie\u0107 do zabawy \ud83d\ude42 Co wi\u0119cej, sterowniki sta\u0142y si\u0119 na tyle popularne i <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/majek.sh\/pl\/christmas-tree-lamps-with-arduino-and-ws2811-leds\/\"><span class=\"more-msg\">Czytaj dalej &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[38,50,24,32],"_links":{"self":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/1568"}],"collection":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/comments?post=1568"}],"version-history":[{"count":17,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/1568\/revisions"}],"predecessor-version":[{"id":1595,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/posts\/1568\/revisions\/1595"}],"wp:attachment":[{"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/media?parent=1568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/categories?post=1568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/majek.sh\/pl\/wp-json\/wp\/v2\/tags?post=1568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}