AVR89: ePaper modulis

December 10th, 2017

Nusipirkau pabandymui iš kinų epaper (elektroninio popieriaus, e-ink) tipo ekraniuką. Pažymėtas jis waveshare logotipu, o kas gamintojas iš tikrųjų aš nežinau, nes ir datasheete nurodytas tik šis pavadinimas.

epaper waveshare AVR atmega

Yra dokumentacija pdf faile, kurios kaip ir neskaičiau, nes buvo pavyzdinis softas. Softas skirtas ARM, mini linux variantui ir aišku Arduino. Softas dalinai tinkamas ir mažiems kontroleriams, tačiau jis reikalauja “video RAM". Čia iškilo problemėlė, nes ir mažiausiam ekraniukui reikia (200×200/8=5000) vos ne 5kB RAMo!
Savo softo variantą supaprastinau ir panaudojau paprastą senovišką ATMEGĄ. Konkrečiai ATMEGA162, tačiau tiks ir bet kuri kita. Tereikia tik keletos laisvų pinų ir aparatinio SPI.
Vėl eilinį karta teko pasibaisėti originalaus softo optimizavimu ir biški iš tikro optimizuoti. Mano variantas kiek greitesnis, dalis konstantų perrašyta į PROGMEM.

Dabar biški apie “elektroninio rašalo ir popieriaus" veikimo subtilybes. Tikriausiai daugelis matė, kad kartais elektroninės knygos “mirguliuoja ekranu" kai perpaišo vaizdelį. Taip daroma todėl, kad ekranas turi “burn-out" t.y. biški lieka seno vaizdo. Tačiau perpaišus vaizdą pilnai į juodą ir poto pilnai į baltą, senas vaizdelis išsivalo pilnai. Taip galima daryti automatiškai suprogramavus kontrolerį- tada pasiuntus naują vaizdą ekranas automatiškai persipaišys. O galima įjungti “rankinį režimą" ir tada ekranas neatsinaujina. Tada lieka seni vaizdeliai. Juos galima panaikinti lokaliai užtušavus ekrano dalį juodai ir poto baltai.
Dar viena ekrano įpatybė, kad ekranas turi du ekrano buferius- į vieną galima rašyti informaciją, o kitas tuo metu rodomas. Tačiau norint operatyviai parodyti naują informaciją tenka du kartus perduoti informaciją į ekraną.

Kadangi ekraniukas buvo nupirktas tik pabandymui, o ne kažkokiam projektui, tai softas surašytas tik pabandymui. Nėra nei grafinių operatorių nei didelių raidžių. Tėra tik dviejų tipų teksto rašymas ir paveiksliuko paišymas (čia vėl papuolė arklys ir jo klasika apie “resistance" ir “penis harder"). Beja, tik dabar pastebėjau, kad vaizdelis konvertavosi kaip veidrodinis.

Ekranas organizuotas baitais, todėl galima perpaišyti tik po mažiausiai vieną baitą. Kadangi nėra skaitymo iš ekrano, atsiranda problemos su grafikos primityvais. Dėl to kila ir šrifto naudojimo apribojimai.

Jei bus sugalvotas koks nors projektas, tada bus galima ir patobulinti visą softą. O dabar štai:
waveshare e-ink, e-paper software source code for clasic C and AVR ATMEGA .
Ten yra source kodas, +visokie niekai kaip “penis harder" paveiksliukas ir jo B/W versija C kalboje [penis.c]. Taip pat Atari ir ZX Spectrum šriftai. Taip pat proporcinis šriftas.

Ir dar neparašiau, kad vaizdas išlieka išjungus maitinimą. Tačiau ir taip aišku, nes čia e-ink'as.

Dzingle Ballz :)

November 27th, 2017

