{"id":1658,"date":"2015-02-03T18:51:38","date_gmt":"2015-02-03T16:51:38","guid":{"rendered":"http:\/\/www.dainile.lt\/?p=1658"},"modified":"2015-11-03T10:36:43","modified_gmt":"2015-11-03T08:36:43","slug":"arduino-2-kiemo-apsvietimo-automatuko-link","status":"publish","type":"post","link":"https:\/\/www.dclabs.lt\/dainiaus\/arduino-2-kiemo-apsvietimo-automatuko-link\/","title":{"rendered":"Arduino 2 &#8211; kiemo ap\u0161vietimo automatuko link"},"content":{"rendered":"<p>Po truput\u012f art\u0117ju prie galutinio tikslo &#8211; mikroprocesorinio kiemo ap\u0161vietimo valdymo. Analoginis (sakykim) variantas jau senokai veikia ir <a href=\"http:\/\/www.dclabs.lt\/dainiaus\/?p=1539\" target=\"_blank\">apra\u0161ytas \u010dia<\/a>. \u0160itas variantas nelabai skiriasi nuo pirmojo pa\u017eaidimo su Arduino. Pirmas skirtumas &#8211; LCD prijungtas tik dviem laidais, o ne 7. Kod\u0117l ? Tod\u0117l, kad galutiniame prietaise naudosiu ne didel\u012f Atmega 328, o ma\u017eiuk\u0105 AtTiny45. Nors i\u0161 kitos pus\u0117s LCD \u0161itam prietaisui visai nereikalingas, bet man patinka kai viskas pypsi, mirksi, arba rodo. \u010cia gerai matyti nustatytas potenciometr\u0173 reik\u0161m\u0117s, gal dar ka\u017ek\u0105. Ir nors galutiniame variante LCD nebus &#8211; galb\u016bt sumastysiu padaryti 4 pinus, prie kuri\u0173 prijungus truput\u012f modifikuot\u0105 LCD bus galima matyti kaip veikia uCPU, potenciometrai, vienu \u017eod\u017eiu mini diagnostikai. Antras skirtumas &#8211; programa nuskaito dviej\u0173 potenciometr\u0173 reik\u0161mes ir u\u017era\u0161o jas ekrane. Apie visk\u0105 paeiliui.<\/p>\n<p>Kaip suma\u017einti LCD &lt;&gt; uCPU naudojam\u0173 kontakt\u0173 skai\u010di\u0173. Pirma mintis buvo tokia, sakykim, nery\u0161ki, nes \u017einios i\u0161 studij\u0173 laik\u0173, i\u0161\u00a0prof. habil. dr. Raimundo Kirvai\u010dio paskait\u0173 &#8211; post\u016bmio registro naudojimas. Princip\u0105 lyg ir pamenu, svarbiausia ir yra \u017einoti k\u0105 \u012fmanoma padaryti, o kaip &#8211; paklausiau d\u0117d\u0117s Googliaus. Ir atsp\u0117jau &#8211; pavyzd\u017ei\u0173 pilna. Pasirinkau pirm\u0105 pasitaikiusi\u0105, naudojan\u010dia LiquidCrystal bibliotek\u0105. Schema tokia:<\/p>\n<p><a href=\"http:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/schem.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1659\" src=\"http:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/schem-300x162.png\" alt=\"schem\" width=\"300\" height=\"162\" srcset=\"https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/schem-300x162.png 300w, https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/schem-1024x552.png 1024w, https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/schem.png 1531w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\u010cia, \u017einoma, tik LCD prijungimo mintis, tik prijungtas ne Arduino uCPU, n\u0117ra potenciometr\u0173. Bet u\u017etai panaudojant 74LS164 registr\u0105 duomenys is uCPU paleid\u017eiami dviem laidais, o paskui i\u0161metami lygiagre\u010diai. Schema teisinga, bet u\u017etai LiquidCrystal biblioteka &#8211; ne. Bent jau man niekaip nepavyko \u012fra\u0161yti teksto \u012f antr\u0105 eilut\u0117, nors realiai ten nieko sud\u0117tingo, tas pats standartinis:<\/p>\n<p style=\"text-align: center;\">lcd.setCursor (0,1);<\/p>\n<p>Neveikia nors tu k\u0105. O juk \u017einau, kad schema sujungta gerai, hardwaras veikiantis&#8230; Bet kolega i\u0161 o.electronics patar\u0117 pabandyti su kita biblioteka ShiftRegLCD123 &#8211; ir viskas suveik\u0117.<\/p>\n<p>Toliau &#8211; potenciometr\u0173 prijungimas. Bet i\u0161 tikr\u0173j\u0173 &#8211; procesoriukas nemoka matuoti potenciometro var\u017eos, moka matuoti tik \u012ftamp\u0105. Tam reikia potenciometr\u0105 jungti kaip var\u017ein\u012f dalikl\u012f, ir \u0161liau\u017eiklio kontakt\u0105 paduoti \u012f atitinkam\u0105 potenciometro \u012f\u0117jim\u0105. Tuomet procesoriukas &#8222;matys&#8221; ne var\u017e\u0105, o \u012ftamp\u0105, ir sugeb\u0117s j\u0105 nuskaityti, paversdamas \u012f reik\u0161mes nuo 0 iki 1023. O toliau jau galima su tuo daryti kokius nors skai\u010diavimus.<\/p>\n<p><a href=\"http:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/IMG_4986.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1663\" src=\"http:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/IMG_4986-198x300.png\" alt=\"IMG_4986\" width=\"198\" height=\"300\" srcset=\"https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/IMG_4986-198x300.png 198w, https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/IMG_4986-676x1024.png 676w, https:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/IMG_4986.png 1024w\" sizes=\"auto, (max-width: 198px) 100vw, 198px\" \/><\/a>Vat kaip tas viskas atrodo ant maketin\u0117s plok\u0161t\u0117s. Vir\u0161uje Arduino UNO modulis, jo de\u0161in\u0117je &#8211; du potenciometrai, kuri\u0173 vert\u0117s nuskaitomos, vienas atstoja ap\u0161vietimo lygio potenciometr\u0105, o kitas LDR\u0105 (Light Dependent Resistor). Tre\u010dias potenciometras \u017eemiau t\u0173 dviej\u0173 naudojamas LCD kontrastui nustatyti. Kairiau nuo jo, laid\u0173 raizgalyn\u0117je slepiasi \u00a0<a href=\"http:\/\/www.ti.com\/lit\/ds\/symlink\/sn74ls164.pdf\" target=\"_blank\">74LS164<\/a>, ant jo u\u017eme\u010diau kondensatori\u0173 (maitinimo trugd\u017ei\u0173 filtravimui), plius rezitoriukas ir diodas &#8211; loginis IR elementas, skirtas ekraniuko E \u012f\u0117jimui. De\u0161iniau dar vienas diodas&#8230; \u010cia toki\u0105 bi\u0161k\u012f apgavyst\u0119 padariau. Pagal apra\u0161ym\u0105 ekraniuko fono pa\u0161vietimas 4,2V, o i\u0161 USB u\u017emaitin\u010diau 5V, tipo per daug. Nors \u0161iaip band\u017eiau &#8211; nesprogo. Bet, kad b\u016bt\u0173 ramiau, prijungiau diod\u0105, kad &#8222;nuvalgyt\u0173&#8221; ma\u017edaug 0,5V. Ir visas tas reikalas atrodo taip:<\/p>\n<p><center>www.youtube.com\/watch?v=o2eSowBW4wA<\/center><a href=\"http:\/\/www.dclabs.lt\/dainiaus\/wp-content\/uploads\/2015\/02\/Digital_light_sensor.ino\" target=\"_blank\">Programos failiukas \u010dia<\/a>.<\/p>\n<p>2015.02.04:<\/p>\n<p>Truput\u012f pataisiau kod\u0105. Kadangi loop() gale yra ekrano i\u0161valymas (lcd.clear() ), tai pirmojo\u00a0lcd.setCursor (0,0) nebereikia &#8211; lcd.clear() ne tik i\u0161valo ekran\u0105, bet ir numeta kursori\u0173 \u012f prad\u017ei\u0105. Rezultatas &#8211; dar ma\u017eesn\u0117 sukompiliuota programa &#8211; tik 3242 B, vietoje 3254 B. Programos failiukas auk\u0161\u010diau &#8211; atnaujintas.<\/p>\n<p><a href=\"http:\/\/code.google.com\/p\/shiftreglcd123\/wiki\/Software\" target=\"_blank\">Bibliotekos komandos yra \u010dia<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Po truput\u012f art\u0117ju prie galutinio tikslo &#8211; mikroprocesorinio kiemo ap\u0161vietimo valdymo. Analoginis (sakykim) variantas jau senokai veikia ir apra\u0161ytas \u010dia. \u0160itas variantas nelabai skiriasi nuo pirmojo pa\u017eaidimo su Arduino. Pirmas skirtumas &#8211; LCD prijungtas tik dviem laidais, o ne 7. Kod\u0117l ? Tod\u0117l, kad galutiniame prietaise naudosiu ne didel\u012f Atmega 328, o ma\u017eiuk\u0105 AtTiny45. Nors&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1658","post","type-post","status-publish","format-standard","hentry","category-elektronika"],"_links":{"self":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts\/1658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/comments?post=1658"}],"version-history":[{"count":16,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts\/1658\/revisions"}],"predecessor-version":[{"id":1910,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/posts\/1658\/revisions\/1910"}],"wp:attachment":[{"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/media?parent=1658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/categories?post=1658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dclabs.lt\/dainiaus\/wp-json\/wp\/v2\/tags?post=1658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}