{"id":236,"date":"2013-03-21T23:41:03","date_gmt":"2013-03-21T23:41:03","guid":{"rendered":"http:\/\/fotopohotovost.cz\/?p=236"},"modified":"2013-03-21T23:41:03","modified_gmt":"2013-03-21T23:41:03","slug":"rgb-led-slow-changer","status":"publish","type":"post","link":"https:\/\/loudat.cz\/kublog\/2013\/03\/21\/rgb-led-slow-changer\/","title":{"rendered":"RGB LED slow changer"},"content":{"rendered":"<p>Dorazila z\u00e1silka z \u010c\u00edny, kter\u00e1 nejenom \u017ee obsahovala Arduino Nano na kter\u00e9 se m\u016f\u017eete t\u011b\u0161it v n\u011bkter\u00e9m z p\u0159\u00ed\u0161t\u00edch p\u0159\u00edsp\u011bvk\u016f, ale i n\u011bkolik RGB LED diod. N\u00e1sledovala tedy rychlovka, takov\u00fd pokus, p\u0159\u00edprava pro dal\u0161\u00ed miniprojekt a to bude FakeAmbilightTV.<\/p>\n<p>V prvn\u00edm p\u011bti vte\u0159in\u00e1ch ka\u017ed\u00e9ho loopu se postupn\u011b zm\u011bn\u00ed barva v\u0161ech barevn\u00fdch kan\u00e1l\u016f z p\u016fvodn\u00ed barvy na novou, n\u00e1hodn\u011b generovanou. Pot\u00e9 po\u010dk\u00e1me (zde vte\u0159inu, pozd\u011bji p\u0159edpokl\u00e1d\u00e1m vte\u0159in 30+) a v\u0161e se opakuje.<\/p>\n<p>K\u00f3d je neoptimalizovan\u00fd, ale funk\u010dn\u00ed. N\u00ed\u017ee videouk\u00e1zka.<\/p>\n<p>[c]<br \/>\nint red = 6;<br \/>\nint green = 5;<br \/>\nint blue = 3;<br \/>\nint randRold = 0;<br \/>\nint randGold = 0;<br \/>\nint randBold = 0;<br \/>\nboolean minusR = false;<br \/>\nboolean minusG = false;<br \/>\nboolean minusB = false;<br \/>\nfloat krokR = 0;<br \/>\nfloat krokG = 0;<br \/>\nfloat krokB = 0;<br \/>\nint jumpR = 0;<br \/>\nint jumpG = 0;<br \/>\nint jumpB = 0;<br \/>\nint rozdilR = 0;<br \/>\nint rozdilG = 0;<br \/>\nint rozdilB = 0;<\/p>\n<p>\/\/ the setup routine runs once when you press reset:<br \/>\nvoid setup() {<br \/>\n\/\/ declare pin 9 to be an output:<br \/>\npinMode(red, OUTPUT);<br \/>\npinMode(green, OUTPUT);<br \/>\npinMode(blue, OUTPUT);<br \/>\nSerial.begin(9600);<br \/>\n}<\/p>\n<p>\/\/ the loop routine runs over and over again forever:<br \/>\nvoid loop() {<br \/>\nint randRnew = random(255);<br \/>\nint randGnew = random(255);<br \/>\nint randBnew = random(255);<\/p>\n<p>if (randRnew &gt; randRold){<br \/>\nrozdilR = randRnew &#8211; randRold;<br \/>\nkrokR = (float)rozdilR \/ 250;<br \/>\nminusR = false;<br \/>\n}else{<br \/>\nrozdilR = randRold &#8211; randRnew;<br \/>\nkrokR = (float)rozdilR \/ 250;<br \/>\nminusR = true;<br \/>\n}<\/p>\n<p>if (randGnew &gt; randGold){<br \/>\nrozdilG = randGnew &#8211; randGold;<br \/>\nkrokG = (float)rozdilG \/ 250;<br \/>\nminusG = false;<br \/>\n}else{<br \/>\nrozdilG = randGold &#8211; randGnew;<br \/>\nkrokG = (float)rozdilG \/ 250;<br \/>\nminusG = true;<br \/>\n}<\/p>\n<p>if (randBnew &gt; randBold){<br \/>\nrozdilB = randBnew &#8211; randBold;<br \/>\nkrokB = (float)rozdilB \/ 250;<br \/>\nminusB = false;<br \/>\n}else{<br \/>\nrozdilB = randBold &#8211; randBnew;<br \/>\nkrokB = (float)rozdilB \/ 250;<br \/>\nminusB = true;<br \/>\n}<\/p>\n<p>for (int i=1; i &lt;= 250; i++){<br \/>\nint pridelR = krokR * i;<br \/>\nint pridelG = krokG * i;<br \/>\nint pridelB = krokB * i;<br \/>\nif (minusR == false){jumpR = randRold + pridelR;}else{jumpR = randRold &#8211; pridelR;}<br \/>\nanalogWrite(red, jumpR);<br \/>\nif (minusG == false){jumpG = randGold + pridelG;}else{jumpG = randGold &#8211; pridelG;}<br \/>\nanalogWrite(green, jumpG);<br \/>\nif (minusB == false){jumpB = randBold + pridelB;}else{jumpB = randBold &#8211; pridelB;}<br \/>\nanalogWrite(blue, jumpB);<br \/>\ndelay(20);}<\/p>\n<p>delay(1000);<\/p>\n<p>randRold = randRnew;<br \/>\nrandGold = randGnew;<br \/>\nrandBold = randBnew;<br \/>\n}[\/c]<\/p>\n<p>[embedyt] https:\/\/www.youtube.com\/watch?v=JF7OEAkPocU[\/embedyt]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dorazila z\u00e1silka z \u010c\u00edny, kter\u00e1 nejenom \u017ee obsahovala Arduino Nano na kter\u00e9 se m\u016f\u017eete t\u011b\u0161it v n\u011bkter\u00e9m z p\u0159\u00ed\u0161t\u00edch p\u0159\u00edsp\u011bvk\u016f, ale i n\u011bkolik RGB LED diod. N\u00e1sledovala tedy rychlovka, takov\u00fd&#8230;<\/p>\n","protected":false},"author":2,"featured_media":321,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10],"tags":[25,27,68,75,89,99],"class_list":["post-236","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","tag-ambilight","tag-arduino","tag-led","tag-nano","tag-rgb","tag-uno"],"_links":{"self":[{"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/posts\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/comments?post=236"}],"version-history":[{"count":0,"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/posts\/236\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/media\/321"}],"wp:attachment":[{"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/media?parent=236"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/categories?post=236"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/loudat.cz\/kublog\/wp-json\/wp\/v2\/tags?post=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}