Kadangi statybos man dar vis aktualu, dažnokai užsuku į senukus. Ir pastebėjau, kad prasidėjo kalėdinės nesamonės. Parduotuvė pasipuošė ir panašiai. Vakar buvo juokingas nutikimas- ėjau pro papuošta zona, o priešai ėjo jaunas tėvelis ir nenustatytos lyties vaikas. Vaikas kažko paklausė savo tėvo ir bagstelėjo pirštu į didelį pliušinį elnią. Va būtent tėvo reakcija ir atkreipė mano dėmesį- jis kažkodėl biški paraudo ir pagreitintu būdu nutempė vaiką gilyn į parduotuvę… Kas čia buvo

dzingle balls
Elniukas tikrai gražiai padarytas ir dydis jo beveik kaip tikro (man atrodo, kad tie elniai turėtu būti biški didesni).

Tačiau kas buvo tokio čia keisto? Pradėjau galvoti dedukciniais metodais ir kiek nuleidau savo žvilgsnį, nes vaikas mato pasaulį kiek kitaip ir tikrai ne iš 180cm aukščio.
Read the rest of this entry »

Nešiojamas lituoklis

November 5th, 2017

Trumpas pasokojimas kaip kinai užmuša konstravimą nors kartu ir labai palengvina gyvenimą.
Kartais nuo karto visokie bendradarbiai sužino (nors ir labai slepiu), kad moku lituoti ir prašo ką nors pataisyti. Dažniausiai apsimetu, kad neturiu lituoklio ar lituoju su netransportabilia litavimo stotele. Tada jie traukia visokius lituoklius- nuo tarybinių “kirvių" iki kiniškai-lenkiškų nesamonių. Su bet kokiais antgaliais. Tiesa dar turiu kažkur Veller lituoklį, bet jis perkaista- gal skirtas bešviniam, o gal koks neaiškus. Tačiau ir veleris nepatogus ką nors teisingai sulituoti. Todėl vieną vakarą besiblaškydamas po kiniškus internetus nutariau nupirkti kažką naujo. Ir kartu pakonstruoti.

T12 lituoklis soldering iron
Tai buvo net keli siuntiniai ir palaidų dalių: 24V maitblokis, dėžutė, lituoklio laikiklis, kontroleris su OLED ekranu (nepernešu neinformatyvių LED) ir kelis lituoklio antgalius kartu su kaitinimu ir matavimu.

T12 lituoklis soldering iron
Kas tai yr? Dešinėje mano litavimo stotelės lituoklio konstrukcija- kaitinimo elementas su termo jutikliu (tas baltas cilindriukas) ir keičiami antgaliukai (kur kiniškas numiro iš karto, o prisitaikė kažkoks kogero veleris).
Nauja koncepcija- T12 litavimo “modulis", kur kaitinimo elementas, pats antgaliukas ir matavimas intergruota į vieną moduli (kairėje).

T12 lituoklis soldering iron
Pats lituoklio “kotas". Čia turi būti dar vibracijos jutiklis (kurį neteisingai prilitavau) ir kompensacinis koto temperatūros jutiklis kurio pas mane nėra ir dar priedo jo nepalaiko turimas kontroleris.

T12 lituoklis soldering iron
Viskas vos tilpo į kinišką dėžutę, nes maitblokis kiek ilgesnis, o ir 230V lizdas (su saugikliu ir jungikliu) irgi gana didokas. Teko biški papielinti. Dėžutėje dar reikėtu suorganizuoti groteles vedinimui ir tikrai numatyta tiesioginis šilumos nuvedimas į korpusą.

T12 lituoklis soldering iron
Pirmi įspūdžiai- jis kosmiškai greitai užkaista! Ne minutės ir net ne dešimtys sekundžių. O daugiau dar nėra. Reikia biški normaliai palituoti ir pažiūrėti kaip elgsis tie ala Japoniški antgaliai ir kaip kais maitblokis. Tikriausiai nepridarys jis man problemų.

