Kekuatan dari arduino adalah kegilaan para "opreker" dalam membuat script library yang sangat rapih dan membuat anda yang kurang kekuatan berimajinasinya menjadi sangat terbantu. 10 tahun yg lalu mungkin ini menjadi kekecewaan saya , kenapa gak dari jaman saya awal belajar microcontroller dulu muncul library yg gampang ini? Akan tetapi ada bergunanya juga saya belajar microcontroller mulai dari bahasa assembly dimana saya dengan mudah melakukan modifikasi dari suatu library , hasil pemahaman "jeroan" dari register microcontroller sekelas AVR. Contoh nyata adalah yang pernah saya tulis di Praktek Jam TV Dengan Attiny2313 dimana saya berhasil mengoprek library arduino agar muat ke ROM attiny yg super kecil.
Penjelasan teori dari bagaimana menampilkan gambar pada TV composite analog dapat dibaca pada beberapa seri tulisan Micro vs TV yg menggunakan hardware yg sama seperti gambar diatas. Bermodal 2 resistor 1K dan 470 Ohm maka sinyal sync dan blanking dapat diatur sedemikian rupa menggunakan fungsi timer pada microcontroller. Cukup dengan script delay saja bisa membuat karakter sederhana seperti video yutub dibawah ini. Dan akhir dari seri praktek TV 7 taun yg lalu itu adalah membuat overlay/osd pada gambar live TV.
Ketika saya memutuskan membahas arduino pada blog, maka saya jadi berpikiran pasti ada library yang membahas TV dan ternyata ada library TVOUT yang memang sudah ada sejak lama. Namun kalau tampilannya itu itu aja maka akan sedikit kurang tantangannya. Hasil googling saya menunjukkan hasil karya TVOUT jam digital dengan gabungan tulisan dan animasi jam dinding. Bisa anda baca di http://giantmetalrobot.blogspot.com/2011/05/arduino-analog-clock.html. Dan sebagai tantangannya saya akan merubah penggunaan RTC menjadi NTP yaitu mengambil data jam dari server internet semacam http://ntp.bmkg.go.id. Saya akan membuat seri tulisan yg akan membahas satu persatu agar pembaca semakin paham, mulai dari menulis di tv, mengambil data NTP melalui ESP8266 dan terakhir penggabungannya.
Jika menggunakan pemrograman avr non arduino, maka register timer 16 bit diatas harus dipahami sampai diluar kepala. Ya mau tidak mau harus! Karena menulis pada TV memerlukan timing yang pas pada jangka waktu per raster yg hanya 64us. Pada Library TVout nya arduino anda tidak perlu pusing-pusing lagi karena cukup menggunakan fasilitas langsung jadi. Hardware pun masih sama 2 resistor saja dengan menggunakan port seperti pada gambar.
Baiklah setelah terangkai dengan benar, maka kita bisa membuat tulisan sederhana seperti pada contoh script singkat berikut.
#include <TVout.h>
#include <fontALL.h>
TVout TV;
void setup()
{
//Setup display.
TV.begin(PAL,120,96);
//Select font.
TV.select_font(font6x8);
}
void loop()
{
//Clear screen at the beginning of the loop.
TV.clear_screen();
//Set curosr position. (x,y)
TV.set_cursor(0, 10);
//Print text.
TV.println("www.aisi555.com");
TV.delay(60);
}
Thats it....hanya sebaris itu..Bagaimana dengan membuat jam seperti pada gambar paling atas? Tinggal langsung copy paste aja kok dari blog aslinya dan merubah bagian pembacaan RTC dan membuat delay 1 detik sehingga mensimulasi pergantian detik ke menit jam tanggal dan seterusnya.
void loop() {
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
TV.delay(1000); // delay 1 detik
printTime();
// script asli membaca RTC kita hapus aja
//read RTC
// getDateDs1307() ;
}
}
void printTime()
{
second++;
if(second >=60){
minute++;
second=0;
}
if(minute >=60){
hour++;
minute=0;
}
if(hour >=24){
hour=0;
dayOfMonth++;
}
...............................
script lainnya sama
...............................
Hasilnya bisa dilihat pada video berikut :
SELAMAT MENCOBA
0 komentar:
Posting Komentar