Randominizatorius

Vienoje vietoje prireikė nepriklausomo “randominizatoriaus”. T.y. prietaisiuko, kuris su žinoma matematine tikimybe pasako “True” arba “False”.

Random

Veikia taip- paspaudi mygtuką ir su maždaug 8% tikimybe užsidega raudona spalva, kitu atveju užsidega žalia spalva. Spalva šviečia maždaug 3 sekundes. Dar kas kažkiek sekundžiu 3 milisekundėm mirkteli mėlyna spalva- čia kad priminti, kad prietaisas veikia.
Nežinau kaip bus toliau, bet teoriškai prie randominizatoriaus jungsis kažkokia periferija. Tačiau čia tik prototipas.
Viskas padaryta ant Atmelio minimalistinės mikroschemos – AT90S2343. Panaudojom mano PCB47415.
Softas labai paprastas- pagrindiniam cikle sukasi skaitliukas 0-255. Jis sukasi visada ir ant pilno greičio. Kiek jis ten sukasi nežinau, bet MCU taktinis dažnis artimas 1MHz.
Tuo tarpu kiek letesniu greičiu taimeris tikrina mygtuko būseną. Jei nuspaustas, lygina random skaičių su konstanta. Pagal tai ir sprendžia kokia spalvą užžiebti. Gal ir nėra gerai, dėl atsitiktinių skaičių mygtuko apklausos naudoti taimerį- jis gi susijęs su procesoriuko dažniu ir gal gaunasi kokia matematinė priklausomybė? Tačiau per tą patį pertraukimą dar kartais užžiebiamas mėlynas LEDas ir šiaip. Žodžiu, lygtai skaičiai ir atsitiktiniai gavosi.
Būtent atsitiktimumą apsprendžia žmogus paspaudęs mygtuką.

Softo source code ir kompiuliuotas failas:
Source code and hex for Atmel MCU.

Beveik Midsomeris ir biški dar

Nu jo, ir dar biški iš to pačio. Tikriausiai kai kurie žino tokį filmą serialą- Midsomerio žmogžudystės. Nu va toks va toks:
Littledean = Misomer?
Nepanašu? Nu šiandien mano fotošopas blogai dirba. Bet sekanti foto tikrai suteiks tą reikiamą atmosferą:
cattle and graveyard
Nu jau pajutot? Čia buvau 3 dienas- dvi su reikalu, vieną tik kad lėktuvėlio bilietuko neturėjau. O poto, traukinukais ir autobusais į Čiukotkos sostinę. Čia pagal planą manęs laukė vienas muziejukas.
O dabar prasidės bambesiai ir kritika. 🙂
A tiesa, dar vienas gadgetas kuris kiek sudomino. Tiesa nelabai žinau kas tai per vienas, tačiau logiškai išmasčiau, kad čia lazerinio atstumo matuoklio atšvaistas. Gal.
laser reflector
Tikriausiai matuoja sienos poslinkį. Gal netgi labai preciziškai- bijo, kad metro tunelis neužsikimštu.
Taigi, šio straipsnio muziejus- Natural History Museum. Prieš savaitę žiūrinėjau kitą muziejų toje pačioje gatvėje, Science Museum, tai gal kiek paveikė mano nuomonę. Beja apie mokslo muziejų kažkodėl ir neparašiau. Gal parašysiu vėliau- paprasčiausiai nespėjau parašyti ir teko išvykti. Taigi, trumpas verdiktas anot vieno žmogaus- “kažkoks naivus”. O mano nuomonė kiek piktesnė- kaip pastatė ekspoziciją kokiais 84 metais, tai taip ir liko su nedideliais pakeitimais. Netgi dulkes nelabai valė, o “čiučelos” visai išbluko ir nušiuro. Čia tos, kurios ne iš gipso ar plastiko. Žymiai gražesnes aš mačiau Tado Ivanausko muziejuje. Tiesa jame buvau… tarybiniais laikais. Tai gal ir musiškes kandis suėdė? Gal buvot, matėt?
Bent jau mano atmintim, tai musiškiam tikrų eksponatų žymiai daugiau nei angliškam… Tiesa, mūsų specializuojasi gyvuliukuose, o ten visko po truputi. Kad ir mineralais visokiais pripildytos lentynos. Tiesa, lempas reikia perdegusias pakeisti, dulkes nušluostyti ir dar kur maži vaikai stiklus nučiulpė.
gamtos muziejus
O dabar pabambėsiu kaip tikras mizantropas– gerbiami tėveliai ir mamytės. Kol jūsų atžala dar tebėra lervos stadijoje, nafig tempti jį į muziejų. Jis dar tik cypia ir varto akis. Ir jam dzin tas muziejus. Kai jūsų atžala jau išmoksta vaikščioti ir kiek mąstyti, paaiškinkite, kad interaktyvius eksponatus reikia naudoti pagal instrukcijas, kad suprasti kokį nors reiškinį ar efektą. O ne beprasmiškai daužyti iš visų jėgų. Ir dar pažiūrėkit- gal jūsų atžala nėra labai protinga ir papildys paprastų TV žiūrėtojų minią. Ir jiems vistiek nesuprantama kuom skiriasi “digitigrade” nuo “plantigrade” ar “ungulates”. Ir koks ryšis tarp “Digitus” ir “Digital” 🙂
Taip pat nereikia tempti į tokius muziejus paauglių kurie tuom nesidomi- nes jie tik šliaužia lėtu tempu akis įbedę į savo mobilius telefonus.
Pagrindiniai tokių muziejų tikri lankytojai tai jauni ir nelabai jauni tėveliai (t.y. vyrai) kurie gana smalsiai studijuoja eksponatus. 🙂
Dar kiek nustebino siuvenyrų kainų logika- onikso akmens bliūdelis kainuoja £4, o plastikinis kiniškas puodelis- £7.
Daugiau kaip ir nėra ką pasakoti. Gal kiek nustebino žalių papūgų gausa Haid parke…

ARM:0005 arba paprastas PIO kojų pertraukimas

Gali kas nors paklausti, kam aš rašau šituos trumpus straipsnius. Ogi pirmiausia, čia yra mano “brain dump” -papildoma atmintis. O antriausia, pilnas internetas tų pačių straisnių apie šitą reikalą… bet visi arba rašo apie tą patį pavyzdį nuo atmelio arba jau šneka apie labai advanced versijas.
Ir net pavyzdys nagrinėja iškarto keletą pertraukimų, o norisi suprasti kur kas eina kiekvienam atskirai. Taigi pertraukimas (interrup) pagal PIO. Nu tipo pagal kojas bendrai.

PIO Int handling in ARM MCU
Viskas iš pradžių pasirodė paprasta, bet neveikė :). Todėl ilgai ir nuobodžiai guglinau ir bandžiau. LCD ekraniukas rodo minimalistinę informaciją: pirmoje eilutėje šiaip pavadinimas. Antroja, kur “STATUS”, rodo kintamojo reikšmę kuri keičiasi tik pertraukime. Trečioje eilutėje- širdelė. Tai pagrindiniam cikle, po įvairiausiu skaičiavimu paišomos mažesnės ir didesnės širdelės. Jei širdelė pulsuoja, reiškia, kad pagrindinis ciklas dar dirba ir softas neužstrigo.
Ir paskutinė eilutė, kur “INFO”. Čia paprasčiausiai nuskaitoma informacija iš visų MCU kojų ir parodoma. Kaip diagnostika.

Softas paprastas- pagrindiniam cikle sukasi daug pauzių, pulsuojama širdelė, nuskaitoma porto būklė ir parodoma per LCD ekraniuką, ir rodoma kintamojo reikšmė.
Tuo tarpu, trys kontrolerio kojos suprogramuotos kaip mygtukai į žemę kai nuspausta. Normalioje būklėje daroma pull-up. SW0 didina skaičiaus reikšmę, SW1 mažina reikšmę, o SW3 nulina.
Nuspaudus bet kurį iš SW mygtukų, iššaukiamas pertraukimas kuris ir atlieką darbą. Puikiausiai skaičiuoja kontaktų drebėjimo skaičių. Todėl nenustebkit, kad paspaudus mygtuką skaičius pasikeičia keliais vienetais ar šimtais- čia taip turi būti.

Pagrindiniai atradimai šioje programoje- kad negalima pasirinkti bet kokio pertraukimo tipo. Nes nuo “edge” trigerių kažkodėl pertraukimo softas užspringsta.
Ir dar sužinota, kad LCD paprogrames reikia patobulinti… ir jos patobulintos. Dabar teoriškai lygtai LCD veikimas nebeiškraipo kitų MCU kojų konfiguracijų. Čia ypač liečia “direct drive” ir “pull-up”.

ARM PIO INT testo source code ir hex failas, hexas aišku sukompiliuotas Atmel AT91SAM7S256AU čipui.

ARM:0004 arba paprastas serial

Trumpas papildymas- kiek pataisyta LCD biblioteka (ir senam poste pataisyta: pakeista pauzės formavimas, kai kurie parametrai, inicializacija. Dabar LCD ekranas pasileidžia iš karto).
O šiaip šitas postas apie patį primityviausią serial duomenų perdavimą naudojant UARTą. Čia nenaudojami jokie interuptai ir panašiai. Paprasčiausiai tiesiogiai surašomi duomenys į reikiamus portus, ir jei reikia nuskaitomi.

ARM serial testas LCD
Visa informacija rodoma per LCD ekraniuką. Antroje eilutėje matosi ką tik išsiustas baitas, kiek dešiniau paskutinis priimtas baitas. Užtenka pirštu sujungti IN su OUT ir atsikartoja informacija- gaunasi kaip ir loop-back testas.

Ta CPU clock eilutė grynai informacinė. Kažkur radau internete, kad taip galima sužinoti esamą CPU taktinį dažnį. Tai va kažką ir rodo. Tiesa dažnis kartais keičiasi.

ARM serial test ir LCD source code ir hex, hexas aišku sukompiliuotas Atmel AT91SAM7S256AU čipui.

ARM:0003 arba LCD ekraniukas

Čia toks greitas pranešimas. Kai būna noras ir laikas, kartais paspaudžioju savo ARM devboardą. Kadangi ten viskas nuo nulio, tai visiškai įdomu. Ypač low-level bibliotekų rašymas. Pažiūrėjęs į savo ARM eksperimentus, nutariau parašyti tekstinio LCD ekraniuko biblioteka. Jos rašymui, kaip pagrindą panaudojau jau visam internetui žinomą Peter Fleury darbą. Tik reikėjo viską adaptuoti AT91F serijos ARM procesoriukui. T.y. perrašyti visą hardwarinę dalį. Taip pat kiek supaprastinau opcijas- dabar prie LCD ekrano galima jungtis tik 4 bitais.
Kadandingi pas šitą (AT91SAM7S256) nėra jokių kojų bankų, o visos PIO eina iš eilės, teko pedaryti iš esmės duomenų perdavimą. Užtat dabar galima jungti prie bet kurio PIO.

ARM SAM7 text LCD library

Prie bibliotekos eina paprasta testinė programa. Ji nekorektiška, nes LCD ekranas pajungtas grynai skaitmeniškai ir kontrastas (Ve) padarytas grubiu PWM ciklu. Gal ateityje, kai skaitysit kitus postus, bus atskiras straipsniukas apie PWM ir ekranas valdysis kitaip. ARMas yra 3V, tuo tarpu LCD 5V, bet puikiausiai veikia- vadinasi IO yra suderinamas įvairiom įtampom.

Biški apie biblioteką. Ji daug maž suderinta su Peterio darbu, pagrindiniai nustatymai faile “lcd.h”. Ten reikia aprašyti LCD displėjų, jo dydį. Svarbiausia aprašyti kokia koja kur eina- tai daroma, kaip įprasta pas mano matytus SAMų projektus hardware faile “board.h”.

#define LCD_RS (1 < < 17) //PA17 #define LCD_RW (1 << 18) //PA18 #define LCD_E (1 << 19) //PA19 #define LCD_D4 (1 << 20) //PA20 #define LCD_D5 (1 << 21) //PA21 #define LCD_D6 (1 << 22) //PA22 #define LCD_D7 (1 << 23) //PA23

Čia matosi, kad LCD pajungtas prie 18- 23 PIO kojos.
Dar paminėsiu, kad softas turi veikti prie bet kurio SAM7 serijos ARM procesoriuko, tik kad aš išbandyti galėjau tik su savo AT91SAM7S256.

Nu ir aišku:text LCD library for ARM source code and compiled hex file, hexas aišku sukompiliuotas Atmel AT91SAM7S256AU čipui.

P.S. prie “standartinių” paprogramių, LCD.C turi ir “user defined symbol” paprogramę. Peteris ją užmiršo.

Medžiagų medžioklė