Tiesa, pakeičiau vieną schemos elementą (beja taip padaryta ir mano litavimo stotelėje)- lituoklio antgalis įžemintas ne tiesiogiai, o per keliasdešimt kiloomų rezistorių. Tai daroma tik tam, kad nebūtu fejerverkų palietus kokį fazinį laidą. O per keliasdėšimt kiloomų puikiausiai nutraukiamas visas elektrostatinis krūvis.

Biški vėl apie ARM ir STM32

October 28th, 2017

Kažkaip nusipirkau pas kinus porelę ST-Link adapterių ir panorėjau juos išbandyti. Deja pirmiausia po ranka nebuvo mano pagrindinio kompiuterio, o tik nešiojamas vasarinis. Jame nieko nebuvo susijusio su ARM programavimu. Tai nutariau atburti kaip tai daroma ir tik tada paaiškėjo, kad niekur neužrašiau, kaip visdėlto nuo nulio paruošti kompiuterį (windows) darbui su STM32 čipukų programinimui.
Dar priedo, mano darbinis kompas jau turėjo dalinai suinstaliuotus softus, ir perėjimas iš Atmelio į ST buvo labai kažkaip paprastas.
Gaila, bet nieko vėl neužsirašiau, bet parašysiu maždaug iš akies, kaip tai buvo. Kaip ir minėjau anskčiau, aš kaip heiteris ir oldskūlinis hardcoras nemėgstu visokių IDE ir eklipsniu, tik command line, tik hardcore, tik make. Todėl viskas gavosi keistai.

ST-Link STM32F103

Darom taip- iš ARM pagrindinio puslapio nusikraunam gcc windozei. Ten kažkur yra installas. Vadinasi maždaug “GNU Tools ARM Embedded" ir versija kažkokia pagal datą. Nusikrovus šitą reikalą, nuėjau į savo puslapius (nugi šituos) ir nusikroviau pirmą source. Kažkodėl suveikė komanda “make", bet neteisingai. Pasirodo, šitam kompe yra kažkas kuris vadinasi make, tik labai senoviškas. Tai buvo WinAVR paketas kurį kažkada suinstaliavau. Gal net instaliavau tam, kad kompe būtu “programmers notepad 2″. Bandžiau gadinti makefile, kad priversti veikti, bet nieko nesigavo, net paprasčiausia komanda “rm" veikė su klaidom ir net netrynė failų.
Netgi pradėjau krauti paskirai failiukus “make", “rm" iš internetų ir GNUwin, bet ten viskas senai nenaudojama. Kol netyčia kažkur radau make sukompiliuota kažkokių geriečių. Nes kartais užknisa tas linuxinis bajeris- reikia kokios utelės, tai tipo susikompiliuok pats. O kad tą padaryti reikia prisiinstaliuoti visą kalną kitokio softo. Sunku jiems ir binarius padėti? Arba sukompiliuoja 30kb programą, kurį reikalauja kokio nors suknisto dll. Bet jo neprideda. O statinė tos pačios programos versija gal 100kb ilgesnė.

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Users\User>make -v
GNU Make 4.2
This program is built by Equation Solution.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http ://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

C:\Users\User>

O poto prisiminiau, kad yra toks reikalas kaip CygWin. Po jo instaliavimo ir path prioritetų nustatymo (kad windows žinotu kur guli cygwin visokie failiukai) sistema pradėjo veikti.

Nueini į archyvo folderį, kur yra failas “makefile" ir ten rašai “make all", o jei reikia viską perkompiliuoti iš naujo, tai “make clean" ir viskas.

Dėl hardwarinio programino, prie kiniško ST-Link puikiausiai tiko originalus ST softas kuris atpažino kiniškus donglus ir net pasiūlė atnaujinti firmware.

Pačios kiniškos plokštelės LED diodo (kabančio ant C13 kojos) pamirksėjimo softas čia:
STM32F103C8T6 blinky source ir sukompiliuotas failas.
O patiems nekantriausiams kurie nori patikrinti kiniška PCB dedu ir hex failą atskirai.
HEX failas testavimui.

Beja kiniškas plokšteles reikia vizualiai apžiūrėti ir ištaisyti defektus. Vienoje plokštelėje reikėjo per naudo prilituoti kvarcą, kitoje padėti teisingą rezistorių.

Kaip ne keista, va ant linuxu to pačio padaryti nepavyko. Nu neveikia man make. Jaučiu problemos su failų lokacijos nurodymu makefile faile. Beja, visokie IDE kuria baisias failu nuorodas. Nors pavyzdžiui viename eclipse tutorial saite pilna nesmonių kaip šita:
failo nuoroda.

Nu ir kas per nesamonė su tais ../..//././.././/././. !? Suprantu, kad galima vieną sluoksnį ar du palipti į viršų, bet tiek privaryti? Šitos nesamonės tikriausiai sugeneruotos pačios eklipsės, kai vartotojas išmėto projekto failus visur. Bet kai reikia tai atsiburti… ojojoj.

Poto gaunasi maždaug taip ir taip. :)

Epson HX-20

October 14th, 2017

Dar vienas išgelbėtas antikvariatas. Tai, anot wikipedijos, pirmasis lapotopas. Ar tikrai jis pirmas aš negaliu pasakyti, kažkaip atrodo, kad pagal savo klasę ir galimus veiksmus turėtų lygtai būti Atari, nes jis lygtai suderinamas su to meto PC. Tuo tarpu Epsonas jokio suderinamumo kaip ir neturi, nes net ir procesorius labiau neša į motorolą.
Epson HX-20
Read the rest of this entry »

Galis ir aliuminis

September 21st, 2017

Visada norėjau padaryti galio ir aliuminio eksperimentą. Ir pagaliau padariau- paėmiau aliumininį radiatorių iš kompiuterio ir nedidelį gabaliuką galio. Kiek pašildžiau ranka ir truputi pakrapščiau aliuminį, kad pasižeistu oksido plėvelė. Toliau buvo gal kelios savaitės laiko. Susiformavo galio-aliuminio lidinys, kuris skystas ir kambario temperatūroje. Ir ne tik skystas, bet ir “takus", kaip koks tepalas. O toks “tirpaliukas" skverbiasi į aliuminio struktūrą.

tai tik tiek.

Pompa

September 3rd, 2017

O kodėl nėra tipinių straipsnių? Ogi todėl, kad kai ryte atsuki vandentiekio čiaupą ir išgirsti rusyje žviegianti vandens siurblį, tai meti bet kokias fantazijas ir puoli remontuoti tai kas labai svarbu.

Siurblys statytas mano tėvo prieš kokius 40+ metų. Nežinau iš kur, bet tarybiniais laikais tėvas gavo Itališką siurblį kuri prijungė prie tarybinės automatikos ir šitas hidroforas gana gerai veikė. Tiesa, kiek pamenu iš vaikystės, vieną kartą tai tikrai (o gal ir daugiau) motoras svilo (tikriausiai dėl fazių trūkumo ir gal dar dėl stall (sustojimo)). Dar kažkada pati pompa buvo užšalusi ir jos korpusas atsidarė nuo ledo. Ir dar rodos ten turi būti kažkas kas užkelia apsukas mechaniškai (o gal tai mano vaikystės haliucionacijos), bet dabar sparnuotė sukasi 1:1 su motoru.
Taigi, išgirdęs širdį drąskanti kaukimą aš nuėjau į rūsį… motoras ranka vos sukosi, kaip sako “шарики за ролики" t.y. guoliai visai subyrėjo. Sukryžiavau pirštus ir atskiriau motorą nuo pompos. Pasisekė- parėjo motoro guoliai, o pompa gana lengvai ir be pašalinių garsu sukosi.

Kadangi technika ne rusiška, o ir gal kelis kartus ardyta viskas man gana lengvai išsiardė. Viduje biški rūdžių buvo, bet šiaip viskas normaliai.
vandens siurblys pompa hidroforas remontas elektros motoras guoliai
Read the rest of this entry »

