{"id":373,"date":"2024-02-16T12:34:31","date_gmt":"2024-02-16T11:34:31","guid":{"rendered":"http:\/\/bennie.hu\/?p=373"},"modified":"2024-06-13T11:56:28","modified_gmt":"2024-06-13T10:56:28","slug":"okos-ebresztoora","status":"publish","type":"post","link":"https:\/\/bennie.hu\/?p=373","title":{"rendered":"Okos \u00e9breszt\u0151\u00f3ra"},"content":{"rendered":"\n<p> Eredetileg a t\u00e9ma onnan eredt, hogy j\u00f3 k\u00f6z\u00e9piskol\u00e1s m\u00f3dj\u00e1ra t\u00f6bbsz\u00f6r is elaludtam, \u00e9s persze ennek az \u00e9breszt\u0151\u00f3r\u00e1m (telefon) volt az oka. \u00cdgy elterveztem egy \u00f3r\u00e1t, ami sz\u00e9pen vil\u00e1g\u00edt \u00e9s persze egy rel\u00e9vel tud kapcsolni b\u00e1rmit, ami k\u00e9pes fel\u00e9breszteni, m\u00e9g ha semmi kedvem sincs. Ezzel nem sokat haladtam (m\u00e1rmint az \u00f3r\u00e1val \u00e9s a fel\u00e9bred\u00e9ssel sem), m\u00edg id\u00e9n &#8222;ingyen&#8221; n\u00e9gy kredit\u00e9rt r\u00e1 nem k\u00e9nyszer\u00edtettem magam, hogy m\u00e9gis legyen v\u00e9ge a projektnek. Persze sosem lesz&#8230;<\/p>\n\n\n\n<p>Mint minden projektem ez is egy egyszer\u0171 \u00f6tletb\u0151l n\u0151tt ki, v\u00e9gtelen sz\u00e1m\u00fa extra funkci\u00f3 adagol\u00e1s\u00e1val.<\/p>\n\n\n\n<p><strong>Itt vannak az \u00f6tletek kronologikus sorrendben<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>hat darab, nagy h\u00e9tszegmenses kijelz\u0151<\/li>\n\n\n\n<li>3 gombos vez\u00e9rl\u00e9s<\/li>\n\n\n\n<li>FET-tel vez\u00e9relhet\u0151 kimenet (rel\u00e9hez)<\/li>\n\n\n\n<li>wifi is legyen benne<\/li>\n\n\n\n<li>akkor m\u00e1r USB firmware friss\u00edt\u00e9s is<\/li>\n\n\n\n<li><a href=\"http:\/\/sem.sch.bme.hu\/wp-content\/uploads\/2017\/05\/isp_avrdragon.png\"><\/a>USB-r\u0151l legyen a t\u00e1pfesz\u00fclts\u00e9g, hogy sp\u00f3roljak a lukakkal a dobozon<\/li>\n\n\n\n<li>akkor PWM-es f\u00e9nyer\u0151szab\u00e1lyoz\u00e1s, mert a cs\u00facs\u00e1ram &gt;500mA<\/li>\n\n\n\n<li>egy\u00e9b elv\u00e1r\u00e1s volt, hogy legyen AVR Dragon-nal debug-olhat\u00f3, dwbugWire-\u00f6n, standard 6-pin-es ISP csatlakoz\u00f3)<\/li>\n\n\n\n<li>\u00e9s mindenek el\u0151tt b\u0151v\u00edthet\u0151 maradjon!<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"196\" height=\"119\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/isp_avrdragon.jpg\" alt=\"\" class=\"wp-image-375\"\/><\/figure>\n<\/div>\n\n\n<p>A tant\u00e1rgy szerint persze kellett volna rendszerterv meg funkcion\u00e1lis diagram, ezt \u00e1tugrottam, egyb\u0151l a fun r\u00e9szre. Ilyen kis projektn\u00e9l t\u00f6k f\u00f6l\u00f6sleges, egyb\u0151l a kapcsol\u00e1ssal kezdtem.<\/p>\n\n\n\n<p>M\u00e9g annyit megjegyezn\u00e9k, hogy a kijelz\u0151 panelt \u00e9vekkel ezel\u0151tt legy\u00e1rtottam, \u00e9s term\u00e9szetesen semmilyen dokument\u00e1ci\u00f3t nem hagytam h\u00e1tra, nagy hiba.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>P\u00e1r dolog, amit m\u00e1shogy&nbsp;kellett volna<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>r\u00e9gi projektjeimet dokument\u00e1lni, hogy k\u00e9s\u0151bb ne kelljen l\u00e1bkioszt\u00e1st bem\u00e9regetni, panel m\u00e9reteket m\u00e9regetni meg hasonl\u00f3k (persze hogy elrontottam a l\u00e1bkioszt\u00e1st)<\/li>\n\n\n\n<li>ha valamihez a legkisebb es\u00e9ly is van, hogy oda kellhet opcion\u00e1lis alkatr\u00e9sz, akkor felt\u00e9tlen beletenni a kapcsol\u00e1sba \u00e9s a ny\u00e1k-tervre (el\u00e9g rond\u00e1k az \u00e1tk\u00f6t\u00e9sek \u00e9s random helyen a kondik)<\/li>\n\n\n\n<li>vastag vezet\u0151k, nagy pad-ek, ha saj\u00e1t magamnak csin\u00e1lom a ny\u00e1k-ot<\/li>\n<\/ul>\n\n\n\n<p><strong>Alkatr\u00e9szlista<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>rotary encoder:ALPS EC11E15244G1<\/li>\n\n\n\n<li>mikrokontroller: ATMEL AT90USB162<\/li>\n\n\n\n<li>h\u00e9tszegmenses: KINGBRIGHT SA15-11GWA<\/li>\n\n\n\n<li>MOSFET: AP2602GY-HF-3<\/li>\n\n\n\n<li>kijelz\u0151 meghajt\u00f3: TI TPIC6C595<\/li>\n\n\n\n<li>wifi modul: ESP8266-03<\/li>\n\n\n\n<li>fesz\u00fclts\u00e9gstabiliz\u00e1tor: LD1117V33<\/li>\n\n\n\n<li>usb csatlakoz\u00f3: GCT USB3095<\/li>\n\n\n\n<li>kvarc: 16MHz (USB miatt kell ez)<\/li>\n\n\n\n<li>+ellen\u00e1ll\u00e1sok, kondenz\u00e1torok \u00e9s milli\u00f3&nbsp;\u00e1tk\u00f6t\u00e9s<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A kapcsol\u00e1s, jav\u00edtott verzi\u00f3<\/strong><\/h2>\n\n\n\n<p><em>(az USB +5V \u00e9s a VCC \u00f6ssze van k\u00f6tve egy z\u00f6ld dr\u00f3ttal, ennyire m\u00e9gsem lett jav\u00edtva)<\/em><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"730\" data-id=\"376\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_dsp_sch-1024x730.png\" alt=\"\" class=\"wp-image-376\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_dsp_sch-1024x730.png 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_dsp_sch-300x214.png 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_dsp_sch-768x547.png 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_dsp_sch-850x606.png 850w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_dsp_sch.png 1294w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"602\" data-id=\"377\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_sch-1024x602.png\" alt=\"\" class=\"wp-image-377\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_sch-1024x602.png 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_sch-300x176.png 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_sch-768x451.png 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_sch-1536x902.png 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_sch-850x499.png 850w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_sch.png 1554w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"250\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/rot_enc_signals.jpg\" alt=\"\" class=\"wp-image-378\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/rot_enc_signals.jpg 250w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/rot_enc_signals-150x150.jpg 150w\" sizes=\"(max-width: 250px) 100vw, 250px\" \/><\/figure>\n<\/div>\n\n\n<p> A 3 gombot v\u00e9g\u00fcl egy elfordul\u00e1s jelz\u0151vel oldottam meg, ezt is bontottam valahonnan. \u00dagy volt kezdetben, hogy szoftveresen kell perg\u00e9smentes\u00edteni, mert \u00fagy az eleg\u00e1ns. Meg nagyt\u00e9telben biztosan sokba ker\u00fclne 3 kondenz\u00e1tor \u00e9s p\u00e1r ellen\u00e1ll\u00e1s. A mode gombn\u00e1l ez m\u0171k\u00f6d\u00f6tt is, de ott am\u00fagy is kellett egy id\u0151z\u00edt\u0151, a k\u00e9t k\u00fcl\u00f6n gesztushoz. Vagyis ha pl. 0.7 m\u00e1sodpercn\u00e9l tov\u00e1bb van lenyomva a gomb, akkor a be\u00e1ll\u00edt\u00e1sra ugrik a m\u00f3d, ha r\u00f6viden nyomom akkor pedig k\u00f6vetkez\u0151 m\u00f3dra l\u00e9p. (majd vil\u00e1gosabb lesz az \u00e1br\u00e1b\u00f3l). Teh\u00e1t az elfordul\u00e1sjelz\u0151 olyan rettenetesen pregett, mint egy dobzenekar, szoftveresen nem tudtam r\u00e1 \u00e9rtelmes megold\u00e1st. Persze ezen a ponton m\u00e1r megvolt a m\u0171k\u00f6d\u0151 ny\u00e1klap. Itt j\u00f6tt k\u00e9pbe egy kis sz\u00e1mol\u00e1s, 10ms alatt \u00e9rje el a c\u00e9lfesz\u00fclts\u00e9get (f\u00f6ldpotenci\u00e1l vagy t\u00e1pfesz\u00fclts\u00e9g), teh\u00e1t egy ellen\u00e1ll\u00e1son kereszt\u00fcl t\u00f6lt\u00fcnk egy kondit. Ezt megtanultunk, hogy I*t = Q = C*U, ahol I a t\u00f6lt\u0151\u00e1ram, Q a kondenz\u00e1tor t\u00f6lt\u00e9se adott U fesz\u00fclts\u00e9gen, C pedig a kapacit\u00e1s \u00e9rt\u00e9ke. Tegy\u00fck fel, hogy a kondi fesz\u00fclts\u00e9ge 0V, \u00edgy az ellen\u00e1ll\u00e1son a t\u00e1pfesz\u00fclts\u00e9g esik, \u00edgy a t\u00f6lt\u0151\u00e1ram ekkor U\/R. Ahhoz hogy a kondi felteljen ilyen t\u00f6lt\u0151\u00e1rammal, Q\/I id\u0151 sz\u00fcks\u00e9ges, m\u00e1shogy kifejezve (C*U)\/(U\/R) -&gt; t=C*R, amivel megkapjuk az id\u0151\u00e1lland\u00f3t. Azt is tudjuk, hogy 5t id\u0151 alatt gyakorlatilag be\u00e1ll a v\u00e9g\u00e9rt\u00e9k, teh\u00e1t R-re \u00e1trendezve R = t\/(5C). Az\u00e9rt pont ellen\u00e1ll\u00e1s, mert a kondi volt adott, 100nF, amib\u0151l a megfelel\u0151 ellen\u00e1ll\u00e1s 20k-ohmnak ad\u00f3dik.<\/p>\n\n\n\n<p>Az esp-modul \u00e9s a mikrokontroller k\u00f6z\u00f6tt a szintilleszt\u00e9st egyszer\u0171 fesz\u00fclts\u00e9goszt\u00f3val val\u00f3s\u00edtottam meg, ahol kellett. A 3.3V-ot a mikrokontroller szerencs\u00e9re m\u00e9g HIGH jelnek \u00e9rz\u00e9keli.<\/p>\n\n\n\n<p>A kijelz\u0151 el\u00e9g r\u00e9gi, TPIC6C595-\u00f6s shift regisztereket haszn\u00e1ltam, amiket reteszelni lehet, vagy PWM-mel (pulzussz\u00e9less\u00e9g modul\u00e1ci\u00f3) lehet f\u00e9nyer\u0151t \u00e1ll\u00edtani. Ehhez persze nem \u00e1rt a panelra egy nagy pufferkondi (pl. 220uF, 10V), hogy ne nagyon r\u00e1ngassa a t\u00e1pfesz\u00fclts\u00e9get. Ide SPI buszon viszem ki sorosan az adatokat, egy karaktert\u00e1bl\u00e1nak megfelel\u0151en.<\/p>\n\n\n\n<p>A megval\u00f3s\u00edtott ny\u00e1krajzolatot ink\u00e1bb nem csatolom, mert t\u00fal sok a hiba rajta:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>perg\u00e9smentes\u00edt\u0151 kondik nincsenek rajta<\/li>\n\n\n\n<li>a kvarc \u00e9s a vez\u00e9rl\u0151 f\u00f6ldel\u00e9se k\u00f6z\u00f6s, \u00e9s zajosabb (de nem zavar\u00f3)<\/li>\n\n\n\n<li>a kijelz\u0151 soros \u00f3rajele \u00e9s retesz \u00f3rajele gy\u00f6ny\u00f6r\u0171 \u00e1tk\u00f6t\u00e9ssel b\u00fcszk\u00e9lkedhet<\/li>\n\n\n\n<li>m\u00e9gis az USB-r\u0151l kap t\u00e1pfesz\u00fclts\u00e9get, \u00edgy itt is \u00e1tk\u00f6t\u00e9s van<\/li>\n\n\n\n<li>az esp-modul GPIO02-es felh\u00faz\u00f3 ellen\u00e1ll\u00e1sa lemaradt<\/li>\n\n\n\n<li>m\u00e9gsem k\u00fcls\u0151 t\u00e1pr\u00f3l megy, \u00edgy az +5V-os fesz\u00fclts\u00e9gszab\u00e1lyoz\u00f3 hely\u00e9n is egy darab dr\u00f3t teljes\u00edt<\/li>\n\n\n\n<li>szolg\u00e1latot, ezzel egy\u00fctt a csavaros csatlakoz\u00f3 f\u00f6l\u00f6slegess\u00e9 v\u00e1lt<\/li>\n\n\n\n<li>egy kis \u00fcgyess\u00e9ggel ezt mind r\u00e1 lehet zs\u00fafolni egy lapra is&#8230;<br>(j\u00f3, lehet kicsit t\u00f6bb \u00fcgyess\u00e9ggel, de megoldhat\u00f3)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A doboz<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_case_all-1024x455.jpg\" alt=\"\" class=\"wp-image-379\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_case_all-1024x455.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_case_all-300x133.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_case_all-768x341.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_case_all-1536x683.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_case_all-850x378.jpg 850w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_case_all.jpg 1842w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>A fa el\u00e9g k\u00e9zenfekv\u0151 alapanyagnak bizonyult, f\u0151leg mert apa asztalos \u00e9s mert k\u00f6nnyen megmunk\u00e1lhat\u00f3. Na \u00e9s v\u00e9gs\u0151 sorban el\u00e9g eszt\u00e9tikus. Ha m\u00e1r van a SEM-ben CNC, akkor azt is meg kell tanulni, itt az alkalom. AutoCAD-del m\u00e1r el\u00e9g gyakorlott vagyok, \u00edgy ott terveztem meg a dobozt, amit Inventor-ba export\u00e1ltam IGES form\u00e1tumban, ahol HSM kieg\u00e9sz\u00edt\u0151vel gener\u00e1ltam k\u00f3dot a mar\u00e1shoz (Mach 3 programhoz). Annyit tudni kell, hogy senki sem adja oda egy abszol\u00fat null\u00e1r\u00f3l indul\u00f3 CNC-snek a mar\u00f3fejeit. Ez\u00e9rt nem sok \u00e9rtelm\u00e9t l\u00e1tom a konkr\u00e9t G-k\u00f3dot is csatolni.<\/p>\n\n\n\n<p>Itt van a dwg:&nbsp;<a href=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/alarmclock_case.zip\">alarmclock_case<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"634\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/aclock_case_dwg-1-1024x634.jpg\" alt=\"\" class=\"wp-image-381\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/aclock_case_dwg-1-1024x634.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/aclock_case_dwg-1-300x186.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/aclock_case_dwg-1-768x475.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/aclock_case_dwg-1-850x526.jpg 850w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/aclock_case_dwg-1.jpg 1498w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ezek ut\u00e1n m\u00e1r csak az USB-csatlakoz\u00f3nak kellett lyukat reszelni az oldal\u00e1ba, lecsiszolni, p\u00e1colni \u00e9s lakkozni. Az el\u0151lap 3mm-es polikarbon\u00e1t (plexi) lemezb\u0151l lett marva. Enyh\u00e9n mattra csiszoltam, mivel ha m\u00e1r l\u00fad, legyen k\u00f6v\u00e9r (eleve karcos volt), m\u00e1sr\u00e9szr\u0151l pedig nem minden haland\u00f3t hoz izgalmi \u00e1llapotba egy csupasz ny\u00e1klap l\u00e1tv\u00e1nya. A h\u00e1tlap 3mm-es r\u00e9tegeltlemezb\u0151l lett v\u00e1gva. Az \u00f3ra talpait egy f\u00f6l\u00f6s&nbsp;set-top box alj\u00e1r\u00f3l bontottam.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>A szoftver<\/strong><\/h2>\n\n\n\n<p>Megint csak t\u00e1rgyi k\u00f6vetelm\u00e9ny volt, hogy \u00edrjunk egy kis assembly mintaprogramot hozz\u00e1. Ezt mindenki \u00f6r\u00f6m\u00e9re itt nem teszem k\u00f6zz\u00e9. Nagy kih\u00edv\u00e1s volt, mivel ennyire nem vagyok mazochista.<br>A rendes programot Atmel Studio 7-ben \u00edrtam. A forr\u00e1sk\u00f3d \u00e9s vele a hex f\u00e1jlok csatolva.<\/p>\n\n\n\n<p>A forr\u00e1sk\u00f3d \u00e9s a bootloader:&nbsp;<a href=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_firmware.zip\">ac_firmware<\/a><\/p>\n\n\n\n<p>UI.: Hossz\u00fa haszn\u00e1lat ut\u00e1n f\u00e9ny der\u00fclt r\u00e1, hogy a forr\u00e1sk\u00f3dban annyi hiba akadt, hogy egy sz\u00e1mot \u00e1t kellene \u00edrni, konkr\u00e9tan egy 625-\u00f6s \u00e9rt\u00e9ket, 624-re (sysio.c-ben az \u00f3rajel inicializ\u00e1l\u00e1sn\u00e1l). \u00cdgy ugyan nagyj\u00e1b\u00f3l pontos, de mivel kider\u00fclt, hogy a 16 bites sz\u00e1ml\u00e1l\u00f3 null\u00e1z\u00e1sa szinkron t\u00f6rt\u00e9nik, ez\u00e9rt ha el\u00e9ri a 624-et, ut\u00e1na a 0 k\u00f6vetkezik ( 16MHz \/ 256 \/ (624 + 1) = 100Hz). Ez az apr\u00f3cska, de egy \u00f3r\u00e1n\u00e1l ann\u00e1l fontosabb inform\u00e1ci\u00f3 az adatlap 113. oldal\u00e1n (15.4) ker\u00fclt eml\u00edt\u00e9sre, mintegy mell\u00e9kesen. Az\u00e9rt egy \u00f3ra alapvet\u0151en j\u00f3 ha pontos, nem baj, ha siet, de ann\u00e1l ink\u00e1bb ha k\u00e9sik.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Bootloader<\/strong><\/h3>\n\n\n\n<p>El\u00e9g f\u00e1raszt\u00f3 tud lenni, hogy mindig USBASP-n kereszt\u00fcl kell programozni, ez\u00e9rt v\u00e1lasztottam egy USB interface-szel rendelkez\u0151 vez\u00e9rl\u0151t. Els\u0151 a fejleszthet\u0151s\u00e9g. Ha olyan kedvem van, \u00edrok bele m\u00e9g egy funkci\u00f3t, kijav\u00edtok egy hib\u00e1t. \u00c9s nyilv\u00e1n ha unatkozok, akkor USB soros portot is implement\u00e1lhatok, hogy a j\u00f3l bev\u00e1lt printf-fel lehessen debug-olni.<br>Ebben a verzi\u00f3ban nem bajl\u00f3dtam a bootloader meg\u00edr\u00e1ssal, mivel az Atmel adott a vez\u00e9rl\u0151h\u00f6z DFU bootloader-t, amivel a flash-be \u00e9s eeprom-ba is lehet \u00edrni. Ehhez a FLIP nev\u0171 programukat adj\u00e1k, ami nekem t\u00f6k\u00e9letesen megfelelt. Ezt be\u00edrtam a $3000-es c\u00edmre USBASP-vel \u00e9s t\u00f6bbet nem is kellett a k\u00fcls\u0151 programoz\u00f3 (avrdude programmal \u00edrtam addig).<br>Egy buktat\u00f3ja, hogy mivel a gombot nem a hardveres bootloader v\u00e1laszt\u00f3 gombra k\u00f6t\u00f6ttem, \u00edgy a programban, szoftveresen kell mindig ellen\u0151rizni a bel\u00e9p\u00e9si felt\u00e9telt, \u00edgy persze az orvul szoftverfelt\u00f6lt\u0151k ellen lehet v\u00e9dekezni egy r\u00f6vid jelsz\u00f3val.<br>A bootloader-hez a gomb lenyomva tart\u00e1sa k\u00f6zben kell PC-hez csatlakoztatni, ilyenkor bej\u00f6n a jelsz\u00f3 k\u00e9r\u00e9se (0.00000), amit a gomb forgat\u00e1s\u00e1val lehet megtenni. R\u00f6viden addig forgatjuk, am\u00edg el nem \u00e9rj\u00fck a k\u00edv\u00e1nt hat\u00e1st. Kicsit hosszabban elkezdj\u00fck forgatni, amivel n\u00f6velj\u00fck a helyi\u00e9rt\u00e9ket. Ha a m\u00e1sik ir\u00e1nyba kezdj\u00fck fogatni akkor a k\u00f6vetkez\u0151 helyi\u00e9rt\u00e9kre l\u00e9p (villog a pont). Ha a kijelzett kombin\u00e1ci\u00f3 az e els\u0151 hat jegye (271828), akkor egy gombnyom\u00e1s ut\u00e1n r\u00f6vid (_boot_) \u00fczenet k\u00f6vetkezik \u00e9s a bootloader c\u00edme t\u00f6lt\u0151dik a programsz\u00e1ml\u00e1l\u00f3ba.<br>Ha m\u00e9gse siker\u00fclt eltal\u00e1lni a k\u00f3dot, akkor a hagyom\u00e1nyos m\u00f3don indul el.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Megval\u00f3s\u00edtand\u00f3 funkci\u00f3k<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00f3ra kijelz\u00e9se (\u00f3ra, perc, m\u00e1sodperc, \u00e9s villog\u00f3 pont-&gt;fontos)<\/li>\n\n\n\n<li>visszasz\u00e1ml\u00e1l\u00f3 (a te\u00e1imat rendszerint t\u00falf\u0151ztem)<\/li>\n\n\n\n<li>\u00e9breszt\u0151 \u00fczemm\u00f3dok (4 darab gondoltam el\u00e9g)<\/li>\n\n\n\n<li>a wifi ki\/be kapcsol\u00e1sa, konfigur\u00e1ci\u00f3 v\u00e1laszt\u00e1sa<\/li>\n\n\n\n<li>egy\u00e9b be\u00e1ll\u00edt\u00e1sok (f\u00e9nyer\u0151, \u00e9breszt\u00e9s id\u0151tartama, csipog\u00e1s sebess\u00e9ge)<\/li>\n<\/ul>\n\n\n\n<p>Tegy\u00fck fel, hogy akit ez \u00e9rdekel, m\u00e1r ismeri annyira a c-nyelvet, hogy kiigazodjon a csatolt forr\u00e1sk\u00f3don, hogy mi hogy lett implement\u00e1lva, vagy hogyan nem. R\u00f6viden a 16-bites sz\u00e1ml\u00e1l\u00f3 10ms-onk\u00e9nt megh\u00edvja a megszak\u00edt\u00e1st, amiben l\u00e9pteti a sz\u00e1ml\u00e1l\u00f3kat \u00e9s jelz\u0151biteket (kijelz\u0151 friss\u00edt\u00e9s, \u00e9breszt\u00e9s ellen\u0151rz\u00e9s, villog\u00e1s). A f\u0151ciklusban fut egy esem\u00e9nyfeldolgoz\u00e1s, ami megn\u00e9zni a jelz\u0151biteket, \u00e9s v\u00e9grehajtja amit kell, ut\u00e1na a bemeneteket is megn\u00e9zni \u00e9s ennek megfelel\u0151en l\u00e9pteti a m\u00f3dokat, v\u00e1ltoztatja a kijelz\u0151 kimeneti buffer\u00e9t vagy \u00e9ppen v\u00e1ltoz\u00f3 \u00e9rt\u00e9keket m\u00f3dos\u00edt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"582\" height=\"531\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_modes.jpg\" alt=\"\" class=\"wp-image-383\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_modes.jpg 582w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_modes-300x274.jpg 300w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><\/figure>\n\n\n\n<p><strong>R\u00f6viden mi hol van<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sysio -&gt; alacsony szint\u0171 rendszerfunkci\u00f3k, vez\u00e9rl\u0151funkci\u00f3k a hardver elrejt\u00e9s\u00e9re<\/li>\n\n\n\n<li>sys -&gt; a rendszer fels\u0151bb szint\u0171 funkci\u00f3it megval\u00f3s\u00edt\u00f3 f\u00fcggv\u00e9nyek, konstansok \u00e9s v\u00e1ltoz\u00f3k<\/li>\n\n\n\n<li>main -&gt; itt van a f\u0151ciklus \u00e9s amit \u00fagy \u00e9reztem, hogy nem illik a t\u00f6bbibe<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Amit a wifi-r\u0151l tudni kell<\/strong><\/h3>\n\n\n\n<p>-sajnos az esp8266 modul alapszoftvere csak AT parancsokkal \u00e9rt sz\u00f3t<br>-egy parancssori winsock programmal kommunik\u00e1l (parancsk\u00f3d, param\u00e9ter) form\u00e1ban, m\u0171k\u00f6dni m\u0171k\u00f6dik, mert ezt is be kellett mutatni, de jav\u00e1ban dolgozok egy HTTP szerveren, amihez nem fog kelleni csak egy b\u00f6ng\u00e9sz\u0151, mellesleg eszt\u00e9tikusabb is&#8230;<br>-nem, m\u00e9g nem t\u00e1mogatja a time-server-r\u0151l val\u00f3 id\u0151lek\u00e9rdez\u00e9st, de a lehet\u0151s\u00e9g persze megvan<br>-\u00fagy lett a kapcsol\u00e1s tervezve (el\u00e9g er\u0151s kifejez\u00e9s), hogy lehessen a mikrokontrolleren kereszt\u00fcl szoftvert friss\u00edteni a modulon<br>-v\u00e9gezet\u00fcl, igen, az eg\u00e9sz kapcsol\u00e1st meg tudta volna hajtani egy esp8266 modul is, de a t\u00e1rgy ezt k\u00edv\u00e1nta, majd lesz m\u00e1sodik verzi\u00f3 is, \u00e9s majd ott&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"219\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/esp8266_boot_options-1024x219.jpg\" alt=\"\" class=\"wp-image-384\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/esp8266_boot_options-1024x219.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/esp8266_boot_options-300x64.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/esp8266_boot_options-768x164.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/esp8266_boot_options-850x182.jpg 850w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/esp8266_boot_options.jpg 1037w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> V\u00e9g\u00fcl a k\u00e9pek, \u00e9s a leadott dokument\u00e1ci\u00f3, van, amit csak ott \u00edrok le, van amit csak itt, ha valami nem tiszta, akkor n\u00e9zd meg a dokument\u00e1ci\u00f3ban, ha m\u00e9g mindig nem, akkor k\u00e9rdezd meg&#8230; \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"374\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac1-1024x768.jpg\" alt=\"\" class=\"wp-image-374\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac1-1024x768.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac1-300x225.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac1-768x576.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac1-1536x1152.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac1-2048x1536.jpg 2048w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac1-850x638.jpg 850w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"385\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac2_back-1024x768.jpg\" alt=\"\" class=\"wp-image-385\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac2_back-1024x768.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac2_back-300x225.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac2_back-768x576.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac2_back-1536x1152.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac2_back-2048x1536.jpg 2048w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac2_back-850x638.jpg 850w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" data-id=\"386\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac3-1024x683.jpg\" alt=\"\" class=\"wp-image-386\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac3-1024x683.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac3-2048x1365.jpg 2048w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac3-300x200.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac3-768x512.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac3-1536x1024.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac3-850x567.jpg 850w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" data-id=\"388\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac5-1024x683.jpg\" alt=\"\" class=\"wp-image-388\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac5-1024x683.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac5-2048x1365.jpg 2048w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac5-300x200.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac5-768x512.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac5-1536x1024.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac5-850x567.jpg 850w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" data-id=\"391\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac6-1-1024x683.jpg\" alt=\"\" class=\"wp-image-391\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac6-1-1024x683.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac6-1-2048x1365.jpg 2048w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac6-1-300x200.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac6-1-768x512.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac6-1-1536x1024.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac6-1-850x567.jpg 850w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" data-id=\"392\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac7-1-1024x683.jpg\" alt=\"\" class=\"wp-image-392\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac7-1-1024x683.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac7-1-2048x1365.jpg 2048w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac7-1-300x200.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac7-1-768x512.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac7-1-1536x1024.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac7-1-850x567.jpg 850w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" data-id=\"387\" src=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac4-1024x683.jpg\" alt=\"\" class=\"wp-image-387\" srcset=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac4-1024x683.jpg 1024w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac4-2048x1365.jpg 2048w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac4-300x200.jpg 300w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac4-768x512.jpg 768w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac4-1536x1024.jpg 1536w, https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac4-850x567.jpg 850w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n\n\n\n<p> Dokument\u00e1ci\u00f3-f\u00e9le:&nbsp;<a href=\"https:\/\/bennie.hu\/wp-content\/uploads\/2024\/02\/ac_dok.pdf\">ac_dok<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eredetileg a t\u00e9ma onnan eredt, hogy j\u00f3 k\u00f6z\u00e9piskol\u00e1s m\u00f3dj\u00e1ra t\u00f6bbsz\u00f6r is elaludtam, \u00e9s persze ennek az \u00e9breszt\u0151\u00f3r\u00e1m (telefon) volt az oka. \u00cdgy elterveztem egy \u00f3r\u00e1t, ami sz\u00e9pen vil\u00e1g\u00edt \u00e9s persze egy rel\u00e9vel tud kapcsolni b\u00e1rmit, ami k\u00e9pes fel\u00e9breszteni, m\u00e9g ha semmi kedvem sincs. Ezzel nem sokat haladtam (m\u00e1rmint az \u00f3r\u00e1val&#8230;<\/p>\n","protected":false},"author":1,"featured_media":374,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-electronics"],"_links":{"self":[{"href":"https:\/\/bennie.hu\/index.php?rest_route=\/wp\/v2\/posts\/373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bennie.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bennie.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bennie.hu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bennie.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=373"}],"version-history":[{"count":2,"href":"https:\/\/bennie.hu\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions"}],"predecessor-version":[{"id":419,"href":"https:\/\/bennie.hu\/index.php?rest_route=\/wp\/v2\/posts\/373\/revisions\/419"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bennie.hu\/index.php?rest_route=\/wp\/v2\/media\/374"}],"wp:attachment":[{"href":"https:\/\/bennie.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bennie.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bennie.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}