Nugroho's blog.

Sunday, April 9, 2017

Turtle in Circle


I use previous code and improve it so the turtle could only move at certain circle area.

import turtle
from random import uniform
import numpy as np

turtle.shape("turtle")
#turtle.speed(1)
x = 0
y = 0

for i in range (1,1000):
a = uniform (-90,90) #angle
turtle.left(a)
d = uniform (-75,75) #distance
x += d*np.cos(np.pi*a/180)
y += d*np.sin(np.pi*a/180)
r = np.sqrt(x*x+y*y)
if r>40:
turtle.setx(0)
turtle.sety(0)
x = 0
y = 0
turtle.forward(d)

turtle.exitonclick()





.



Anti MainStream.

Saat booming sepatu roda, Alfa malah sibuk berlatih skateboard, :D .


Saturday, April 8, 2017

Random Turtle Movement.


I use turtle module, the standard module, in Python.

The turtle movement has random direction (angle), and random distance (forward/backward).

import turtle
from random import uniform

turtle.shape("turtle")
turtle.speed(1)
for i in range (1,100):
#random angle
a = uniform (-90,90)
turtle.left(a)
#random move
d = uniform (-100,100)
turtle.forward(d)

turtle.exitonclick()






.



The Power of 10



Rules for Developing Safety-Critical Code:


Avoid complex flow constructs, such as goto and recursion.


All loops must have fixed bounds. This prevents runaway code.


Avoid heap memory allocation.


Restrict functions to a single printed page.


Use a minimum of two runtime assertions per function.


Restrict the scope of data to the smallest possible.


Check the return value of all non-void functions, or cast to void to indicate the return value is useless.


Use the preprocessor sparingly.


Limit pointer use to a single dereference, and do not use function pointers.


Compile with all possible warnings active; all warnings should then be addressed before release of the software.



Friday, April 7, 2017

Prime Number on Python

We've done it using Delphi, how about Python? Easy, :)


for i in range (2,200):
prime = True
for j in range (2,i):
if i%j==0:
prime=False
if prime==True:
print i


.

Prime Number on Delphi

Using Delphi to generate prime number? Okay, there's some code out there with

if (i mod 2 <>0) and (i mod 3 <>0) and (i mod 5 <>0) and (i mod 7 <>0) then i is prime.

Don't use that.

That's just for prime number below 100.

Use this instead.

var i,j:integer;
prime:boolean;
begin
for i:=2 to 200 do begin
prime:=true;
for j:=2 to i-1 do begin
if i mod j=0 then prime:=false;
end;
if prime=true then memo1.Lines.Append(intToStr(i));
end;
end;
.

Wednesday, March 29, 2017

Rutinitas Sore.

Buka pintu garasi. 

Disambut Alfa Beta.

Memasukkan si ducati sambil dengar mereka cerita tentang hari mereka.

Dikasih sandal sama Beta saat lepas sepatu, sambil dengar rentetan cerita Alfa tentang di sekolah dan di rumah Budhe yang diulang persis sama Beta.

Masuk rumah, mandi, makan sambi baca buku, cerita mereka belum habis.

Kruntelan serumah, diiringi Sophia, Mickey dkk, Kion, Bunga, Beasty, PJ Mask, Captain Jack, ...

Jam tujuh Alfa minta makan, didulang ayah. Beta minta susu dan iPad buat pengantar tidur.

Jam delapan Alfa migrasi dari depan tipi ke kamar, nonton tipi di kasur, semua lampu padam kecuali kamar Beta.

Dan tertidurlah Alfa.

Lampu kamar loteng nyala, sound-mixer nyala, dengan gitar/piano/bass. Main musik sampai ngantuk atau sampai jari bengkak.

Lanjut baca e-book sampai terbangun oleh alarm pagi, :D




Tuesday, March 21, 2017

Adonan.

 Saat mengaduk adonan semen+pasir+air, sering tak sengaja ter-ciprat ke kaki saya yang tak terlindung, akibatnya kulit akan melepuh seperti luka bakar jika tidak segera dibersihkan.

Tak terbayangkan jika melakukan itu secara sengaja.

Friday, March 17, 2017

Idhar bukan idghom, :)


Beta belajar merangkai kata.

Jaranan dia bilang jaran -an
sabunan, sabun -an
mainan, main -an

Kata -an terpisah jelas, mudah bagi dia, tapi coba kita lakukan, susah bagi kita karena terbiasa yang lain.

Saya suka, artinya dia tahu kata dasar, :)

