Say It with Light! (Revision 1)

Ini adalah catatan saya dalam mendesain “Say It with Light!”. Setelah mempertimbangkan beberapa hal untuk memenuhi prinsip murah, meriah dan mudah, maka saya pun me-redesain rangkaian dengan menggunakan ATmega8 dari Atmel. Saya sangat berterima kasih kepada Atmel yang telah mengirimkan sample dari beberapa microcontrollernya.

Tampilan prototype "Say it with Light!" revisi 1
Tampilan prototype “Say it with Light!” revisi 1

Menggunakan chip ATmega8 justru mempermudah saya dalam mendesain “Say It with Light!” karena ATmega8 telah menyediakan 20 pin bebas setelah dikurangi beberapa pin yang digunakan untuk kebutuhan internal Arduino. Sedangkan “Say It with Light!” cuma butuh 17 pin I/O dengan perincian 16 pin untuk pengaturan display dot matrix dan 1 pin untuk tombol pengubah tampilan.

Cukup menggunakan 1 chip
Cukup menggunakan 1 chip

Ke-16 pin ini dibutuhkan untuk mengendalikan display dot matrix secara langsung. Pendekatan ini memang tidak efisien karena sebenarnya kita cukup menggunakan 3 pin pengendali jika menggunakan 2 buah Shift Register seperti ketika mendesain dengan ATtiny85. Kelemahan lain adalah ketika memprogramnya karena butuh pengelolaan pin yang lebih banyak.

Rangkaian rev 1 lengkap dengan komponen pasif pendukung
Rangkaian rev 1 lengkap dengan komponen pasif pendukung

Di balik ketidakefisienan ini, teknik pengendalian langsung justru punya kelebihan, yaitu proses penampilan jadi lebih cepat karena tidak perlu diproses chip external. Tampilan jadi tampak lebih terang dan stabil. Bebas flicker walau pun saya tambah perintah delayMicroseconds. Pada code ATtiny85 saya tidak menambahkan delay tapi tampilan tetap flicker.

Dengan ATmega8 lebih stabil
Dengan ATmega8 lebih stabil

Saya mendesain ATmega8 untuk bekerja dengan clock external memanfaatkan crystal 16 MHz. Kecepatan proses jadi lebih cepat 16× (atau lebih?) dari pada desain dgn ATtiny85. Sebenarnya ATtiny85 bisa bekerja sampai 20 MHz tapi itu sama saja memboroskan pin I/O-nya untuk dipakai dengan crystal external. Jadi desain tempo hari cuma mengandalkan clock internal ATtiny85 yang cuma 1 MHz.

Dari segi memori ternyata antara ATmega8 dan ATtiny85 sama-sama punya 8 KB ISP (in-system self-programmable flash program memory). Wow, ATtiny85 memang hebat ya? Jadi dalam hal kapasitas program sejajar. Hanya saja ada kelemahan dalam pemrograman ATtiny85 terutama jika kita menggunakan IDE Arduino, yaitu karena ATtiny85 tidak bisa mengakomodasi array 2 dimensi. Jadi penyimpanan text yang akan ditampilkan disimpan dalam array linear. Sedangkan jika menggunakan ATmega8 hal ini tidak masalah (tentu setelah burning bootloader Arduino).

Dalam pemrograman “Say It with Light!” Rev 1 (dgn ATmega8) ini saya menambahkan beberapa pesan yang bisa ditampilkan, misalnya icon smile, animasi panah (ceritanya untuk nembak hati), Y/N (untuk menjawab), dan beberapa icon lain yang sedang saya coba apakah bisa ditampilkan dengan baik atau tidak. Saat ini code ukurannya cuma 2,5 KB dari sekitar 7,2 KB yg tersedia. Berarti masih punya ruang untuk pesan-pesan lain yang ingin ditampilkan.

Saat ini saya sedang mendesain PCB untuk membuat permanen prototype “Say It with Light!” revisi 1. Kali ini desain PCB tidak terpaku dengan sambungan urut karena tidak menggunakan Shift Register tapi langsung dari pin ATmega8. Ini berarti desain PCB bisa diatur sambungan antara ATmega8 dengan pin display dot matrix berdasarkan kedekatan pin. Jadi bisa didesain jalur yang terdekat dan terbaik. Sisanya tinggal mapping di code. Hasilnya desain saya kali ini tidak ada jumper-nya. Horeee…

Sementara ini dulu catatan desain prototype “Say It with Light!” revisi 1. Jika ada masukan, silakan dituangkan dalam box komentar di bawah.

Salam ngoprek

Iklan

5 pemikiran pada “Say It with Light! (Revision 1)

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.