Minggu, 15 Januari 2017

BELAJAR ARDUINO (MENAMPILKAN NILAI POTENSIO DI LCD)

Yang ini mungkin bisa di aplikasikan ke berbagai peralatan yang akan kita rancang. Kita bisa menampilkan berbagai proses running program arduino kita. Kita contohin aja menampilkan nilai dari sebuah potensiometer. gambarnya seperti di bawah ya
























Berikut sketch program untuk menampilkan nilai potensionya

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int potensioPin = A0;
const int LEDPin = 9;

int nilaiPotensio = 0;

void setup() {
  lcd.begin(16, 2);                      // inisialisasi lcd
  lcd.print("RG TECH");           //menulis "RG TECH" di baris pertama
  lcd.setCursor(0, 1);                 // memindahkan kursor ke baris ke dua
  lcd.print ("Belajar Arduino"); // menulis "Belajar Arduino" di baris ke dua
  delay(2000);                            // tunda proses program selama 2000mSec atau 2 detik
  lcd.setCursor (0, 0);                 // memindahkan kursor ke baris pertama
  lcd.print ("Potensiometer:  "); // menulis "Potensiometer" pada baris pertama
  lcd.setCursor(0, 1);                  // memindahkan kursor ke baris ke dua
  lcd.print ("                ");           // sebagai clear screen pada baris ke dua
  Serial.begin(9600);
}

void loop()
{
  nilaiPotensio = analogRead(potensioPin);
  lcd.setCursor (0, 1);
  lcd.print(nilaiPotensio); // menampilkan nilai parameter di dalam kurung
  delay(20);
}

Nah ini penjelasannya bor...
Langsung ke bagian setup aja ya
lcd.begin(16, 2); ini adalah inisialisasi untuk LCD 16X2. lcd.print("RG TECH"); untuk pertama kali menulis di lcd tanpa kita set menulis di baris mana, LCD akan otomatis menulis di baris pertama. lcd.setCursor(0, 1); untuk mengatur penulisan. 0 adalah kolom ke 0 dan 1 adalah baris ke 2. Seperti yang kita bahas sebelumnya microcontroller menghitung dari 0 bukan dari 1. sipp kan pren... :).
lcd.print ("Belajar Arduino"); ini dia yang kita tulis di baris ke 2. delay(2000); kita menunda proses selama 2000 mikro detik atau 2 detik. Maksudnya biar bisa di baca, g langsung pindah ke tulisan berikutnya. Teman2 boleh kok merobah sesuai keinginan sendiri. lcd.setCursor (0, 0); kita ulangi menulis informasi berikutnya di baris pertama. Yang kita tulis adalah Potensiometer dengan instruksi lcd.print ("Potensiometer:  "); Kita set lagi kursor ke baris ke dua dengan instruksi lcd.setCursor(0, 1);. lcd.print ("                ");  lha... kenapa di kosongin ya??? Ini dia nih, library LiquidCrystal tidak menyediakan clear screen untuk membersihkan layar. Tapi kalau teman-teman penasaran coba aja ilangin, apa ya yang terjadi

Masuk ke bagian void loop().  nilaiPotensio = analogRead(potensioPin); instruksi ini membaca nilai dari potensioPin dan memasukkan kedalam nilaiPotensio dan mengkonversikan nya dari analog ke digital (ADC) dengan resolusi 2^10, atau 1024. Nilai tersebut sesuai dengan tegangan yang di baca oleh potensioPin. lcd.setCursor (0, 1); kita set cursornya ke baris ke dua kolom pertama dan menuliskan nilaiPotensio ke dalamnya dengan instruksi lcd.print(nilaiPotensio);. delay(20); untuk menunda pembacaan program supaya demi kelancaran arduino melakukan proses, dan demi aku dan kamu. hehehehe....

Yuk di coba...
Kalau ada pertanyaan dan saran silahkan layangkan surat anda ke kolom komentar di bawah. Uda akan senang hati menjawab setiap pertanyaan teman-teman sekalian. 