Saturday, March 11, 2017

Terdepan.

Jika yang lain rame-rame mundur, kamu akan tampak paling depan meski tak melakukan apapun.

If others are backing up, you will appear at the front, even if you don't do anything

Menolong yang Tersesat?

Pastikan si penolong juga tidak sedang tersesat, :D

Friday, March 10, 2017

Langit yang jernih

 biasanya terjadi setelah hujan badai.

Sunday, February 26, 2017

Kopi.

Diet kopiku berhasil, ndak pernah lagi ngopi di kampus. Bukan karena niat, tetapi karena banyak minum air putih, jadi ndak ada rasa ingin ngopi.

Ndak enaknya, kalo ngopi di rumah sore hari, jadinya pusing. Hadeuh.

Jadi, mulai meluruskan kembali niat, untuk menjadi pecandu kopi kelas berat lagi, :D

Skenario.

Pernah dapat sms bernada undangan bersifat mendadak? Dari nomor yang mengklaim sebagai nomor baru bos, nomor khusus untuk kegiatan tersebut.

Berbentuk surat tugas sebuah kegiatan workshop peningkatan mutu, dengan waktu yang mendadak.

Dengan penekanan setelah workshop akan mendapat uang saku sekian juta.

Menarik.



Harus segera menelepon ke nomor tertentu, untuk konfirmasi kesediaan.

... dan harus membayar sejumlah uang untuk blablabla.

Sms palsu? Kemungkinan besar iya.

Selama nomor itu tak terdaftar di kontak, aman untuk mengabaikan.

Konfirmasi? Tentu saja harus. Perlu diperhitungkan bahwa kemungkinan besar bos kita juga sedang ditipu, bahwa memang ada acara tersebut.

Dilaporkan? Ke kantor? Biasanya sms tersebut di hari jumat sore, dengan kegiatan di hari sabtu minggu, kantor tutup. Memang disetting sedemikian rupa. Sehingga jika kita ingin konfirmasi, kita harus menghubungi melalui telepon.

Jika memang penipu sudah ahli, maka ada kemungkinan besar juga bahwa ada orang dalam yang dilibatkan yang bertugas untuk mengkonfirmasi bahwa kegiatan itu benar adanya. Juga membisiki kolega yang tidak tahu apa-apa, membisiki bahwa ada kegiatan blablabla besok hari sabtu-minggu. Dia 'sedang mempersiapkan' kegiatan itu beserta 'panitia'.

Orang dalam yang terlibat juga memiliki tugas lain, sebagai pilihan 'fail safe', memperingatkan penipu agar segera menyelamatkan diri karena banyak yang curiga.
Atau, ..., halah,... pokoknya abaikan saja...

Scenario.

Have you ever received an SMS with an invitation that is sudden? From the number that claims to be the new number of the boss, a special number for the activity.

A letter of assignment from a quality improvement workshop with a sudden time.

With emphasis after the workshop you will get millions of pocket money.

Interesting.

Must call a certain number immediately, to confirm your willingness.

... and have to pay some money for Blablabla.

Fake sms? Most likely yes.

As long as the number is not registered in the contact, it is safe to ignore.

Confirmation? Of course you have to. It should be taken into account that it is likely that our boss is also being deceived, that there is indeed an event.

Reported? To the office? Usually the sms is on Friday afternoon, with activities on Saturdays Sunday, the office closes. It is planned in such a way. So if we want confirmation, we must contact by telephone.

If indeed the fraudster is an expert, then there is a high chance that there is an insider involved who is tasked with confirming that the activity is true. Also prompting colleagues who don't know anything, whispering that there is a blababla activity tomorrow on Saturday to Sunday. He was 'preparing' the activity along with the 'committee'.

Insiders involved also have other duties, as a 'fail safe' option, warning fraudsters to save themselves immediately if many begin to suspect.

Or, ... just ignore it ...

Saturday, February 25, 2017

Sabtu sore,



di loteng, :)



http://ift.tt/2mnNqeg.

Tuesday, February 21, 2017

Integral


Gendhis: Kin, bantuin dong
Kinanthi: Apa nDhis?

G: Hitunganku ini kok tidak cocok ya? Kayaknya excelnya rusak.
K: Rusak gimana?

G: Tidak ada outputnya, jadi pagar semua
K: Oh, mungkin antena-nya rusak.

G: Busyet Kin, serius nih.
K: Hehehe, memang kamu ngitung apa nDhis?