IP telefonija “ant greičio"

August 24th, 2017

Mano darbe įvairūs skyriai yra skirtinguose pastatuose ir visur išvedžiotas vietinis telefoninis tinklas. Tam tinklui jau niolika metų, o vietomis signalai perduodami per senus, dar tarybinių laikų kabelius. Viskas kaip ir veikė, kol vieną diena dingo ryšis tarp keletos pastatų. Kaip ir niekas labai nesiparino, bet visdėlto, net šiais internetiniais laikais pasirodo žmonės mėgsta laidinius telefonus. Todėl vieną dieną buvo pasakyta- reikia sutvarkyti. Visa problema, kad to chaoso niekas neprisimena apart vieno žmogaus kuris vedžiojo ir biški prisiminiau aš. Dokumentacija tikrai buvo duota, bet per tiek metų ji pradingo. Ir tik dėl vedžiojusio asmens pareigingumo ir atsakingumo viską galima pataisyti. Bėda ta, kad tas geras žmogus, dėl savo pareigingumo ir geros darbų kokybės tikrai neturi laiko. Teko galvoti kaip čia išsisukti… kol netikėtai į šiukšlyną nebuvo išmesta arti dešimties IP telefonų.

IP telephones and linux debian or mint as PBX
Taip atrodo pilnai veikianti IP telefonijos sistema: du abonentai, PBXas ir tinklo šakotuvas
.

Aišku ne kokių nors prabangių, bet eilinės kiniškos piguvos (viestiek tie telefoniukai apie 50 kainuoja). Matyt kas tvarkė padarė tokią pat išvadą kaip ir mūsų sandėlio darbuotojai- įjungė į telefono tinklą ir jis neveikė.
Taigi- yra proga, yra priemonės ir vienas ilgas vakaras. Papildomai prireikė seno kompiuteriuko ir linux (manau tiktu ir koks rasberis). Užteko linuksinį kompą pakabinti kažkur įmonės backbone (nes skirtingos sub įmonės turi izoliuotus LAN tinklus, o backbone matosi visiems), instaliuoti biški softo ir sukonfiguruoti telefonus. Gerai, kad telefonų slaptažodžiai tai 123 arba 1234, tai nereikėjo nieko laužyti ar hackinti.

Darom taip:
Instaliuojam “asterisk". Tai kaip ir virtuali telefonų stotis.

apt-get install asterisk

Redaguojam du asterisko konfiguracinius failus (tiksliau darom copy-paste, prie esamo defaultinio teksto):
/etc/asterisk/extensions.conf

[internal]
exten=> _XXX,1,Dial(SIP/${EXTEN})

Tai buvo komanda kuri išsišifruoja taip: kai surenkam trys skaičius, jungiam prie vietinio numerio
/etc/asterisk/sip.conf

[common](!) ; this is template
type=friend
context=internal
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

Tai greičiausiai apibrėžiami leistini garso kodavimo standartai ir dar kažkas. Papildomai reikia aprašyti kiekvieną abonentą. Kad per daug nesiparinti, kiekvienas numeris turėjo loginą ir slaptažodį kuris atitiko telefono numeriui. Kaip čia:

[112](common)
username=112
secret=112

Tai rašosi į tą patį sip.conf failą.

Pačiuose telefonuose kaip serveris nurodamas Linuxinis kompas (IP pas mane, bet galima ir domeininį variantą), login, pass ir viskas. Tikrai viskas.
Balso kokybė buvo puiki…. kodėl buvo? Ogi todėl, kad testavom sistemą tik dvi dienas. Poto atėjo minėtas žmogus ir viską sutaisė.

P.S. nuotraukoje telefonai nerodo datos. Todėl, kad iliustracija daryta po visko, tas demo LANas neturi interneto, o telefonai sukonfiguruoti viešam laiko serveriui.

Steampunk stiliuje: lempa ir dėžutė

