Application Note. Adapun blok diagram secara keseluruhan adalah sebagai berikut: AN156 Touch Screen Panel Graphic LCD 320 x 240

dokumen-dokumen yang mirip
Apllication Note AN155 Mini Reklame pada Graphic LCD 320 x 240

SPC Application Note. SPC IR Transceiver. Gambar 1 Blok Diagram AN159. RX (PORTD.0 J13 pin3 / J4 pin2)

DT-AVR Low Cost Micro System. Gambar 1 Blok Diagram AN154. RXD (J13 Pin 3) TXD (J8 Pin 4) GND (J10/J11/J12/J13 Pin 1) GND (J7/J8 Pin 1)

DT-AVR Application Note. Gambar 1 Blok Diagram AN133

DT-AVR. AVR Application Note AN160 Graphic LCD Dengan Bahasa C. Application Note AN160

PC-Link Application Note

Starter Kit Application Note AN165 - Update Tampilan Character LCD Berbasis USB Flash Disk

AVR Application Note AN95 Wireless Chatting with PC

DT-BASIC Application Note

DT-AVR Application Note

DT-51 Application Note

DT-AVR Application Note AN191 SMS Gateway dengan GSM STARTER KIT

DT-AVR Application Note

DT-I/O. DT-I/O Application Note

SPC Application Note. SPC Blue-Link (J2) Tabel 1 Hubungan SPC Blue-Link Dengan Komputer

DT-AVR Application Note

DT-AVR Low Cost Nano System. Gambar 1 Blok Diagram Remote TV Berbasis ATtiny2313. DT-I/O I/O Logic Tester

DT-51 Application Note

Gambar 1 Blok Diagram AN190. P1.0 (J3 pin 3) IN1 (J1 pin3) Tabel 1 Hubungan antar PC-Link Serial PPI dan DT-I/O Quad Relay Board12V

PC-Link Application Note

DT-SENSE Application Note

DT-I/O DT-I/O. Application Note. Application Note AN193

DT-51 Application Note

asic Application Note AN97 BASIC Chatting

DT Series Application Note

DT-I/O DT-I/O. Application Note AN171

Gambar 1 Blok Diagram AN190. P1.0 (J3 pin 3) IN1 (J1 pin3) Tabel 1 Hubungan antar PC-Link Serial PPI dan DT-I/O Quad Relay Board12V

DHT11 Temperature and Humidity Sensor Board Gambar 1 Blok Diagram AN196. 5V (Power) GND (Power)

DT-I/O. I/O Application Notes AN164 Komunikasi Jarak Jauh antara 2 PC dengan RS-485. Application Note AN164

DT-AVR Application Note

DT-AVR Application Note

DT-AVR Application Note

DT-51 Application Note

DT-51 Application Note

DT-BASIC Application Note

SureLink A. Gambar 1 Blok Diagram AN63

DT-Sense Current Sensor With OpAmp Gambar 1 Blok Diagram AN212

DT-AVR Application Note

Akses SD Card & FRAM Menggunakan AVR. Oleh: Tim IE

DT-BASIC Mini System. Gambar 1 Blok Diagram AN132

DT-AVR Application Note

DT-ARM Application Note. AN221 Web Server I/O Remote

SPC SPC. SPC Application Note AN175 Bluetooth Mobile Robot. Application Note AN175

DT-AVR Application Note

STARTER KIT Application Note AN162 Web Scrapping Dengan GSM STARTER KIT

DT-51 Application Note

DT-AVR Application Note

EMS Application Note. 1x Kabel USB 1x Komputer (Memiliki wireless adapter, serta wireless network melalui router atau program Connectify)