G: Integral
K: Wowo, kamu bisa ngitung integral pake excel?

G: Kamu nggak bisa to Kin? Kan kamu mahir pemrograman.
K: Bisa, tapi males kalo pake excel, ribet. Kamu yang keren, padahal kamu kan nggak kuliah metode numerik kan, wow.

G: Gak ribet kok, metode numurik itu apa? Memang harus pake gitu ya?
K: Eh, lah, lha memangnya kamu gimana ngitung integral pake excel?

G: Gampang kok, kan tinggal dimasukkan saja?
K: Eh,...

G: Tinggal ganti simbol integral pake huruf S, nah, tapi kenapa error ya? Padahal tadi sudah pake symbol integral yang beneran juga error. Kamu pernah nemu error kayak gini ndak Kin? Biasanya..., Kin? Kin?
K:....(membeku)

Friday, February 17, 2017

Petang Senang

Alfa cerita tentang sekolahnya sama ibuk, di kamar.

Adek menghabiskan kopi, ditemani ayah nonton film kartun.

:)

Tuesday, February 14, 2017

Kopilogi.

Rencananya ingin ke kafe ini buat lihat situasi.

Situasi kafe.

Mau perform band di situ.

Survey lokasi.

Kebetulan ada acara teman juga hari ini, dialog seni budaya di Kopilogi.

Janjian habis isya.

Kami sudah hafal dengan sifat masing-masing, jadi berangkatlah saya jam setengah delapan, setelah mencium kening orang serumah.

Setengah delapan? Kan sampe kafe jadi jam delapan, bukannya janjian jam tujuh?

Yup, sudah saya bilang kami hafal sifat masing-masing. Saya sangat pengertian sehingga mengerti jam tujuhnya dia itu gimana.

Ups, ternyata saya salah.

Di Kopilogi sudah rame, tapi dia belum datang. Tersisa satu meja kecil yang langsung ku-klaim segera setelah pesan dobel espresso dan roti bakar keju.

Tempatnya lumayan asyik.

Meja saya terletak di bawah kanopi tepi jalan bersama dengan beberapa pasang meja kursi lain uang sudah terisi. Sepertinya kalo siang menjadi tempat parkir motor.

Duduk sendirian sambil melirik meja-meja lain yang tampaknya terdiri dari pasangan-pasangan, .... . Zeus..., sekarang hari valentine, pantas saja...

Rame juga, pesanan saya masih sekian nomor lagi. Ndak masalah, di rumah sudah menghirup kopi buatan istri. Lagipula bukan itu tujuan ke sini.

Celingak-celinguk cari tempat yang mungkin digunakan untuk live band.

Ndak nemu.

Titik-titik hujan mulai turun.

Sambil nunggu, kutulis ini, :)

Kukirim pesan ke dia, kok belum muncul? Katanya jam "tujuh".

Eh, ternyata bukan, dia tadi bilang mau ke sini setelah "isya". Walah...

Hujan rintik.

Rentang waktu yang lumayan, entah kapan dia datang.

Hujan mulai deras.

Menikmati pesanan saja, sudah tiba, :)


...dan dua jam kemudian, setelah saya memutuskan pulang, dia belum datang juga, :)

Monday, February 13, 2017

It is, :)

“Victory must be real.

It must be earned. That means it must be rare and difficult, against steep odds,”

Excerpt From: Riordan, Rick. “The Blood of Olympus.”

Sunday, February 12, 2017

Berpihak?

Megatruh: Kin, sudah baca postingan Tantra?
Kinanthi: Iya sudah, berani dia ya Meg.
M: Mungkin karena suasana pilkada di sana memungkinkan untuk itu. Banyak postingan yang lebih parah dari dia.
K: Tetap saja Meg, menuduh bahwa dua calon menjual agama dan mengklaim Tuhan berada di pihak mereka itu kan berani banget.
M: Mungkin buat lucu-lucuan, kan gak mungkin berpihak ke keduanya, jadi aneh kalo keduanya sama-sama menang, hihihi.
K: Memang sih, tapi postingan lanjutannya itu yang, ..., hadeuh, bagiku keren sih
M: Oh, bahwa Tuhan menolak di-klaim oleh mereka dan menunjukkan dukungan ke pasangan satunya lagi dengan mengirimkan hujan sehari semalam, hehehe, cerdas si Tantra

