Bagaimana cara menampilkan suhu LM35 di LCD 16×2 menggunakan Arduino? Sebelum saya jawab, mari kita coba flashback dulu. Pada artikel yang lalu saya memberikan contoh membaca suhu menggunakan sensor LM35 dan mengeluarkan datanya pada terminal ‘Serial Monitor’ (bawaan software IDE Arduino) di laptop. Dan pada artikel berikutnya, saya juga memberikan contoh bagaimana menampilkan data di LCD 16×2 dari Arduino.
Nah, pada artikel ini saya akan memberikan contoh untuk menggabungkan keduanya, yaitu mengambil data suhu dari sensor LM35 dan menampilkannya di LCD 16×2 (tidak lagi ditampilkan di jendela Serial Monitor). Caranya cukup mudah, cukup menggabungkan kedua program/sketch yang ada pada artikel-artikel yang sudah saya sebutkan tadi, dengan sedikit modifikasi tentunya. Anda bisa mencoba-cobanya sendiri, tapi kalo kesulitan bisa meng-copy source code di bawah. Free aja kok 🙂
LCD 16x2" >#include <LiquidCrystal.h> float temp; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); lcd.print("Suhu :"); } void loop() { temp = analogRead(0); temp = temp * 0.48828125; //(5V * 100)/1024 lcd.setCursor(0, 1); lcd.print(temp); lcd.setCursor(7, 1); lcd.print("C"); delay (1000); }
Bagaimana? Simpel bukan? Saya tidak akan menjelaskan terlalu detail source code di atas, karenasudah pernah saya jelaskan di artikel-artikel yang saya sebutkan tadi. Pada intinya, sketch di atas akan mengambil data suhu dari port Analog A0 dan akan ditampilkan di LCD 16×2. Program ini akan terus menerus dilakukan dengan jeda (delay) sekitar 1 detik (1000 ms). Untuk gambar rangkaian, sama aja dengan yang ada di dua artikel di atas, tinggal digabungkan saja. Pinout rangkaian juga masih tetap sama. Silahkan dilihat di artikel-artikel tersebut di atas ya ….
Jika Anda sudah berhasil melakukan percobaan di atas, selamat……Anda sudah one more step ahead daripada Anda setengah jam yang lalu. Saya estimasikan Anda dapat merangkai prototipe rangkaian, mengisi program dan melihat hasilnya dalam waktu kurang dari setengah jam :). Nah, jika ada yang mau lebih advanced lagi, sekarang mari kita coba tidak menggunakan board Arduino, tapi cukup menggunakan IC mikrokontroller ATmega 168-nya aja. Gimana? Apakah mungkin? Mungkin aja, kan pada intinya, apapun software yang Anda gunakan untuk memprogram ATmega 168 (dan family series-nya) entah itu menggunakan software IDE Arduino, CodeVision AVR, AVR Studio dll, yang akan masuk ke IC mikrokontroller adalah kode-kode bahasa mesinnya. Kode bahasa mesin itu kode yang hanya bisa dimengerti IC mikrokontroller saja, yang berwujud bilangan biner 0 dan 1 saja. Kalo mau lebih dalam lagi, sebenarnya juga bilangan biner, tetapi secara fisik adalah tegangan logic yang mewakili bilangan biner, yaitu tegangan 5V buat logic ‘1’ dan 0V untuk logic ‘0’. Kalo masih bingung silahkan beli buku saya aja deh :), di situ insya Allah sudah saya jelaskan dengan detail tentang hal ini.
Oke kembali lagi ke advanced experiment di atas, kali ini saya akan mengambil IC mikrokontroller ATmega168 dari board Arduino, dan merangkainya di protoboard bersama dengan sensor suhu LM35 dan LCD 16×2. Kira-kira hasilnya seperti gambar di bawah. Alhamdulillah sukses 😀 . Jadi ga melulu harus pake board Arduino ya, Anda bisa bikin sendiri sistem minimumnya. Silahkan mencoba dan selamat berkreasi. Kalo saya bisa, berarti Anda juga bisa …..
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Untuk skema dasar penggunaan ic atmega tanpa board aurdino seperti apa mas,,? Setelah di isi programnya,, lalu untuk penentuan kaki ic input dan outputnya seperti apa,,?
skema dasar penggunaan ic atmega tanpa board arduino intinya sama seperti sistem minimum atmega, kalo mau lebih simpel lagi, cukup ic atmega sama crystal (16 MHz) dan dua kapasitor (22 pF). Penentuan kaki ic atmega dibaca seperti halnya kaki arduino, contoh: – kaki no 2 ic atmega328 adalah pin digital 0 (D0) arduino, – kaki no 3 ic atmega328 adalah pin digital 1 (D1) arduino, – kaki no 14 ic atmega328 adalah pin digital 8 (D8) arduino, – kaki no 23 ic atmega328 adalah pin analog 0 (A0) arduino, utk lebih detailnya bisa di lihat di sini : http://saptaji.com/wp-content/uploads/2016/02/Arduino_Uno_Rev3-schematic.pdf trus… Read more »
assalamualaikum, gan…
sya mw tny, soalnya sya msh pemula dan ingin mendalami arduino.
kmrn sya menginstall software arduino versi 1.6.7 pda Device Manager tertera COM 23
kmudian sya mengambil contoh source code Servo.
File-Example-Servo
stelah selesai, sya memverifikasi / mengupload sketch program pada arduino, namun yg muncul pesan Error seperti yang ada di bawah ini,
collect2.exe: fatal error: cannot find ‘id’
compilation terminated.
exit status 1
Error compiling.
mohon bantuan nya, gan…
knpa setiap sya akan memverifikasi/ mengupload servo, sensor atau yg lainnya selalu Error.
atas waktu nya sya ucapkn trima ksih.
waalaikumsalam wr wb
Barusan sy coba juga mas, program example servo-nya, ga ada error tuh. Saya cek ga ada variabel ‘id’. Perkiraan saya, sketch-nya ketambahan karakter ‘id’ di sembarang tempat, coba cek lagi mas
Sebagai referensi, kalo masih tahap kompilasi (compiling), belum masuk ke masalah port COM, jadi mnrt sy kesalahaan ada di sketch bukan masalah komunikasi serial di port COM
alhamdulillah,
gan akhrnya software arduino sya sdh bisa memverifikasi / mengupload source code program.
inti permasalahan nya, laptop sya tdk dpt menjalankan Arduino versi 1.6.7.
ttpi bisa berjalan dengan versi 1.0.6.
mkch atas sran sblumnya, gan…
Mas mau tanya, saya msh baru nyoba2 arduino. Apakah setiap sketch yang sudah diupload di mikrokontroller apabila power kita putus, dan power kita sambung lagi programnya (sketch) ikut hilang ? Karena dari dua board arduino nano versi.3 yang saya beli semuanya begitu. Terima kasih atas jawabannya.
harusnya ngga mas
Mas mau tanya penjelasan tentang rumus 5v*100/1024 itu bagaimana?
5V adalah tegangan maksimal yang dapat diterima pin analog Arduino
100 adalah suhu maksimal dalam celcius
1024 adalah nilai maksimal konversi ADC internal Arduino (10 bit)
misi mas,, pengen nanya nih,,
gimana yah caranya supaya tampilan lcd 16*2 nya bisa dilihat di delphi??
mohon bantuannya mas, buatin tutornya dong.. 😀
makasih
siang mas, mau tanya,
kenapa kok tulisan di lcd nggak jelas “mirip tulisan cina” kalo digunakan untuk menampilkan pembacaan dari sensor.
tapi kalo cuma menampilkan tulisan bisa jelas.
permasalahnya dimana ya kira2 ?
terimakasih.
coba pembacaan sensor disimpan dulu dalam sebuah variabel, terus tampilkan ke Serial Monitor. Hasilnya gmn?
gan minta bantuan
untuk merangakai lcd 16×2 dengan Arduino r3
karena bingung dengan pin pin nya
bisa baca ini dulu http://saptaji.com/2015/07/23/mudahnya-bikin-hello-world-di-lcd-16×2-dengan-arduino/
assalamualaikum mas mau tanyak kok ngk ada cara wiring nya ya ke arduino saya masih belajar soal nya mas terimakasih
waalaikumsalam wr wb.
wiring ada di artikel http://saptaji.com/2014/03/13/5-menit-bikin-termometer-digital-dengan-arduino-dan-sensor-suhu-lm35/ dan http://saptaji.com/2015/07/23/mudahnya-bikin-hello-world-di-lcd-16×2-dengan-arduino/ (digabungkan sendiri ya he he he)