Savadarbėm konstrukcijom ar darbam labai dažnai prisireikia medžiagų. Kartais keistų medžiagų, kartais jos naudojamos visai ne į temą. Šis postas ne šiaip apie kažkokių daiktų paiešką, bet rinkinys pačių keisčiausių medžiagų/daiktų įsigijimą ir naudojimą ne pagal paskirtį. Tikiuosiu komentaruose atskleisit savo keistus nutikimus susijusius su šia tema.

Taigi, pradeda sąrašą:

1 vieta. Kogero pats egzotiškiausias ir juokingiausias reikalas. Prireikė minkštos termoplastiškos gumos. Tai tokia guma kuri labai minkšta, elastinga, tačiau minkštėja nuo šilumos. Teoriškai pakaitinus, ji pasidaro skysta. Su tokia guma, pvz, galima nuimti formas nuo daiktų, hermetizuoti ir t.t. Mano tėvas kažkada tokią gumą tarybiniais laikais iš kažkur brangiai gaudavo. Tačiau turimas likutis parodė, kad guma nėra labai kokybiška.
Paieškos internetuose nieko gero nedavė- arba neradau, arba reikia pirkti bačką.

Sprendimas: pats pigiausias guminis bybis iš kinijos. 🙂 Padarytas iš pigaus smirdančio termoplastiko. Aišku pjaustyti jį griežinėliais buvo labai siurrealistiška… 😛

2 vieta pagal iškrypimą. Čia pusiau sprendimas, nes iki galo ir neprireikė visko daryti. Daugelis žino (ypač visokie aliektrykai), kad kartais laidus prakišti per kokias žarnas (vamzdelius) labai sunku. Laidai kimba ir panašiai. Tada naudojamas skystas muilas, fairy ir panašiai. Tačiau vieną dieną nepadėjo nei muilas… prisiminus porą nelabai padorių posakių buvo vaistinėje nupirktas vandens pagrindo lubrikantas. Nu čia kur putkom tepti ar šiaip smaukyti. Tik jis rupužė labai brangus, ar tik ne 30Lt traukia buteliukas. Tačiau ši medžiaga padėjo. O ji dar gera tuo, kad visiškai inertiška, vandens pagrindo ir kai sudžiūva, tai lieka kažkokie vos matomi miltukai. Kurie beja vėl atsistato į slydumą jei gauna vandens. (Šiaip tai ten kažkas panašaus į polietilenoksidą, dar vadinama polietilenglikoliu, PEG. Medžiaga naudojama visur. Nuo laisvinamųjų vaistų, dantų pastos, HP rašalo iki saldainių minkštiklio).
Kažkada šitą istorija papasakojau vienam pažįstamam veterinoriui. Jis tik šypetelėjo ir pasakė: -Jus geriau nusipirkit veterinorinio lubrikanto miltukų. Už tą pačią sumą galėsite užsimaišyti kibirą lubrikanto! Ir tą, 15 litrų kibirą. Ir visiškai jokio kvapo, nes ten grynas PEG ir kažkokie dar surišėjai. Tiesa, kelis kartus buvau užsukęs į veterinarinę vaistinę ir tokios medžiagos nemačiau, tačiau jaučiu, reikia ieškoti tokioje vaistinėje, kur karvytėm vaistus parduoda, o ne miestietiškose, kur chamiakams ir kačiukams.

3 vieta, jau visiškai be jokių iškrypimų. Prireikė tikros tvirtos odos diržo (arba jo dalies). Senų diržų spinta pasakė, kad arba diržai dar geri, arba jie fuflo. Trumpa apžiūra visokiose laisvės alėjose parodė, kad net ir “tikri odos” diržai kurie pigūs, yra tiktai gera imitacija. Kažkada net man padovanojo tokį ala odinį diržą, tai po pirmos savaitės, paaiškėjo, kad tai kažkos kartonas, škurlys, ir plonytis sluoksnis to, kas panašu į odą. Toks popieriaus storumo ir tvirtumo. Tuo tarpu normalus odinis diržas virš 100Lt kainuoja.
Sprendimas- Lytagra. Vaikščiodamas po parduotuvę, išpardavimo skyrelyje radau kažkokį BDSM rinkinuką. Ten daug diržų, sagčių, visokių šniūrų, sujungimų ir metalinių detalių. Teoriškai skirtas arkliui, bet kiek bevarčiau tai nesupratau kur čia tas arklys kišamas ir kur ištraukiamas. Bet reikia įsivaizduoti, kad odinių diržų kiekis stebėtinai didelis- nes galima apvynioti gyvulį. O ir tvirtumas analogiškai arkliškas. Ir kainavo tik 25Lt. Sprendžiant iš matomų lipdukų, Lietuvių ūkininkai BDSM neužsiima, nes nukainuota kokius 4 kartus per pusę.

Gal vėliau dadėsiu daugiau. Kol kas šitie trys buvo patys juokingiausi.

Dar postas apie nieką

Užkniso rutina, beveik nelieka laiko savo malonumams, jau nekalbant apie rašymą į šitą blogą. Net pradėti ir gana įdomūs projektai dulka nepaliesti…

Pirmiausia trugdo tiesioginis darbas- kažkaip po truputi, nepastebimai tapau chemiku. Nors kažkelintoje klasėje mokyklos cheminkė norėjo mane “sukirsti” ir palikti kartoti kursą. Tik kyšiai tada man padėjo. Nors manau, kad ta mokytoja taip užsidirbdavo pinigų, nes kažkaip save laikau nelabai durnu žmogum. Neminėsim jos pavardės nes ji gal jau mirusi arba labai jau garbingo amžiaus.

Car
Continue reading →

Arkliai ir svastikos

Išskyriau kiek daugiau laiko senovės tyrimams ir specialiai šiam blogui parinkau teminių nuotraukų… 🙂
Kas daugiau mane žino, tas tikrai atsimena, kad aš nuo vaikystės mėgstu paišyti svastikas 卐 (ir net turėjau dėl to nedidelių problemų mokykloje). Ir dar kad man patinka arkliai- vieną netgi kokius septynius metus net auginau.
Taigi šio straipsnio tema- svastika ir arkliai. Crazy.
Vien tik dėl to, kad kažkoks durnelis pasinaudojo šiuo simboliu tai nereiškia, kad reikia dabar imti ir užbaninti visam laikui.
Tikrai daugelis žino, kad svastika naudojama daug kur tolimuosiuose rytuose. Gal kas mažiau žino, kad braliai Latviai labai irgi naudojo šitą simbolį. Ir tikrai daug jų senovinių akmenų su įvairiom svastikom buvo sunaikinta po paskutinio karo. Pakeliui ir akmenys su semi-svastikom- įvairiais geometriniais ornamentais ir … žirgeliais. Iš Lietuviškų svastikų mums labiausiai žinomi būtent tie žirgeliai, kurie kalami prie stogo kraigo. O pilnai stilizuota iki minimumo- tai svastika be detalių ir kiek kitaip nupaišyta.
Šita sofistika ir sujungėm arklius su svastikom. O dabar važiuojam laiku atgal, maždaug 600 … 800 metų iki žydelio gimimo. Tai graikiško geometrinio meno periodas.

kudas arklys ir mazos svastikos
Continue reading →

Biški softo CNC motoriukams

Tai rezervinė kopija mano ala “cnc” projektui- AVR source kodas bei sukompiliuoti hex failai. Taip pat exe failas windowsams kuris valdo visą šitą mašineriją. Tiesa nežinau ar tai 32 ar tai 64 bitų versija.

Vienas AVR soursas skirtas valdyti steperius per paprastus mosfet raktus. Antra versija naudoja du Freescale/Motorola čipus MC34922. Teoriškai abi versijos turi veikti vienodai, viena skirta unipoliariniams motoriukams, kita bipoliariniam. Senesnė versija išbandyta praktiškai, tuo tarpu naujesnė tik prie palaido motoriuko.
Softas kiek skiriasi- nauja versija turi srovės nustatymo komandas. Tačiau senesnis softas paprasčiausiai ignoruoja šias komandas.

Softas.

Tai negalutinė versija, todėl skirta tik eksperimentams.

Kleve

Kad pagerinti darbą su SpectraBlue spektrometru, darbdaviai išgrūdo mane ir dar vieną darbuotoją į snuduriuojantį miestuką Kleve. Kadangi lėktuviukai tą dieną tiesiogiai neskrido, tai teko sėsti į dar mažesnį lektuvėlį ir aplankyti keliom valandom braliukus Latvius.
Latviai
Ten apžiūrėjom jų 3D pagrindinį simbolį, pavažiavom tramvajum nauju ir viskas. Pas Latvius tik patiko, kad bent jau jų pagrindinio miesto transporto sistema unifikuota ir bilietai su RFID sistema.
Continue reading →