K: Kayaknya aku telah meracuni dia dengan gayaku. Dia nulis, hujan semalaman, seakan Tuhan sengaja mengirim air dari langit untuk membuktikan hasil kerja calon yang didukung-Nya, ckckck
M: Memang ndak ada berita banjir kan?
K: Iya sih, tetap saja dia berani sekali nulis gitu. Nggak takut di-demo apa.
M: Halah, kamu kan tahu sendiri dia kayak apa Kin, paling di demo sejuta orang dia cuma nyengir. Harusnya kamu bangga,
K: Eh?
M: Ada orang sejenis kayak kamu di sana
K: Dasar...


Which side do you choose?

Megatruh: Kin, have you read Tantra posts?

Kinanthi: Yes, how dare she be Meg.

M: Maybe because the atmosphere of the local election there allows for that. Many posts are worse than her.

K: But still Meg, alleging that the two candidates were selling religion and claiming God was on their side was very brave.

M: Maybe it's just for fun, it's not possible to side with both, so it's strange if both of them win, hihihi.

K: It's true, but the follow-up post is, ... well, it's cool to me.

M: Oh, that God refused to be claimed by them and showed support to the other couple by sending rain overnight, hehehe, the Tantra is indeed smart.

K: I think I poisoned him with my style. She wrote, it rained all night, as if God had deliberately sent water from the sky to prove the work of the candidate who's supported by Him, ckckck.

M: Indeed, there's no flood news right?

K: Yeah, still, she still dares to write that. Is she not afraid of being demoed by many people?

M: It's just that you know what she is like herself. At most she won't be affected, demoed by a million people, just grinning. You should be proud.

K: Eh?

M: There are people like you there. Tantra is one of them, :)

K: Damn ...

Eh.

Jika ada dua orang dengan kualitas sama berdoa dengan cara yang sama namun isinya saling bertolak belakang, mana yang akan dikabulkan?

Saturday, February 11, 2017

Evaluasi.

Sehabis perform malah rajin latihan?

Yup, karena saat lihat rekaman video penampilan, masih banyak hal yang bisa ditingkatkan, :)

Monday, February 6, 2017

Diam itu emas,

Dan emas semakin lama akan semakin mahal.
Tentu saja emas tak berguna kalo selamanya didiamkan.

Silence is golden.

And the longer the gold is stored the more expensive it will be.
Of course gold is useless if it's only stored unused.

Parkir,

kadang lebih mahal dari biaya fotocopy.

Sunday, February 5, 2017

Jomblo Activity.


Harta,
Tahta,
WA.

:)

Hati-hati bereaksi.

Jika ditanya "Agamamu apa?".
Agama bukan partai politik.

Saturday, February 4, 2017

Rumput Tetangga

memang lebih hijau? Ndak juga. Bahkan di blok perumahan ini, hanya rumahku yang ada rumputnya. :P

Friday, February 3, 2017

Ini payung mahal,

 sayang kalau sampai basah.

Penjual Minyak.

Ada yang hanya memiliki takaran 3 dan 5 liter, tetapi tetap melayani pembelian 1 dan 2 liter, keren.

Dulu

...dari selasa sampai sabtu, saat SD, setiap pagi selalu senam dulu sebelum masuk kelas, :)

Thursday, February 2, 2017

I Love Them

Gus Mus,
Kiai Ma'ruf,

adem.

#iampacifist

Wednesday, February 1, 2017

disPosisi

Tidur di atas kasur dengan kaki terjuntai itu kurang bagus. Selain tidak enak, juga..., eh..., gak enak saja.


Kenapa bisa dapet posisi gitu? Tentu saja banyak sekali alasan bagus dan keren kenapa terpaksa tidur seperti itu, selain ditendang-tendang Alfa kalau tidur di posisi normal.

...

...tapi belum nemu alasan yang bagus, :P


Malam


Hening

Monday, January 30, 2017

Waspada. (atau bisa juga Paranoid).


(di sebuah gerai cellular)

Pak beli kartu perdana.

Buat internet apa HP?

Internet, di modem

Yang ini aja mas

(ada berbagai paket murah, bergiga-giga paket)

Ini tiap bulan harus bayar 80rb biar dapet 8 giga ini pak?

ndak mas itu cuma promo, jika nanti habis ndak usah isi ulang, beli yang baru lagi saja

oh, ndak bisa diisi ulang?

bisa, tapi kuotanya ndak sebesar itu lagi. 

Kalo gitu saya beli yang kartu biasa saja Pak.

Tapi itu kartu biasa lho mas

Iya, nggakpapa.



(karena pengin kartu yang nomornya tetap, ndilalah ada kartu dengan nomor lumayan seharga tiga ribu saja)

Ambil nomor yang ini Pak

Iya

(diambilkan)

Sebentar, saya aktifkan dulu

Eh, saya aktifkan sendiri saja.

Ndak bisa, nanti malah rusak lho 

(sambil buka segel, taruh simcard di ponselnya dan langsung mengaktifkan, tanpa tanya nama, tanpa minta nomor KTP)

Tiga ribu mas

(sambil menyerahkan kartu yang sudah diaktifkan)

Iya

(transaksi selesai)

Analisa

Kartu nggak akan saya pakai, karena bukan atas nama saya. Jelas sekali penjual mengaktifkan kartu yang baru saya beli dengan entah nama dan KTP siapa. Memang saya bebas "berbuat kejahatan" dengan kartu itu, tapi saya juga tidak akan mendapatkan promo apapun, kalaupun dapat hadiah, saya tak akan bisa meng-klaim, karena tidak terdaftar atas nama saya. Hal lain, nomor saya jelas telah diketahui dan kemungkinan besar akan dapat terror sms promosi terus menerus, :)

(cari kartu lain, :) )

Friday, January 20, 2017

Bunglon


Kinanthi: Woi..., Meg
Megatruh: Eh, halo Kin

K: Lama gak nongol ya
M: Iya nih

K: Memang situasi sedang  nggak mendukung
M: Iya nih, serba salah

K: Yup, salah ngomong sedikit, walau tak disengaja, bisa dilaporkan pakai pasal penistaan, hihihi
M: Yeah,  mulutmu harimaumu

K: Ye, ndak segitunya juga sih, kasihan harimaunya kalo diamakan dengan kita
M: Iya juga, maaf ya harimau...

K: Busyet Meg..., kamu ini
M: Lagian, akhir-akhir ini bayak kutu loncat, bunglon, laba-laba si tukang jerat dan kodok, si amfibi yang hidup di dua alam...

K: Woi, woi..., stop dah. Tadi harimau, sekarang malah nyebut yang lain, banyak pula
M: Eh? Apa Kin?

K: Jangan dengan mudah memberi cap pada seseorang seperti bunglon atau kutu loncat walau pada kenyataannya dia memang plin-plan, suka pindah-pindah, siapa tahu yang terakhir ini memang dia benar-benar....

M: Lah..., aku ndak ngomong soal politik. Cuma ingat sama hewan-hewan imut yang suka nogkrong di taman depan rumah

K: ...

Friday, November 18, 2016

Pendengar

Kinanthi: Loh, gak berangkat jumatan to Meg?
Megatruh: Ntar dulu, masih khotbah, nanti aja dekat-dekat dengan sholat.

K: Bisa ya?
M: Lha biasanya gitu

K: Lha kalo semua kayak kamu, pas jumatan bisa saja khotib khotbah sendiri tanpa ada yang mendengarkan.

Wednesday, November 16, 2016

Princess


Kinanthi: Ngapain Meg, senyum-senyum sendiri?
Megatruh: Halo, Kin

K: Heh,
M: Habis baca cerita

K: Princess and The Pea?
M: Loh?

K: Yang kamu pegang itu
M: Eh, iya

K: Kayaknya dongeng anak itu bukan cerita humor deh
M: Memang, tapi ceritanya itu lho, entah mendidik atau gimana

K: Seingatku ada pangeran yang sedang mencari istri
M: Iya, mengundang empat putri dari empat kerajaan yang berbeda

K: Trus setelah pesta, keempat putri itu tidur di tumpukan dua puluh kasur...
M: ...yang sebelumnya diselipkan sebuah kacang polong untuk masing-masing putri

K: Oh iya, dan putri-putri itu tidur nyenyak kecuali satu. Dia tidak bisa tidur karena merasa ada sesuatu yang mengganjal di kasurnya.
M: Nah, bagiku ini lucu. Karena pangeran memilih menikah dengan putri yang tak bisa tidur ini.

K: oh
M: Mungkin pesan moralnya adalah seorang putri yang baik akan dapat menemukan ketidaksempurnaan sekecil apapun.

K: hm
M: Tapi aku berpikir, ini si putri kok manja banget ya. Sudah untung dapat kasur dua puluh tumpuk. Eh gak bisa tidur gara-gara kacang polong. Seakan tidak mensyukuri sesuatu yang besar.

Friday, October 28, 2016

Kesetimbangan



