Friday, 12 February 2016

Tutorial Menyalakan LCD 16x2 Menggunakan Modul I2C

---------------------------------------------------BISMILLAH---------------------------------------------------

Oke, kali ini kita akan membahas komunikasi antara LCD 16x2 dan ARDUINO via modul I2C (Inter Integrated Circuit). Di sini saya tidak akan membahas apa itu I2C karena penjelasannya sangat teknis (Padahal mah emang kaga ngerti... haha ^^).

Nah, jadi kenapa harus pake I2C sih? Intinya, dengan menggunakan modul I2C, pin ARDUINO yang digunakan untuk menyalakan LCD sangat sedikit yaitu hanya 2 pin: SDA (Serial Data) dan SCL (Serial Clock). Kalau di ARDUINO itu pin A4 untuk SDA dan pin A5 untuk SCL (UNO, NANO).

Di tutorial kali ini saya akan menggunakan ARDUINO NANO (a), LCD 16x2 (b), Modul I2C (c), kabel data mini USB (d) dan 4 kabel jumper.

Gambar 1. Komponen yang Dibutuhkan Untuk Komunikasi LCD16x2 Menggunakan Modul I2C.

Jika semua komponen sudah siap. Saatnya kita merangkainya. Ikuti langkah-langkah berikut dengan baik dan benar ya. Pastikan tidak ada tahap yang terlewati.
  • Langkah pertama adalah hubungkan LCD 16x2 ke modul I2C/ (Perhatikan Gambar 2 berikut.)
Gambar 2.  LCD 16x2 dan Modul I2C.

  • Langkah kedua yaitu hubungkan modul I2C ke Arduino NANO. Pastikan semua kabel terhubung dengan benar. (Perhatikan baik-baik Gambar 3 ya.)
Gambar 3. Skematik Diagram Modul I2c dan Arduino NANO
  • Sampai tahap ini kita sudah selesai melakukan proses wiring. Langkah selanjutnya yang harus dilakukan adalah proses pembuatan program. Nah sebelum mulai membuat program, kita harus download library-nya terlebih dahulu. Silahkan klik link di bawah ini.

  • Jika library di atas sudah di download, silahkan di extract file tersebut ke folder libraries yang ada di installan arduino kita di PC.
  • Langkah selanjutnya adalah buka program ARDUINO IDE dan tulis program seperti di bawah ini.

SELAMAT BERKREASI ^^

referensi:
http://garagelab.com/profiles/blogs/tutorial-lcd-using-only-2-arduino-pins-with-pcf8574-and-i2c

Thursday, 4 February 2016

[TUTORIAL 2] MEMBUAT OBSTACLE AVOIDANCE ROBOT (WALL FOLLOWER)


Di Langkah ketiga ini kita akan mulai membuat algoritma (program) agar OBSTABOT bisa bergerak menelusuri labirin. Pastikan kedua langkah sebelumnya sudah dilaksanakan dengan benar ya ^^.

Gambar 1. Obstacle Avoidance Robot alias OBSTABOT


Algoritma OBSTABOT terbagi menjadi dua algoritma yaitu SUSUR KANAN dan SUSUR KIRI. Di Artikel ini akan dijelaskan algoritma SUSUR KANAN. Algoritmanya adalah sebagai berikut:
  1. Dari tiga sensor yang terpasang kita hanya akan menggunakan dua sensor aja yaitu sensor DEPAN dan KANAN.
  2. Sensor KANAN bertugas untuk mendeteksi jarak OBSTABOT terhadap dinding bagian kanan.
  3. Kita atur supaya jarak rata-rata OBSTABOT terhadap dinding adalah 7 cm (Selanjutnya disebut sebagai Set Point).
  4. Perbedaan posisi robot yang terbaca oleh sensor KANAN dan Set Point kita nyatakan sebagai error.
  5. Untuk mereduksi nilai error tersebut agar selalu bernilai NOL kita gunakan kontrol Proporsional.
  6. Secara sederhana point 4 dan 5 menjelaskan bahwa ketika posisi OBSTABOT terlalu dekat dengan dinding (kurang dari 7 cm) maka OBSTABOT akan bergerak menjauhi dinding. Begitupun sebaliknya, ketika OBSTABOT berada terlalu jauh dari dinding (lebih dari 7 cm) maka OBSTABOT akan bergerak mendekati dinding.
  7. Sensor DEPAN berfungsi untuk mendeteksi dinding yang berada didepan. Ketika cukup dekat dengan tembok yang berada di depan maka secara otomatis OBSTABOT akan berbelok ke arah kiri.
Algoritmanya cukup sederhana bukan? Jika masih ada yang bingung silahkan bisa menghubungi saya. ^^. Berikut cuplikan video OBSTABOT ketika saya sedang mengajar di salah satu sekolah swasta di Kota Bandung.


Nah dari algoritma di atas dikonversikan ke dalam kode arduino akan menjadi seperti di bawah ini: