Nugroho's blog.

Friday, June 5, 2015

Inspirasi Seri


Datang tanpa permisi

Terkantuk 
Dan dia datang 

Bersabda: nol-kan dulu sekian lama, satukan,  

Dengan jeda lebih kecil, nol atau satukan delapan kali 

Akhiri dengan nol

Dan jika semua gagal, lakukan yang sebaliknya

(ATTiny13A)

Komunikasi serial buatan sendiri

Mulai ulang dari awal

[juga dapat dari diskusi pagi tadi dengan P Heri]



Wednesday, June 3, 2015

Pembakar Kalori Alami



Jam lima adik kinan bangun

Main sama ayah, ibuk masak
 
Jam enam mas Yayan bangun, minta antar ke budhe. Sambil bawa tas Thomas berisi kotak susu, dot, jalan kereta api dan puluhan mobil, minus satu sedan favorit yang selalu dia pegang tiap ke rumah budhe yang ngasuh dia sama adek pas ayah ibuk kerja.

"Lho, ayah sama ibuk ndak kerja, main sama mas Yayan sama dik Kinan"

Dan mas Yayan nyengir lebar, gak jadi bangun, kembali ke kasur, senam ulat, menggeliat-geliat.


Tahu mas Yayan men-take over ayahnya. Adik mengalihkan sasaran ke ibuk yang hampir selesai masak. Dia tahu kalo bangun tidur gak dimandikan berarti ibuk gak kerja, waktunya tuk manja dan "susah makan" seharian, heheh...

Selesai senam ulat, mas Yayan minta iPad, lihat beruang sama embek kesukaannya.

Dan adik Kinan kembali menguasai Ayah; minta main di depan rumah.

"Eit, kalau keluar iPadnya gak boleh dibawa mas!"

Mas Yayan pilih main iPad di kamar, sementara adik ngejar-ngejar ayam tetangga di depan rumah.

Bosan main iPad, mas Yayan mau nggabung adiknya di depan dan terhenti di pintu

"Ayah..., emoh...!"

"Kenapa mas?" Ku pura-pura gak tahu

"Ayamnya ke sana, pulang"

"Lha kenapa?"

"Emoh, ayamnya dikejar ayah?"

"Lha iya kenapa?"

"Ayamnya jangan di situ"

"Lha ayamnya rumahnya di situ mas"

"Emoh, dikejar ayah"

"Ayamnya mau minta makan"

Dan dik Kinan jadi penyelamat. Dengan riang gembira dia ambil kerikil koral sisa membangun rumah dan dilempar ke ayam, yang kalang kabut lari. Makin kegirangan, ambil lagi, kejar, lempar lagi

"Huss huss"

"Woiii dik, dik sudah.... Sini, jalan sini. Ayamnya kenapa?"

"Makan"

"Makan? Dikasih makan apa sama adik?"

"Makan, ..., batu"

Masalah teratasi sementara, meski phobia ayam mas yayan masih agak parah. Entah kenapa beberapa bulan ini dia jadi takut ayam, padahal dia berani pegang cicak, kecoak, bekicot, cacing bahkan ular. Mungkin karena gen yang baru-baru saja terbangun (ayahnya juga takut ayam gara-gara ketika umur tiga tahun dikabyuk induk ayam abu-abu superbesar yang marah karena gak rela anaknya yang baru menetas dikejar dan diremas-relas setelah tertangkap), sepertinya ada pengalaman buruk yang sama dengan ayahnya :)

Jadilah kami bertiga bergumul di depan sambil nunggu ibuk selesai masak

Mas Yayan mengeluarkan truk-box yang box nya sudah copot tuk dinaiki, meluncur di jalan depan rumah yang memang konturnya miring.

Dik Kinan menggeret ayah ke sana kemari sambil sesekali menghadang jalur truk-box masnya sambil nyengir, sengaja agar ditabrak. Mas Yayan yang protes habis-habisan.

"Adik, ayah, jangan di situ nanti ketabrak"

Dan adik pun kegirangan sambil bilang "hehehe, habak..., habak..."

"Emooh, ngalih adik. Ayah, adik jangan di situ"

Juga sesekali menyapa pus yang lewat. Dik Kinan dan mas Yayan keduanya suka kucing. Khusus dik Kinan, tiap jam lima pagi dia dibangunkan oleh meong-an pus yang baru pergi setelah dia bangun. Kami tidak punya kucing.