PC-Link. Gambar 1 Blok Diagram AN201. AGND (J3 pin 1) Pin 1 VCC (J3 pin 2) Pin 3 Dapat dipilih salah satu dari A0 s.d. A7 (J3 pin 3 s.d.

DT-AVR DT-AVR ApplicationNote

DT-IO Application Note

Gambar 1 Diagram Blok AN215. DT-AVR Maxiduino DT-Proto Header Shield DT-I/O Level Converter

DT-SENSE Application Note

DT-AVR. Gambar 1 Blok Diagram AN177

DT-51 Application Note

DT-51Application Note

DT-AVR Application Note

AVR Application Note AN187 Monitoring Suhu Nirkabel (Bahasa C)

PC-Link. 1x Komputer / Laptop dengan OS Windows 2000, Windows XP atau yang lebih tinggi. Gambar 1 Blok Diagram AN200

DT-AVR. Application Note AN214

PC-Link. PC-Link. Application Note AN202

DT-PROTO Application Note AN219 Kontrol Lampu Secara Nirkabel berbasiskan Smarphone Android dan

DT-AVR Application Note. AN186 Digital Compass

DT-Sense Application Note

DT-AVR Application Note Monitoring Suhu Nirkabel (Bahasa BASIC)

BAB III PERANCANGAN SISTEM

Akses SD Card & FRAM Menggunakan MCS-51. Oleh: Tim IE

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

Gambar 1 Blok Diagram AN72. (a) (b) (c) Gambar 2 SPC Seven Segment (a), DT-51 Low Cost Micro System (b), dan DT-51 Low Cost Nano System (c)

DT-I/O. Application Note AN211. Komunikasi data saat ini terus dikembangkan dan diimplementasikan di dalam setiap bidang, seperti proses

DT-AVR DT-AVR. Application Note AN203

DT-AVR Application Note

DT-AVR. Application Note AN192 - Web Based Temperature Monitoring System Oleh : Tim IE

DT-BASIC Application Note

DT-AVR Application Note

de KITS Application Note AN20 - How 2 Use de KITS SPC Alphanumeric Display with StarTech PPI Card

DT-51 Application Note

DT-SENSE Application Note

DT-AVR DT-AVR Application Note

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

GPS Starter Kit Application Note AN GPS - GPS Navigator. Oleh: Tim IE

PC-Link Application Note

DT-BASIC Application Note

DT-51 Application Note

Gambar 1 Blok Diagram AN217. DT-AVR Maxiduino DT-Proto Header Shield DT-I/O Level Converter

DT-AVR Application Note

DT-SENSE Application Note AN168 Color Game. Gambar 1 Blok Diagram AN168

BAB III ANALISIS DAN PERANCANGAN SISTEM. besar berupa gambar dengan tujuan agar sebuah sistem dapat lebih mudah

WIZnet. Application Note AN178 Wireless IP Printer 1 Oleh : Tim IE

DT-AVR. Application Note AN213

DT-SENSE Color Sensor Q uick S tart

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

DT-AVR. DT-AVR Application Note AN207 Library USB Controller untuk Komunikasi Serial pada DT-AVR Inoduino

de KITS Application Note AN17 - How 2 Use de KITS Relay Board with StarTech PPI Card

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

DT-AVR Low Cost Nano. System. Gambar 1 Blok Diagram AN153. RXD TXD (J8 Pin 4) GND GND (J8 Pin 1)

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

DT-AVR Application Note

BAB III ANALISA DAN PERANCANGAN ALAT

DT-AVR Application Note

Transkripsi:

DT-AVR DT-AVR Apllication ote A156 Touch Screen Panel Graphic LCD 20 x 240 Oleh : Tim IE dan Jimmy Sulistya Wijaya Pada jaman sekarang ini, touch screen panel semakin umum dipakai sebagai media input. PDA, handphone, mesin ATM, dan panel control pabrik adalah beberapa contoh peralatan yang menggunakan teknologi touch screen. Fenomena ini berkembang pesat dikarenakan selain praktis touch screen panel cukup mudah dikonfigurasi dengan hanya menggunakan mikrokontroler. Aplikasi penggunaan Graphic LCD 20 x 240 sudah dijelaskan secara lengkap pada A155. Pada kesempatan kali ini, A155 akan dikembangkan untuk membuat sistem GUI sederhana dengan bantuan touch screen panel pada layar LCD. Touch screen panel yang digunakan pada artikel ini memiliki jenis resistive yang berarti touch screen panel akan menghasilkan hambatan yang berbeda jika disentuh. Untuk membaca perubahan nilai dari touch screen panel ini, digunakan bantuan mikrokontroler untuk membaca input touch screen panel dan mengatur tampilan dari Graphic LCD 20 x 240. Modul mikrokontroler yang digunakan adalah DT-AVR Low Cost Micro System dengan mengganti default crystal 4MHz menjadi 16MHz. Modul DT-AVR Low Cost Micro System merupakan modul mikrokontroler yang berbasis mikrokontroler AVR ATmega855. Pemilihan mikrokontroler ini disebabkan karena telah disediakan ADC internal di dalam mikrokontroler ATmega855 tersebut. Mikrokontroler ATmega855 akan langsung terhubung ke LCD kontroler untuk menampilkan gambar di LCD Graphic 20 x 240. Pertama, mikrokontroler akan menampilkan 4 buah gambar kecil pada layar LCD. Kemudian mikrokontroler akan membaca input tegangan yang dihasilkan oleh touch screen panel. Perubahan tegangan pada touch screen panel dikarenakan adanya perubahan hambatan yang disebakan oleh penekanan touch screen panel. Hasil penekanan touch screen panel tersebut dianalisa, apabila penekanan tersebut berada di daerah gambar 1, maka gambar tersebut akan secara otomatis diperbesar (full screen). Demikian juga halnya untuk penekanan pada gambar 2, dan 4. Program untuk DT-AVR Low Cost Micro System ini dikembangkan dalam bahasa C menggunakan program AVR Studio 4 yang terintegrasi dengan WinAVR. Untuk memasukkan gambar ke dataflash digunakan program BMP Flash Programmer yang dikembangkan dengan Borland Delphi 7. Aplikasi ini menggunakan modul berikut: o 1 DT-AVR Low Cost Micro System (penggantian crystal 4MHz menjadi 16MHz) o Touch Screen Panel untuk Graphic LCD WC20240A-FCI-UTS o Graphic LCD WC20240A-FCI-UTS o Dataflash AT45DB041B o Embedded Memory LCD Controller SED175 Adapun blok diagram secara keseluruhan adalah sebagai berikut: Touch Panel Komputer DT-AVR LOW COST MICRO SSTEM DATA FLASH Controller LCD Graphic LCD 20 x 240 Gambar 1 Blok Diagram Touch Screen Panel Graphic LCD Page 1 of 7 Application ote

Hubungan antara modul-modul tersebut adalah sebagai berikut: Touch Panel DT-AVR Low Cost Micro System X+ PA.0 + PA.1 X- PA.2 - PA. Tabel 1 Hubungan antara Touch Panel dengan DT-AVR Low Cost Micro System Gambar 2 Ilustrasi touch panel resistif Gambar Model mekanis touch panel resistif Page 2 of 7 Application ote

Polyacetal pen or finger Gambar 4 Ilustrasi penekanan pada touch panel resistif Flowchart dari program AVRTouchScreenLCD.c adalah sebagai berikut: START Awal = 0xFF Inisialisasi Serial Konfigurasi port I/O Reset LCD Inisialisasi LCD Clear Screen Inisialisasi Data Flash Baca Informasi dari dataflash Baca input Serial UART Rec=W? 2 Terima data (2x8bit) dari PC dan dikembalikan lagi Terima dan simpan 264 data di buffer 1 Gambar 5 Flowchart program AVRTouchScreenLCD Page of 7 Application ote

1 Simpan 264 data ke data flash sesuai alamat page Lakukan pembacaan kembali Dan dikirimkan lagi untuk verifikasi 2 Output =1 & bsy =0? Mengirimkan data ke Rec ke PC dan membaca informasi dari gambar yang diinputkan Menampilkan 4 gambar sekaligus Cek penekanan touch screen panel Apakah ada penekan? Membaca nilai x dan y dari penekanan touch screen panel Variabel area > 0? Menganalisa daerah penekanan touch screen panel Area = 0 Menampilkan 4 gambar sekaligus x>11 dan y>8? Do nothing x<6 dan y>5? Area 1 Menampilkan gambar1 4 Gambar 6 Flowchart program AVRTouchScreenLCD (lanjutan) Page 4 of 7 Application ote

4 x>=6 dan y>=5? Area 2 Menampilkan gambar2 x<6 dan y<5? Area Menampilkan gambar x>=6 dan y<5? Area 4 Menampilkan gambar4 Gambar 7 Flowchart program AVRTouchScreenLCD (lanjutan) Program AVRTouchScreenLCD.c akan diproses sebagai berikut: 1. Pada awal program akan mengisikan variabel awal dengan nilai hexa 0xFF. Variabel ini berfungsi sebagai tanda agar program dapat menampilkan 4 gambar secara bersama pada saat awal program berjalan. 2. Inisialisasi serial UART 8 bit, 1 stop bit, none parity dan baud rate 8400 bps dan konfigurasi port I/O.. Kemudian reset LCD dan inisialisasi LCD. Setelah terinisialisasi, maka layar LCD akan dibersihkan dengan cara memberi 1 jenis warna. 4. Pengaturan jalur komunikasi SPI untuk dataflash. 5. Setelah jalur komunikasi selesai diatur, kemudian membaca informasi file gambar yang ada di dalam dataflash, seperti jumlah gambar, jumlah palette, alamat page dan byte dari data pertama palette, halaman dan byte dari setiap gambar serta ukuran dari setiap gambar. Jika telah selesai membaca informasi, maka akan menghasilkan nilai 1 yang diisi pada variabel output yang menandakan bahwa informasi telah didapat. 6. Kemudian variabel bsy=0. Variabel ini berfungsi untuk menandakan sistem komunikasi serial UART. Jika bsy bernilai 1 maka antara mikrokontroler dan PC sedang melakukan komunikasi serial, Jika 0 maka tidak ada komunikasi antara PC dengan mikrokontroler melalui jalur komunikasi serial UART. 7. Insialisasi ADC pada internal ATmega855 dan mengisikan variabel Area dengan 5. ADC berfungsi untuk membaca nilai tegangan yang dihasilkan pada touch screen panel. 8. Cek data input dari komunikasi serial UART yang disimpan pada variabel Rec. Jika Rec berisi karakter W berarti PC (program BMPFlashProgrammer.exe) akan melakukan pengisian data ke dataflash. Apabila bukan karakter W, maka program akan lompat ke langkah no 15. 9. Setelah masuk ke bagian pembacaan data serial UART, maka variable Rec diisi dengan nilai 0 dan bsy diisi dengan nilai 1. Pengisian variabel Rec = 0 berfungsi agar tidak terjadi pengisian data ke dalam dataflash setelah mengisikan data ke dalam dataflash. Page 5 of 7 Application ote

10. Program menerima pengiriman data page yang merupakan page/halaman dari dataflash dan disimpan di dalam variabel array address[0] dan address[1]. Dikarenakan jumlah halaman dari dataflash adalah 2048 (memerlukan 11 bit data) dan sistem komunikasi serial adalah 8 bit, maka data yang diterima sebanyak 2 x 8 bit. Setelah didapat kedua data tersebut, maka digabungkan menjadi satu kesatuan di dalam variable page. Kemudian data di variable page dipecah kembali menjadi 8 bit dan dikirimkan ke serial UART untuk proses verifikasi oleh program BMPFlashProgrammer.exe. 11. Setelah proses verifikasi page selesai, maka BMPFlashProgrammer.exe akan mengirimkan data sebanyak 264 data dari page pertama dataflash ke dalam mikrokontroler melalui komunikasi serial UART. Jumlah 264 data merupakan jumlah data yang disimpan pada setiap halaman dataflash. Hasil pembacaan 264 data oleh mikrokontroler disimpan dalam variable array buffer[] 12. Setelah selesai, maka mikrokontroler akan mengisikan data ke dalam dataflash dengan mengacu pada varibel page dan buffer[] yang didapat dari BMPFlashProgrammer.exe (sesuai dengan langkah no 10 dan 11). 1. Data di dalam dataflash dibaca kembali oleh mikrokontroler mengacu pada isi dari variabel page sebelumnya. Setelah didapat hasil pembacaan, kemudian data tersebut dikirimkan lagi ke PC melalui komunikasi serial untuk proses verifikasi data. 14. Jika data verifikasi benar, maka program di dalam BMPFlashProgrammer.exe akan secara otomatis menambah nilai dari variable page. Kemudian program diulangi seperti pada langkah no 8. Hal ini terdapat perbedaan pada langkah no 11, BMPFlashProgrammer.exe tidak lagi mengirimkan data sebanyak 264 data dari page pertama, melainkan mengirimkan data sebanyak 264 data dari page berikutnya. Proses pengulangan ini berakhir ketika semua data gambar yang akan dimasukan ke dalam dataflash sudah selesai. 15. Jika tidak menerima karakter W dari input serial UART, maka dicek apakah variable output=1 dan bsy=0. Jika tidak, maka program akan langsung menuju ke langkah no 22. 16. Kemudian program akan memeriksa nilai dari variable awal. Jika variable awal bernilai lebih dari 0x00 hexa, maka program akan menampilkan 4 gambar sekaligus dalam 1 layar, mengisikan variable awal menjadi 0x00 hexa dan mengisikan variable Area dengan 0. Pada awal program berjalan (no 1) program mengisikan variable awal dengan 0xFF hexa. Sehingga pada awal program berjalan pasti masuk ke dalam rutin ini. Jika telah terjadi pengulangan program (tidak reset), maka tidak akan masuk ke dalam rutin ini melainkan langsung lompat dari no 15 ke no 16. Hal ini terjadi karena variabel awal telah diisi dengan 0x00 Hexa. 17. Program akan memeriksa apakah ada penekanan pada touch screen panel. Jika terdapat penekanan, maka dilakukan pembacaan nilai tegangan pada sumbu X dan sumbu lalu disimpan pada variable X dan. 18. Setelah itu program akan memeriksa isi dari variable Area, jika berisi nilai lebih besar dari 0, maka program akan mengisikan nilai dari variable Area dengan 0 serta akan menampilkan 4 gambar sekaligus dalam 1 layar. Jika tidak, maka program akan langsung lompat ke no 19. 19. Program akan menghitung dan menganalisa hasil pembacaan sumbu x dan y dengan rumus: x = 11 - (x - 4) / 18 y = 8 - (y - 52) / 21 Fungsi ini berfungsi untuk membagi daerah penekanan touch screen panel menjadi 4 buah bagian. Setelah didapatkan hasil, kemudian dianalisa di mana letak penekanan tersebut. Hal ini berguna untuk menentukan tugas yang harus dilakukan oleh mikrokontroler ketika terjadi penekanan. 20. Jika didapat x>11 dan y>6 maka program tidak akan melakukan tugas apapun. Kemudian program akan memeriksa kembali a. Jika x<6 dan y>=5 maka variabel Area=1 dan menampilkan gambar1 dengan tampilan full screen. b. Jika x>=6 dan y>=5 maka variabel Area=2 dan menampilkan gambar2 dengan tampilan full screen. c. Jika x<6 dan y<5 maka variabel Area= dan menampilkan gambar dengan tampilan full screen. d. Jik x>=6 dan y<5 maka variabel Area=4 dan menampilkan gambar4 dengan tampilan full screen. Kemudian program menuju ke langkah no 22. 21. Periksa isi dari variable Rec. Jika berisi karakter C maka program akan mengirimkan kembali karakter tersebut ke PC yang berarti semua pengiriman data dari PC ke mikrokotroler untuk mengisikan data ke dataflash telah selesai. Kemudian membaca kembali informasi data gambar di dalam dataflash. Jika tidak langsung menuju ke langkah no 8. 22. Setelah selesai, program akan terus berulang ke langkah 8. Langkah-langkah perihal pengisian program ke dalam mikrokontroler maupun pengisian gambar ke dataflash dapat dilihat pada A155. Hubungan detil antar modul dapat dilihat pada masing-masing datasheet modul. Page 6 of 7 Application ote

Listing program AVRTouchScreenLCD.c dan BMPFlashProgrammer.exe terdapat pada A156.ZIP Selamat berinovasi! AVR Studio is Copyright by ATMEL Corp. All trademarks, trade names, company names, and product names are the property of their respective owners. Page 7 of 7 Application ote