INFO TERBARU - www.indorobo.com

Jangan lupa TESTIMONI nya di link

CERITA SUKSES PENGUNJUNG

bagi yang sudah berhasil

CARI ARTIKEL DI KOLOM INI

Rangkaian LCD 16x2 Mikrokontroller AVR ATmega

Written By inzar salfikar on Tuesday, December 8, 2009 | Tuesday, December 08, 2009

Malam yang dingin ditambah dengan suasana ruangan be AC.
ni ada rangkaian LCD 16x2 yang sudah umum dipakai dalam pembuatan project-project kecil maupun dalam membuat robot.
langsung aja perhatikan rangkaian berikut ini


rangkaian diatas berasal dari

konfigurasi pin yang diberikan langsung dari Code Vision AVR pada saat melakukan inisialisasi dengan menggunakan wizart. disana tertulis pin yang harus di hubungkan dan yg tidak digunakan.
ada penambahan untuk Pin sebagai masukan power dan sebagai kontras juga ada yang sebagai back light itu terdapat pada PIN 1,2,3 dan 15,16 pada LDC.
perhatikan tampilan dari Code Vision AVR saat inisialisasi wizart dijalankan.

terlihat pin-pinnya persis seperti rangkaian yang saya buat diatas.

komponen yang mungkin gak kelihatan diatas adalah:
Potensio sebagai pengatur kontras pada PIN3 LCD =20K
Dioda=IN4001
selebihnya adalah rangkaian umum minimum system.

note:
1. Setelah inisialisasi selesai, pilih generate, Save file and exit (udah pada tau kan?)
2. tambahkan #include untuk pemanfaatan delay.

cara mrogramnya ni....saya urai biar ngerti
cukup tambahakan
1. lcd_clear(); sebelum while(1) tepat diatas while(1)
2. lcd_gotoxy(0,0); sebagai penentu kolom dimulainya karakter yaitu pada kolom 0 dan baris 0.
3. lcd_putsf(¨saya berhasil¨); untuk menampilkan tulisan saya berhasil

Download
[1] Program Test LCD

[2] Datasheet ATmega16

selamat mencoba......semoga berhasil seperti anak pulau ini....salam anak pulau....:-)


Related Article
[1] minimum system mikrokontroller atmega16
[2] minimum system microcontroller atmega
[3] HQRP Smart Battery Charger for Canon EOS Kiss F, EOS Kiss X2, EOS Kiss X3 Digital Camera plus LCD Screen Protector

29 comments:

Bonanza Yoma Pratama said...

duh bahasa apa toh.... :-t

mas, kalo robot yang menggunakan switch itu maksudnya gmn?

Inzar Salfikar said...

bahasa C bro....tp yang jelas bukan C murni cozz dah di modifikasi oleh code vision biar lebih gampang.

mungkin maksud kamu pake tombol ya? kalo pake tombol ya untuk ngatur-ngatur konstanta PID atau ngatur program lah....ntar kan nampil di LCD. atau maksudnya buat mode?
wah.....jd ribet ni....gak ngerti maksud pertanyaan ni....

Anonymous said...

mas kenapa pin data 0-3 ga dihubungkn ke port?. klo pin data 0 - 7 saya gabung menjadi 1port gmn mas?.

Inzar Salfikar said...

karena konfigurasi di library code vision saat menggunakan code wizart ya seperti itu. kalo kamu pakai MCS51 biasanya kepakai semua.

tapi kalo mau repot ya gak apa2 dibuat satu port tp jangan pakai wizart. harus inisialisasi sendiri. saya pernah nyoba bareng temen pakai WINAVR. kalau mau library lain juga banyak di internet.

Anonymous said...

oo jadi ga ada bedanya mas.. yauda mending pake cara sperti diatas ae. hehe. tengs :)

Arief said...

TERIMA KASIH ATAS INFORMASINYA SAUDARAKU

ryq said...