August 20th, 2017

Istorija ilga ir sudėtinga. Tiksliau jokio sudėtingumo, tik geras sutapimas ir sekmė. Viskas prasidėjo nuo to, kad į šiukšlyną išmetė tarybinį aviacinį (ar šiaip karinį) laikrodį. Aš ji pakėliau ir jisai lygtai veikė. Tačiau kiek ilgiau palaikius ir pagaliau nustačius laiką pasimatė defektas- laikrodis ėjo tik tam tikroje padėtyje ir siaubingai skubėjo. Greičio reguliavimos nelabai ir padėjo, o kiek atidžiau pasinagrinėjus pasimatė defektas- paskutinis “ratukas", tas kuris sukasi pirmyn- atgal ir kuris lemia laikrodžio veikimo greitį turėjo defektą- ašelės galiukas kuris statosi į rubino guolį nulūžęs. Čia jau nelabai ir paremontuosi- reikia keisti. Todėl laikrodukas buvo padėtas į lentyną neapibrėžtam laikui.
Praėjo neapibrėžtas laikas (kuris kogero ilgesnis nei metai) ir į rankas papuolė vieno žmogaus lobiai (sandėliuko turtas). Tarp lobių buvo alia antikvarinis laikrodukas kuris nelabai veikė ir buvo toks pusiau savadarbis. Tačiau laikrodžio mechanizmas tarybinių laikų. Ir kilo mintis, kad tarybiniais laikais visa pramonė buvo unifikuota ir mechaniniai laikrodžiai gali būti panašūs. Pirma apžiūra parodė, kad laikrodis irgi karinės kilmės tačiau kitos kontrukcijos- skyriasi užvedimo mechanizmas ir rodyklių nustatymo mazgas. Tačiau likę elementai buvo įtartinai panašūs. Ir “ratuko" modulis buvo įdentiškas, tik tiesa su kitokiais užrašais. Laikrodukas pradėjo veikti. Dabar turiu problemą nustatyti laikrodžio greitį- čia reikėtu žinoti “tiksėjimo" dažnį ir matuoti su kažkokiu elektroniniu dažnomačiu ar impulso skaičiuokliu. Bet tai per daug vargo dėl prietaisų- geriau pasinaudoti ilgo laiko matavimu. Paveikia kelias dienas- pažiūri, nagi skuba. Palėtini ir vėl lauki. Bėda tame, kad šiuo momentu reikia laukti virš savaitės, kad pamatyti ėjimo netikslumą.

steampunk style box and lamp

Kairėje laikrodis po remonto. Teko dar jį plauti ir tepti. Ir dar kiek padažyti. O dešinėje likučiai to alia “antikvarinio" laikrodžio. Į vidų sumečiau nebereikalingą mechanizmą, keletą dantračių iš senoviškų laiko rėlių ir likusią erdvę užpildžiau feikiniais dekoratyviniais dantračiais iš Kinijos.
Read the rest of this entry »

Agrocheminis eksperimentas- samanų genocidas

August 5th, 2017

Gyvenu sau fazendoje ir gausiausiai čia dera žolė. Bet ji tokia nelabai žalia ir biški (kai kur stipriai) samanota. Todėl nutariau kiek pakovoti su samanom. Kažkada pirkau parduotuvėje specialias trąšas prieš samanas ir jos tikrai gerai veikė. Tačiau kaina buvo kosminė.
Tačiau dalinė informacija apie sudėtį, bei kvapas ir beja skonis pasakė, kad tai vis dėlto geležies sulfatas su kažkokioms azotinėms trąšom. Trumpas eksperimentas parodė, kad vis dėlto esminis elementas yra geležies sulfatas, nes palaisčius jo tirpalu samano juoduoja tiesiog akyse.
gelezies sulfatas
(mega dydžio nuotrauka po poros valandų poveikio. Viena pusė nepalaistyta)
.
Read the rest of this entry »

Unhappy Tikbalang