Senin, 09 Januari 2017

BELAJAR ADUINO LCD 2X16 (MENULIS PESAN DI LCD)

Giliran LCD 16X2 sekarang nih. LCD 16X2 banyak di gunakan di proyek-proyek arduino. Kita bisa menampilkan informasi melalui LCD 16X2 karakter ini. Yuk langsung aja pren...



Begini nih kira-kira gambar rangkaiannya pren.hubungkan ya kabelnya sesuai gambar.

Sketch programnya begini nih brai.



Apa??? tulis aja????
Oke... oke...
Nih dia.

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  lcd.begin(16, 2);
  lcd.print("BELAJAR ARDUINO");
}

void loop() {
  lcd.setCursor(0, 1);
  lcd.print("LCD 2X16 CHAR");
}

Begini nih penjelasannya. 
#include <LiquidCrystal.h> adalah library yang kita masukkan ke sketch programnya. Library???
apa lagi tuh??? Library adalah program yang sudah di tulis oleh vendor pembuat hardware untuk mempermudah pengguna hardwarenya menulis sketch programnya. Bayangin aja klu kita harus tulis satu per satu. Mulai dari pengenalan pin LCD nya. fungsi dari masing-masing pin. program dari masing-masing pinnya. Aduh ribet dech. Nah ini enak nya arduino, tinggal panggil librarynya trus edit penyesuaian pin nya, trus tulis fungsinya sesuai dengan aturan penulisan dari librarynya, jadi dech. 

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); Ini contoh pengaturan pin nih pada Library LiquidCrystal. Konfigurasi pin yang di tentukan oleh librari ini adalah LiquidCrystal lcd(RS, E, D4, D5, D6, D7); Jadi kita tinggal sesuaikan saja sama pin LCD nya. 

void setup() Seperti biasa lah. G perlu di jelasinkan.
  lcd.begin(16, 2); Nah ini adalah type LCD yang kita pakai, 16X2 karakter. Angka 16 mewakili kolom, dan 2 mewakili barisnya. Bisa kok kita pakai LCD jenis lain, misalnya LCD 20X4.
 lcd.print("BELAJAR ARDUINO"); Kalau kita tidak menjelaskan tulisannya mau di tarok di mana maka default dari librarynya meletakkan pada baris ke 0 kolom ke 0. Artinya tulisan BELAJAR ARDUINO akan di tulis dibaris pertama kolom 0.

 lcd.setCursor(0, 1); pada void loop() adalah pengaturan untuk meletakkan tulisannya. ini maksudnya meletakkan cursor pada kolom 0 di baris 1. O iya, microcontroller apa saja menghitung dari 0 ya, bukan dari satu. jadi 0 maksudnya adalah kolom ke 1.

lcd.print("LCD 2X16 CHAR"); O iya, ini tentang cara menulis di arduino nih. kalau yang kita tulis cuma pesan kasih kutip dua ya (").

Kalau kita ingin menulis pesan lain tinggal ikuti contoh berikut aja nih. Ganti bagian void loop()

lcd.Setcursor (0, 0);
lcd.Print ("                ");

Program di atas untuk membual layar bersih di baris pertama. Jadi ini cara clear screen lcd untuk library Liquid Cristal. 

Selanjutnya tinggal tulis pesannya aja. Nih contohnya.

void loop()
lcd.Setcursor (0, 0);
lcd.Print ("RG TECH");
lcd.Setcursor (0, 1);
lcd.Print ("I Love To Learn");
delay(2000);
lcd.Setcursor (0, 0);
lcd.Print ("Belajar Arduino");
lcd.Setcursor (0, 1);
lcd.Print ("LCD 16X2 Char");
delay(2000);

Silahkan praktek dech... have fun....
Kalua ada pertanyaan seputar LCD silahkan di tulis di bawah ya, Uda pasti dengan senang hati menjawabnya