ko..ga da schematic dan broad buat download si bang..
biar tambah lengkap gitu.

Inzar Salfikar said...

oalah....perlu ya...ntar deh di posting. sekarang mau lanjut rotating LED dulu sampai kelar. mungkin 1 postingan lagi biar pada gak penasaran sama rotating LED. he he he sabar ya...

AUTOMATION AND ROBOTICS said...

rekan mungkin ada yg prnh menggunakan lcd 16x2 non backlight datavision phico d-094v-0 9904 p123-1 tolong d share ya soalnya sy bli lcd tu tp ga mau nyala?apa rangkaian n datasheetnya berbeda?

Inzar Salfikar said...

kemungkinan konfigurasinya berbeda. boleh minta datasheetnya? saya mau baca. link jug agak apa2

rendy said...

mas.., ko lcd saya g bisa tampil…, padahal ud buat di proteus ud bisa tam[il..,

dan ud troubleshoot jg tidak ada yang jalur putus atau salah…,

mohon bantuannya mas..,
trimakasih

Inzar Salfikar said...

mungkin kontrasnya coba di puter2 seperti rangkaian diatas dan wizartnya pakai itu aja.
saya juga pernah kejadian gitu gak nampil. tapi mungkin beda kondisi. saya menggunakan kabel sambungan padahal gak ada yang putus tapi tetep gak nyala. ternyata karena konektor. coba deh cek konektor dan solderan pada LCD kamu. mungkin aja ada jalur yang putus soalnya LCD kan double layer.

Bonanza Yoma Pratama said...

maz.... mau tanya tentang masalah program interface...
misalnya kita mau menampilkan sesor ke LCD. semisal sensor pertaama membaca garis putih n di LCD menapilkan "1". seperti itu lah.. itu gmn programnya mz... makasih... ^^

Inzar Salfikar said...

wah...gak mungkin dijelasin di komen. sebenrnya gampang....intinya cukup tampilkan logo atau karakter "1" atau "0" di LCD dengan menggeser kolom saja untuk tiap sensor.

geser kolom pada intruksi lcd_gotoxy(1,0);

maka dia akan berada pada kolom ke 1 baris ke 0

spartakook said...

mas.,
kalo mau ngecek adc pada atmega8 dengan display led gimna??
jadi nanti ada masukan Vdc analog dikonversi ama adc dan tampilannya LED.,
thanks b4

Inzar Salfikar said...

seting aja menggunakan wizart dan pilih chip ATmega8 dan xtall yang digunakan.

kemudian pada tab ADC. centang enable ADC dan centang use 8 bit. gunakan AREFF pada pada combobox pilihannya.

atur salahsatu port menjadi output semua. misal PORTD.
pada atmega 8 ADC terletak pada PORTC. sehingga PORTC jangan digunakan lagi ya.......


buat program didalam dalam while 1 seperti berikut.

while(1)
{
PORTD=read_adc(0); // langsung nampil pasa PORTD
delay_ms(100); //boleh digunakan boleh tidak
}

sekian, salam anak pulau :)

fwzy bernadado said...

mas, numpang tanya tentang lCD, sy tlh buat program yang ada 3 input yang dimasukkan ke ADC kemudian salah 1 ADC jika telah memasuki range tertentu akan mengeksekusi perintah, program sudah jalan, yang jadi masalah ada 3 syarat perintah a,b,c ketika perintah c yang dijalankan ternyata perintah a dan b juga ikut tampil di LCD. mohon bantuannya mas.
sorce code dan simulasi proteusnya sy sertakan di bawah. thanks.

http://www.ziddu.com/download/20112819/teslcd.rar.html

inzar salfikar said...

udah saya modifikasi proteus dan program. untuk mengeluarkan angka di variable "a" maksudnya kan?

ambil disini download

untuk membuat kondisi agar tidak terdeteksi sebagai kondisi lain juga maka harus buat se detail mungkin. lihat di downloatan ntar.

kasusnya
jika angka<2
jika angka<3
jika angka<10

maka semua kondisi tersebut diatas jika nilai angka berupa nilai "1" maka semuanya benar semuanya berar berada dibawah 2,3 dan 10. yakan?

lihat aja contoh dan simulasi nya di file downloatan link diatas. proteus juga udah saya ganti potensio nya agar saat saat running juga bisa di ganti nilainya. salam anak pulau.

fwzy bernadado said...

thanks mas inzar salfikar.
sy kira kalau pake staement 1<a<3 kondisi yg lainnya g bakal ngikut, ternyata harus detail. thanks mas.
oy ini biar tampilan variabel "a" nya bisa konstan tampil di lcd gmn mas? soalnya ini msh kadang agak berkedip lama

inzar salfikar said...

program dalam

while (1)
{

lcd_clear();

gak boleh ada clear. sehingga waktu terdeteksi kondisi pertama akan menunda 300 ms dan kemudian di clear lagi.

pindahin lcd_clear() ke atas while(1)

kalo ada sisa tulisan karena gak di clear maka untuk menghindarinya tambahkan spasi di akhir dari angka yang muncul untuk menghindari tersisanya tulisan.

misal:

245 -- tampilan awal
berikutnya harusnya 10 tapi malah tampil
105 karena 5 tadi masih tertinggal di LCD. so....kalo ditambahin spasi 2 kali setelah angka maka akan menghapus nilai dibelakangnnya.

kalo perubahannya linear cukup 1 kali aja spasinya. selamat mencoba dan ber experimen.

salam anak pulau. sambil kelaparan tetep harus bisa ngucapin slogan. wkwkwkw. buka puasa di aceh lebih lama 1 jam dibanding surabaya. wkwkwkwk

fwzy bernadado said...

ok mas sy edit dulu codenya :D

salam anak pulau jg :D (surabaya kan termasuk pulau jawa heheehe ;p)

inzar salfikar said...

beda dong...ini beneran pulau WEH....kalo di peta gak keliatan...paling kalo skala gede keliatannya cuma titik doang.

fwzy bernadado said...

mas bro mw tanya lagi nih.

1. variabel "a" kan sy jadiin float dan sudah sy kasih spasi tpi masih ada nyempil angka "0" pada angka yg terkecil. gmn y mas ngilangin nol nya yg ketinggalan?

2. berhubung prgram yg masnya edit sdh berhasil maka sy buat lgi 1 syrata tp dgn variabel "b" tipe datanya integer, trus sy masukin ke code yg tadi dan ternyata nyempil angka "00" dibelakang koma, gmn caranya buat ngilangin angka "00" dibelakang koma, sy pake perintah "itoa" mlh error mas.

maaf ngerepotin lagi ^_^

inzar salfikar said...

1. kalo float pasti muncul nol dong di belakang.
coba tulis gini %.f mungkin bisa. ane lupa2 ingat.

2. kalo saya pake sprintf biasa. itoa gak pernah make. baru tau pas liat program kamu kemarin wkwkwkwkwkwk......

fwzy bernadado said...

wah berarti sy buat code sendiri wkkwkww

Pandu Abadinata said...

mas mbak, skematiknya agak susah di liat jalur wire nya. mohon diperbaiki. saran aja sih.

inzar salfikar said...

gak susah kok. krn itu mengugnakan NET liat aja nama yang sama. setiap nama yang sama pada kakinya itu adalah terhubung.
malah kalau di kasi jalur ntar jadi semak.wkwkwkkw
trims infonya.

Fitra Padillah said...

mas, boleh minta rangkaian konfigurasi LCD 16x2 dengan atmega 8535

inzar salfikar said...

di contek aja gambar pada postingan ini ya....udah bener kok itu. saya pake codevision buat mrogramnya.

Jangan lupa TESTIMONI nya di link

CERITA SUKSES PENGUNJUNG

bagi yang sudah berhasil

Post a Comment