Dan sepertinya Dik Kinan semacam punya magnet yang menarik kucing-kucing tuk mendekat tuk sekedar menggosok tubuh mereka ke kakinya. Masalahnya, sang magnet langsung heboh dan minta gendong ayahnya jika beberapa pus mendekat (beda dengan Mas Yayan yang suka digitukan sama pus). Bukan takut, sepertinya geli, karena dari atas gendongan ayah dia minta ayahnya yang ngelus-elus pus yang bergerombol itu. :)

....

Ibuk selesai masak, gabung sebentar sambil nunggu air mandi adik mendidih.
...

Ketika siulan ketel memanggil, adik sudah siap dengan jawaban
"Emoh..."
"Loh, ayo mandi dulu dik, biar cantik" kata ibuk
"Emoh, gak usah"
Dan kami pun berpandangan...
"Wow, kosakata baru..., hihihi. Siapa yang bilang 'gak usah'? Budhe ya?"
"Iya" kata adik

"Main air yuk dik" ayah cari inisiatif lain.
"Emoh" adik sudah pengalaman ternyata, :)

Tak kurang akal, ayah masuk, ambil cangkir dan sendok favorite adik, ke depan rumah lagi dan

"Tadaa, loh, cangkirnya kotor, dicuci yuk..." sambil ngeloyor ke dalam

Dan adik pun dengan semangat ikut, dan buka baju, dan nyebur bak berair hangat

(Paradoks: adik susah dimasukkan bak mandi, juga susah tuk diangkat keluar dari bak mandi)

(Juga berlaku untuk mas Yayan, dengan catatan khusus, :) )

Tahu adiknya mandi mas Yayan pun kembali minta ayah tuk nyalakan iPad.

Nah, kesempatan.

"Mas, ayah makan dulu ya"
"Iya"

Akhirnya bisa sarapan. :)

@@@@

Ayah kenyang.

Adik akhirnya mau diangkat dari bak mandi.

Dan mas Yayan pun menjemput bola

"Ayah, gak mau"

"Eh? Gak mau apa mas?"

"Gak mau mandi..."

(Bola yang dia jemput adalah ajakan tuk mandi seetelah adik, mas Yayan cukup visioner)

"Lha, badanya bau tuh, semalam ayah susah tidur pas dipeluk mas Yayan, bau"

Ibuknya nyeletuk " biarin ya mas, asal mas Yayan nyenyak"

:(

"Emoh mandi, lihat beruang dulu, gak selesai-selesai"

(Cara bikin alasan pun membuat ayah dan ibuk terpingkal-pingkal)

"Nanti siang mandi ya?"

"Iya"

"Pinter, makan dulu yuk"

"Emoh..,"

"Lho, ayo..."

Adik jadi pengalih perhatian

"Ayah, naik"

"Wah, cantiknya cewek ayah"

"Naik..." Kata adik sambil menarik-narik tangan ayah minta gendong.

"Ke mana dik, sisiran dulu biar cantik" kata ibuk

"Ke sana" sambil nunjuk atas, dia minta naik, main di lantai dua.

"Iya, sisiran dulu no"

"Ayah, ayok naik" mas Yayan ikut nimbrung, iPadnya dibiarkan tergeletak di kasur, adegan hampir akhir Beruang dikejar Masha n the gank tuk di cat agar sesuai lukisan.

"Iya ni ayah gendong adik."

"Bedak-an dulu dik" kata ibuk yang berjuang mendaratkan puff bedak ke wajah adik. Mungkin dia pikir sudah cantik alami, jadi gak suka pakai bedak.

"Pelan-pelan mas, pegang itu."

Main di balkon loteng bertiga.

Gantian ibuk sarapan.

@@@@
Kejadian di loteng bisa dirangkum dengan kata-kata ayah sebagai berikut

"Eit awas, pelan pelan mas

Adik naik sofa merah? Iya gitu, pelan-pelan. Duh, pinternya

Awas mas, kalo lonjak-lonjak jangan dekat-dekat adik

Ups, hampir saja. Dik jangan minggir-minggir. Sini duduk sama ayah

Ayah buka pintu, tapi jangan manjat pager ya?

Heiii, mas.... Katanya gak manjat, sudah-sudah, emoh, yuk masuk aja

Ya sudah, duduk di kursi hijau aja. Adik juga.

Eit, gak boleh di seret ke pagar kursinya. Hayooo, mau buat manjat pagar ya mas? No no no no no

Masuk lagi yuk

Pintunya ditutup dulu. Tunggu ibuk naik

Eh, apa dik? turun?

Mas, mas Yayan tunggu ayah ngantar adik turun ya?

Ikut? Iya, yuk, pelan-pelan

Awas mas, pegangan hayo

Jangan lompat, mas, jangan lompat, masih tinggi. Mas Yayan....

Duh, mesti mas Yayan ini

@@@@@

"Ayah, mandi sama ayah"

"Iya, ayah nggodok air dulu ya"

"Sekarang"

"Iya, yuk copot baju, uh baunya" pakai termos dulu, air yang dijerang, nanti kalo mendidih, jadi gantinya

"Ambil truk box sama truk tangki sama mobil sedan putih sama kapal"

"Mau diapakan?"

"Dicuci sama mas Yayan"

Dan jadilah ayah "mencuci" mas Yayan selama lima menit dan kemudian menunggu sampai mas Yayan selesai "memandikan" kendaraanya.

Setelah hampir satu jam mas Yayan akhirnya mau pakai baju. Tak perlu handuk karena sudah kering dari tadi, :)