Dua bulan lalu di dinding kamar mandi mulai ada beberapa serangga seperti laron tetapi berukuran kecil,  sedikit lebih besar dari nyamuk. Semakin hari semakin banyak.

Tidak bisa diusir, disemprot pakai obat nyamuk pun tidak mati. Sampai saya membakar obat nyamuk di dalam kamar mandi pagi hari sebelum ngampus. Sorenya mereka tetap berada pada tempatnya, ckckck.

Sebulan yang lalu, mereka mulai berkurang, malah agak drastis. Tanpa diapa-apakan. Awalnya penasaran, apakah memang mereka pindah tempat atau yang lain. Sudahlah, yang penting mereka berangsur-angsur hilang.

Sampai suatu malam, tengah malam, ketika kebelet pipis. Di kamar mandi sedang ada sekitar lima cicak yang sedang berpesta pora, makan si serangga tadi. :)

Sekarang jadi suka senyum kalo lihat cicak-cicak gendut malas-malasan di dinding saat mandi pagi, :)


Thursday, September 1, 2016

Motivasi.

Ndak usah dipaksa maju jika tujuannya ada dibelakang.

Wednesday, August 31, 2016

Dalai Lama's Quote.

If you think you are too small to make a difference, try sleeping with a mosquito.

Tuesday, August 30, 2016

Pulang dari Kampus.


Alfa: Ayah, tadi jatuh pas naik sepeda gajah, berdarah. Ndak mandi, nanti perih.

(Sambil menunjukkan jempol kaki yang kulitnya terkelupas)

:)

Kangen.

Kinanthi: Lama nggak ngobrol ya Meg.

Meg: Iya Kin, lha sekarang semua sibuk ngurusi Mukidi.

K: (senyum)

Friday, August 19, 2016

Transmit serial data to an Android device, :)


.(Independent multitasking LEDs blink using Arduino FreeRTOS, and send the data wirelessly using bluetooth module HC-05. :) )



http://ift.tt/2b4YNBe.

the code is same as here

Independent Wireless Multitasking LEDs blink using Arduino FreeRTOS



and send the data wirelessly using bluetooth module HC-05. :)



http://ift.tt/2bi4MpP.
The code
#include <Arduino_FreeRTOS.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX

int n = 0;

// define two tasks for Blink & AnalogRead
void TaskBlink( void *pvParameters );
void TaskBlink2( void *pvParameters );
void TaskBlink3( void *pvParameters );
void TaskBlink4( void *pvParameters );
void TaskTadaa( void *pvParameters );

// the setup function runs once when you press reset or power the board
void setup() {
   // initialize serial communication at 9600 bits per second:
  mySerial.begin(9600);  

  // Now set up two tasks to run independently.
  xTaskCreate(
    TaskBlink
    ,  (const portCHAR *)"Blink"   // A name just for humans
    ,  128  // Stack size
    ,  NULL
    ,  2  // priority
    ,  NULL );
  xTaskCreate(TaskBlink2,(const portCHAR *)"Blink2",128, NULL,2,NULL );
  xTaskCreate(TaskBlink3,(const portCHAR *)"Blink3",128, NULL,2,NULL );
  xTaskCreate(TaskBlink4,(const portCHAR *)"Blink4",128, NULL,2,NULL );

  xTaskCreate(
    TaskTadaa
    ,  (const portCHAR *) "Tadaa"
    ,  128 // This stack size can be checked & adjusted by reading Highwater
    ,  NULL
    ,  1  // priority
    ,  NULL );

  // Now the task scheduler, which takes over control of scheduling individual tasks, is automatically started.
}

void loop()
{
  // Empty. Things are done in Tasks.
}

/*--------------------------------------------------*/
/*---------------------- Tasks ---------------------*/
/*--------------------------------------------------*/

void TaskBlink(void *pvParameters)  // This is a task.
{
  (void) pvParameters;

  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);

  for (;;) // A Task shall never return or exit.
  {
    digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
    mySerial.println("LED 13 Nyala");
    vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
    digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
    mySerial.println("LED 13 Padam");
    vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
  }
}
void TaskBlink2(void *pvParameters){
  (void) pvParameters;
  pinMode(2, OUTPUT);
  for (;;) {
    digitalWrite(2, HIGH); vTaskDelay( 2000 / portTICK_PERIOD_MS );mySerial.println("LED 2 Nyala");
    digitalWrite(2, LOW);  vTaskDelay( 2000 / portTICK_PERIOD_MS );mySerial.println("LED 2 Padam"); 
  }
}

void TaskBlink3(void *pvParameters){
  (void) pvParameters;
  pinMode(3, OUTPUT);
  for (;;) {
    digitalWrite(3, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );mySerial.println("LED 3 Nyala");
    digitalWrite(3, LOW);  vTaskDelay( 1500 / portTICK_PERIOD_MS );mySerial.println("LED 3 Padam"); 
  }
}

void TaskBlink4(void *pvParameters){
  (void) pvParameters;
  pinMode(4, OUTPUT);
  for (;;) {
    digitalWrite(4, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );mySerial.println("LED 4 Nyala");
    digitalWrite(4, LOW);  vTaskDelay( 250 / portTICK_PERIOD_MS );mySerial.println("LED 4 Padam"); 
  }
}

void TaskTadaa(void *pvParameters)  // This is a task.
{
  (void) pvParameters;
  for (;;)
  {
    // read the input on analog pin 0:
    n++;
    if (n>100){n = 0;}
    // print out the value you read:
    mySerial.print("Tadaa...");
    mySerial.println(n);
    vTaskDelay(2000/portTICK_PERIOD_MS);// 2 second delay
    // one tick delay (15ms) in between reads for stability
  }
}

Thursday, August 18, 2016

Independent LEDs Blinking



 using Arduino FreeRTOS, realtime multi tasking, :)

 I programmed LED on pin 2, 3, 4 and 13 to blink at its own time. The advantage of this Arduino FreeRTOS is we don't have to calculate the timing of each pin in respect of sequential execution. It's has its own task and schedule, independent of each other.



http://ift.tt/2b4jwFJ.


#include <Arduino_FreeRTOS.h>
int n = 0;

// define two tasks for Blink & AnalogRead
void TaskBlink( void *pvParameters );
void TaskBlink2( void *pvParameters );
void TaskBlink3( void *pvParameters );
void TaskBlink4( void *pvParameters );
void TaskTadaa( void *pvParameters );

// the setup function runs once when you press reset or power the board
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);

// Now set up two tasks to run independently.
xTaskCreate(
TaskBlink
, (const portCHAR *)"Blink" // A name just for humans
, 128 // Stack size
, NULL
, 2 // priority
, NULL );
xTaskCreate(TaskBlink2,(const portCHAR *)"Blink2",128, NULL,2,NULL );
xTaskCreate(TaskBlink3,(const portCHAR *)"Blink3",128, NULL,2,NULL );
xTaskCreate(TaskBlink4,(const portCHAR *)"Blink4",128, NULL,2,NULL );

xTaskCreate(
TaskTadaa
, (const portCHAR *) "Tadaa"
, 128 // This stack size can be checked & adjusted by reading Highwater
, NULL
, 1 // priority
, NULL );

// Now the task scheduler, which takes over control of scheduling individual tasks, is automatically started.
}

void loop()
{
// Empty. Things are done in Tasks.
}

/*--------------------------------------------------*/
/*---------------------- Tasks ---------------------*/
/*--------------------------------------------------*/

void TaskBlink(void *pvParameters) // This is a task.
{
(void) pvParameters;

// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);

for (;;) // A Task shall never return or exit.
{
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.println("LED 13 Nyala");
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
Serial.println("LED 13 Padam");
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
}
}
void TaskBlink2(void *pvParameters){
(void) pvParameters;
pinMode(2, OUTPUT);
for (;;) {
digitalWrite(2, HIGH); vTaskDelay( 2000 / portTICK_PERIOD_MS );Serial.println("LED 2 Nyala");
digitalWrite(2, LOW); vTaskDelay( 2000 / portTICK_PERIOD_MS );Serial.println("LED 2 Padam");
}
}

void TaskBlink3(void *pvParameters){
(void) pvParameters;
pinMode(3, OUTPUT);
for (;;) {
digitalWrite(3, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );Serial.println("LED 3 Nyala");
digitalWrite(3, LOW); vTaskDelay( 1500 / portTICK_PERIOD_MS );Serial.println("LED 3 Padam");
}
}

void TaskBlink4(void *pvParameters){
(void) pvParameters;
pinMode(4, OUTPUT);
for (;;) {
digitalWrite(4, HIGH); vTaskDelay( 500 / portTICK_PERIOD_MS );Serial.println("LED 4 Nyala");
digitalWrite(4, LOW); vTaskDelay( 250 / portTICK_PERIOD_MS );Serial.println("LED 4 Padam");
}
}

void TaskTadaa(void *pvParameters) // This is a task.
{
(void) pvParameters;
for (;;)
{
// read the input on analog pin 0:
n++;
if (n>100){n = 0;}
// print out the value you read:
Serial.print("Tadaa...");
Serial.println(n);
vTaskDelay(2000/portTICK_PERIOD_MS);// 2 second delay
// one tick delay (15ms) in between reads for stability
}
}

Arduino FreeRTOS


(Real Time Operating System).

Multi Tasking on Arduino Nano.

Led Blink and Serial Communication



http://ift.tt/2b30d2l.
#include

int n = 0;

// define two tasks for Blink & AnalogRead
void TaskBlink( void *pvParameters );
void TaskTadaa( void *pvParameters );

// the setup function runs once when you press reset or power the board
void setup() {


// Now set up two tasks to run independently.
xTaskCreate(
TaskBlink
, (const portCHAR *)"Blink" // A name just for humans
, 128 // Stack size
, NULL
, 2 // priority
, NULL );

xTaskCreate(
TaskTadaa
, (const portCHAR *) "Tadaa"
, 128 // This stack size can be checked & adjusted by reading Highwater
, NULL
, 1 // priority
, NULL );

// Now the task scheduler, which takes over control of scheduling individual tasks, is automatically started.
}

void loop()
{
// Empty. Things are done in Tasks.
}

/*--------------------------------------------------*/
/*---------------------- Tasks ---------------------*/
/*--------------------------------------------------*/

void TaskBlink(void *pvParameters) // This is a task.
{
(void) pvParameters;

// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);

for (;;) // A Task shall never return or exit.
{
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
vTaskDelay( 1000 / portTICK_PERIOD_MS ); // wait for one second
}
}

void TaskTadaa(void *pvParameters) // This is a task.
{
(void) pvParameters;

// initialize serial communication at 9600 bits per second:
Serial.begin(9600);

for (;;)
{
// read the input on analog pin 0:
n++;
if (n>100){n = 0;}
// print out the value you read:
Serial.print("Tadaa...");
Serial.println(n);
vTaskDelay(2000/portTICK_PERIOD_MS);// 2 second delay
// one tick delay (15ms) in between reads for stability
}
}

Wednesday, August 10, 2016

Can not Detect Arduino Nano on El Capitan?

It because the nano used CH341 usb to serial adapter that will not install because El Capitan enforces kext driver signing.

So, I trace the step from https://tzapu.com/making-ch340-ch341-serial-adapters-work-under-el-capitan-os-x/

...and it works again, :)

To disable kext signing:

- Reboot and press CMD+R immediately after the chime to enter Recovery Mode
- Open Terminal from Recovery mode
- run the command csrutil enable --without kext
- run the command reboot







Monday, August 1, 2016

Old Mechanical Keyboard KPT-102 on iPad



Old Clicky Mechanical Keyboard on iPad, using Arduino as PS/2 to HID signal converter, :)

I use the code from https://gist.github.com/DorianRudolph/ca283dfdfd185bc812b7

But, as I use OSX, I can'n do this

"To make the programs work you need to open the file hardware/arduino/avr/cores/arduino/USBAPI.h located in your Arduino folder and make the Keyboard_::sendReport method public.
"

To do that I open the Finder, go to Applications Folder right click Arduino App, select Show Package Content and adit Keyboard.h at /Applications/Arduino.app/Contents/Java/libraries/Keyboard/src

Update: I tucked the Arduino  Pro Micro inside keyboard, :)


















http://ift.tt/2aIwnlw.

Saturday, July 30, 2016

Upload Sketch of Arduino Pro Micro on Standart IDE



Yup, we could choose Leonardo to upload sketch to Arduino Pro Micro, without Sparkfun addOn.



http://ift.tt/2amv1Lr.

Wednesday, July 13, 2016

Logis


Gendis: Duh, gawat.
Megatruh: kenapa nDhis?
G: Aku di-tag sama pacar baruku.
M: Bagus kan?
G: Masalahnya dia nge-tag aku di akun fb-ku
M: Memangnya kenapa?
G: Lha kan pacarku kan nanti tahu
M: Ya jelas to? Kan yang posting pacarmu sendiri.
G: Bukan, eh, iya, maksudku pacar-pacarku yang lain kan jadi tahu.
M: Walah
G: Memang lupa sih, biasanya kalo habis jadian pasti kubilang jangan nge-tag atau nyebut nama di medsos. Yang ini lupa, hehehe
M: ….

#edisiError
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)