74hc595 Arduino LCD
Manfaat 74HC595
IC 74hc595 biasa nya kita gunakan untuk menambah output port pada suatu mikrokontroller, saya pribadi menggunakannya untuk mengendalikan seven segment. Bisa menggunakan system scanning maupun system static. Bayangkan saja, dengan IC ini kita hanya memerlukan 3 pin mikrokontroller atau Arduino untuk mengendalikan Jumlah seven segment yang banyak. 3 Pin itu berfungsi sebagai Data, Latch dan Clock.
Jika kita gunakan untuk menambah port maka satu IC 74HC595 saja sudah bisa menghasilkan 8 output. Jika ingin mengendalikan Output ( Contoh misal nya relay ) sebanyak 80 relay, maka kita hanya butuh sebanyak 10 IC 74HC595 dengan pengendali 3 pin mikrokontroller atau Arduino misalnya. Ini lah salah satu manfaat dari ic 74HC595. Untuk cara kerja mudah-mudah an ada waktu kita bahas bersama.
Lantas apakah IC ini bisa kita gunakan untuk mengendalikan LCD16x2 atau 20×4? yaps bisa, IC ini secara pribadi jauh lebih efektif dan efesien jika dibandingkan dengan LCD I2C. Tidak perlu scan address dulu, cukup langsung di program. Untuk tutorial mengendalikan LCD dengan I2C dapat teman-teman baca di link di bawah ini, cukup click saja.
Lantas bagaimana kah cara kita mengendalikan LCD Arduino ini IC 74HC595? yuk kita coba mulai dengan rangkaian di bawah ini.
Rangkaian 74HC595 untuk LCD
Rangkaian LCD 74HC595 cukup sederhana, output output IC ini akan di hubungkan ke kaki kaki LCD. Kemudian yang lain nya adalah potensiometer untuk mengatur kecerahan dari LCD. Lebih detail nya bisa teman-teman lihat rangkaian pada gambar di bawah ini.
Untuk rangkaian ini tidak perlu teman-teman ragukan lagi, apakah bekerja atau tidak, apakah berhasil atau tidak, karena rangkaian ini sudah saya uji sendiri dan syukur ya berhasil. Untuk penampakan PCB desain nya bisa teman-teman lihat di bawah ini.
Untuk nilai komponen nya cukup sederhana, hanya menggunakan resistor 220ohm 1/4 watt dan potensio 5k saja sudah cukup. elko di atas bisa saja di abaikan atau tidak dipasang, kalo mau disolder juga bisa menggunakan elko 0.1uf, kemarin saya coba elko 47uF, alhasil rangkaian tidak bekerja. Mungkin delay pada latch nya terlalu lama.
Untuk koneksi antara modul Arduino dengan LCD ini bisa teman-teman lihat pada tabel di bawah ini,
PIN 74HC595 | PIN ARDUINO |
DATA | MOSI |
LATCH | D8 |
CLOCK | SCK |
Pada pin Data dan SCK sudah default. Koneksi pin ini tidak boleh di ganti-ganti, karena interface Arduino dengan IC74HC595 menggunakan koneksi SPI. Untuk Latch bisa di hubungkan ke pin apa saja, bisa di konfigurasi pada program nanti nya.
Program LCD shift register
Sebelum program IC ini, seperti biasa sebelum download library nya. say thanks to library maker, Kemudian teman-teman download di link di bawah ini.
https://github.com/omersiar/ShiftedLCD
Setelah di download teman-teman bisa add library dari Arduino IDE atau extract langsung di folder library Arduino. Kami harap teman-teman sudah bisa menambahkan library nya. Selanjut nya adalah program. Bagaimana kah program untuk menampilkan data di LCD. kita coba program di bawah ini.
// include the library code: #include <ShiftedLCD.h> #include <SPI.h> // initialize the library with the number of the sspin // (or the latch pin of the 74HC595) LiquidCrystal lcd(8); // pin latch? void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000); }
Program di atas akan menampilkan counter yang data counter nya di ambil dari fungsi millis Arduino. Untuk hasil video nya bisa teman-teman lihat video cuplikan di bawah ini.
Semoga bermanfaat
Thanks