Menyusul adik dan ibuk ke depan rumah. Makan didulang ibuk, lanjut didulang ayah. Main air dari keran tuk menyiram tanaman hingga ganti baju lagi.

Main air lagi, basah lagi. Baju favoritnya di rumah basah semua, sebagian dicuci dan beberapa di rumah budhe.

Gak mau pake baju yang lain, mas Yayan akhirnya nunggu baju kering sambil main iPad di kamar adik sampai tertidur, cuma pakai kaos dalam.

Dan adik mengambil kesempatan tuk main sama ayah. Dari lonjak-lonjak di kursi ruang tamu, guling-guling di kamar mas Yayan, pura-pura tidur saat anak tetangga datang (karena ayah ingin full main cuma berempat seharian, mumpung libur) hingga membajak sepatu kulit hak tinggi punya ibuk tuk dipakai jalan-jalan ke perempatan atas tuk lihat pus. Dan sepatunya tidak lepas sama sekali. Benar-benar cewek ayah, tapi pulangnya minta gendong, :)

Listrik padam

Lumayan, mas Yayan tidur siang dua jam.

Bangun, pakai baju yang barusan kering. Makan didulang ayah, sesekali adik nimbrung minta hak juga.

Langit mendung

Lihat ayah ibuk main badminton. Mas Yayan jadi net-nya, dan ibuk main badminton sambil gendong adik, :D

Kejar-kejaran sama adik di dalam rumah sambil sesekali menarik tali gorden jendela model roll sambil nyeletuk

"Loh, jalannya rusak kena hujan ayah. Hujannya nakal, mas Yayan gak bisa main di luar"

Atau

"Loh, ada gludug"

Atau

"Hujannya apa itu ayah? Hujannya deres"

@@@@
Sore, adik sudah cantik habis mandi.

Listrik nyala

Mas Yayan pun berkata

"Emoh mandi, tadi sudah"

"Lha, badanya bau tuh"

"Emoh"

"Nyuci truk box yuk"

"Emoh, truknya ndak kotor, masih bersih, tadi sudah dicuci mas Yayan"

Ayah ibu mati kutu.

Mas Yayan gak mandi sore

Dan ayah pun susah tidur malam di samping mas Yayan.

Keuntungannya? Bisa nulis ini, :)



Pemeran:
Ayah
Ibuk
Mas Yayan (Alfa)
Adik Kinan (Beta Kinanthi)

Kinan pake sepatu "Punya Ina"
(ngamuk kalo dibilang itu sepatu punya ibuk, :) )




















Nugroho

http://aravir-rose.blogspot.com

Monday, June 1, 2015

Timer Time: Using Internal ATTiny13A Chip’s Timer, Automatic Mode, With Duty Cycle, and Phase Correction


The problem with the previous code is the phase, and it didn’t arise until we applied it on some ‘real’ hardware.

Some hardware, like motor DC, need a signal with fixed phase, even the frequency’s changed.

The previous code have the ‘center of wave’ that change according to OCR0A value. It’ll move forward on the small OCR0A value and vice versa. On application using LED, it’s enough, since the device ignore the phase.



Some hardware need a fixed center of wave.

We could do that by normally increasing TCNT0 counter, set the flag down when the value reached OCR0A value, counting up till 255, counting down with the flag still down till reached OCR0A value, set the flag up, continue to counting down to 0, counting up again… so on

Notice that one cycle need two step (count up, count down), naturally it has half speed time / or half frequency.

But the center of wave’s now fixed, in the beginning of the wave, :)

.include "../tn13Adef.inc"
.def a=r16
.org 0000
init:
sbi ddrb,0                  ; pin B0 as output
ldi a,0b10000001          ; Fast PWM mode 1 (Duty Cycle with Phase Correct Mode)
out TCCR0A,a
    
ldi a,0b00000101          ; pre-scaler /1024
out TCCR0B,a
    
    ldi a,8
    out OCR0A,a

loop:

rjmp loop






.

Beta's Auto Awesome


by G+ Photos, :)





Timer Time: Using Internal ATTiny13A   Chip’s Timer, Automatic Mode, With Duty Cycle

Now , how to set the duty cycle?

Uh, what’s duty cycle?

Well, our previous program have the LED output turned on and off with certain frequency. Of course.

But, how about set it up, so it will turn on for 1 ms and then turn off 0.5 ms, on 1 ms, off 0.5 ms and so on. Thus, the duration of high and low is different, that’s duty cycle, as far as I know, :)


And, we already have a weapon, the OCR0A, as a value where the high become low. Of course we have to set the timer to PWM Mode 3, so after the timer set the flag it will continue to 255 instead of reset the counter.

ldi a, 0b1000 0011
out TCCR0A,a


The Code:


.include "../tn13Adef.inc"
.def a=r16
.org 0000
init:
sbi ddrb,0                ; pin B0 as output
ldi a,0b10000011          ; Fast PWM mode 3 
out TCCR0A,a
    ldi a,0b00000101          ; pre-scaler /1024
out TCCR0B,a
    
    ldi a,2
    out OCR0A,a

loop:

rjmp loop





.

Timer Time: Using Internal ATTiny13A Chip’s Timer, CTC with Automatic Mode


What if we want it to do the task automatically? With neither interrupt routine nor call command?.

We could use CTC mode . The TCNT0 will start counting up, restarted to zero (and generate interrupt) if its value reaches OCR0A value (the compare value we set).

Since, in the matter of talking, the timer has its flag status on pin B0, if we set it as output, we could see the status (high/low, on off) via led connected to it and ground.  

Note that we don’t use ‘interrupt routine’ but the system’s still generate an interrupt.

.include "../tn13Adef.inc"
.def a=r16

.org 0000
init:
sbi ddrb,0              ; pinb as output 
ldi a,0b01000010        ; CTC mode
out TCCR0A,a
ldi r16,0b00000101      ; pre-scaler /1024
    out TCCR0B,a
    ldi a,200                ; compare value
    out OCR0A,a             

loop:

rjmp loop



####



Alfa, 35 Month Ago

A photo posted by Aravir Rose (@nugnux) on
.


323f (5) amp (1) android (12) apple (7) arduino (18) art (1) assembler (21) astina (4) ATTiny (23) blackberry (4) camera (3) canon (2) cerita (2) computer (106) crazyness (11) debian (1) delphi (39) diary (286) flash (8) fortran (6) freebsd (6) google apps script (8) guitar (2) HTML5 (10) IFTTT (7) Instagram (7) internet (12) iOS (5) iPad (6) iPhone (5) java (1) javascript (1) keynote (2) LaTeX (6) lazarus (1) linux (29) lion (15) mac (28) macbook air (8) macbook pro (3) macOS (1) Math (3) mathematica (1) maverick (6) mazda (4) microcontroler (35) mountain lion (2) music (37) netbook (1) nugnux (6) os x (36) php (1) Physicist (29) Picture (3) programming (189) Python (109) S2 (13) software (7) Soliloquy (125) Ubuntu (5) unix (4) Video (8) wayang (3) yosemite (3)