"Kembali Ke Dasar Elektronika Digital ... "

Selasa, 09 Juni 2020

[Praktek Gampang] Jam di TV dengan Arduino - Part 1 - Library TvOut



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 :





Lanjutan pembahasan NTP sebagai sumber waktu dapat dibaca DISINI

SELAMAT MENCOBA 



Share:

0 komentar:

Posting Komentar

Kontak Penulis



12179018.png (60×60)
+628155737755

HP: 081331339072
Mail : ahocool@gmail.com

Site View

Categories

555 (6) 7 segmen (3) adc (4) amplifier (2) analog (10) android (11) antares (3) arduino (14) attiny (1) attiny2313 (17) blog (1) bluetooth (1) cmos (2) crypto (2) dasar (35) display (3) esp8266 (3) gcc (1) iklan (1) infrared (2) Input Output (3) iot (16) jam (6) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (12) komputer (3) komunikasi (1) kontrol (4) lain-lain (8) lcd (2) led (9) led matrix (6) line tracer (1) lm35 (1) memory (1) metal detector (4) microcontroller (55) mikrokontroller (7) mikrotik (5) ninmedia (2) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (32) pcb (2) praktek (2) project (33) proyek (1) python (1) radio (3) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (1) sharing (3) signage (1) sms (6) software (18) tachometer (2) telepon (7) televisi (61) television (4) transistor (1) troubleshoot (3) tulisan (58) tutorial (78) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika