Laporan Akhir (percobaan 3)
1. Tujuan [Kembali]
1. Merangkai percobaan 3 modul 1.
2. Menjelaskan cara kerja rangkaian percobaan 3.
3. Melakukan simulasi rangkaian percobaan 3.
Kondisi : Jika tombol * ditekan maka ditampilkan karakter angka
91011 pada LCD.
2. Alat dab Bahan [Kembali]
3. Rangkaian Percobaan [Kembali]
Pada percobaan ini, bahan dan alat yang digunkan dirangkai seusai dengan
modul, dimana seven segment, arduino dan keyped dirangkai sedemikian rupa
dengan menyesuaikan pin-pin setiap komponen sesuai dengan perintah modul.
Setelah dirangkai, arduino diprogram sesuai dengan kondisi yang
diinginkan.
Program diawali dengan pendeklarasian LCD(LiquidCrystal.h) dan keypad
(Keypad.h). Kemudian dilakukan pendeklarasian jumlah kolom dan baris untuk
keypad. Pada percobaan ini jumlah baris dan kolom keypad yang digunkan
yaitu 4x3. Kemudian dilakukan pendeklarasian pin-pin yang digunakan pada
keypad dan lanjut menginisialisasi library LiquidCrystal.h dan Keypad.h dengan pin-pin yang
digunakan.
Setelah melakukan pendeklarasian yang dibutuhkan pada
program, lanjut untuk pembuatan
funsinya. Disini terdapat fungsi void setup(), pada fungsi ini
dilakukan set baris dan kolom LCD dengan fungsi
lcd.begin() dan
lcd.setCursor(). Selanjutnya untuk void
loop() dilakukan
pembacaan keypad dimana dideteksi tombol
mana yang sedang ditekan dengan fungsi
keypad.getKey(). Jika tombol/key yang ditekan adalah '*'
maka akan
ditampilkan karakter "91011" pada layar LCD(sesuai dengan
kondisi yang diminta pada percobaan ini), sedangkan
jika tombol lainnya yg ditekan tidak akan
ditampilkan karakter pada LCD.
4. Listing Program [Kembali]
Listing Program
#include <LiquidCrystal.h>
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {10, 9, 8, 7};
byte colPins[COLS] = {13, 12, 11};
LiquidCrystal lcd(A0, A1, 0, 1, 2, 3, A2, A3, A4, A5);
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS
);
void setup()
{
lcd.begin(20, 4);
lcd.setCursor(1,2);
lcd.setCursor(4,3);
lcd.setCursor(0,0);
}
void loop()
{
char key = keypad.getKey();
if (key == '*')
{
lcd.print("91011");
}
}
Flowchart
5. Vidio [Kembali]
Hasil percobaan
6. Kondisi [Kembali]
1. Jelaskan listing program sesuai kondisi masing masing kelompok.
Jawab:
Kondisi= Jika tombol * ditekan maka ditampilkan karakter angka 91011
pada LCD.
Setelah dirangkai, arduino diprogram sesuai dengan kondisi yang
diinginkan.
Program diawali dengan pendeklarasian LCD(LiquidCrystal.h) dan keypad
(Keypad.h). Kemudian dilakukan pendeklarasian jumlah kolom dan baris
untuk keypad. Pada percobaan ini jumlah baris dan kolom keypad yang
digunkan yaitu 4x3. Kemudian dilakukan pendeklarasian pin-pin yang
digunakan pada keypad dan lanjut menginisialisasi library LiquidCrystal.h dan Keypad.h dengan pin-pin yang
digunakan.
Setelah melakukan pendeklarasian yang dibutuhkan
pada program, lanjut untuk pembuatan
funsinya. Disini terdapat fungsi void setup(), pada fungsi ini
dilakukan set baris dan kolom LCD dengan fungsi
lcd.begin() dan
lcd.setCursor(). Selanjutnya untuk
void loop() dilakukan
pembacaan keypad dimana
dideteksi tombol mana yang sedang ditekan
dengan fungsi keypad.getKey(). Jika tombol/key yang ditekan adalah
'*' maka
akan ditampilkan karakter "91011" pada layar LCD(sesuai
dengan kondisi yang diminta pada
percobaan ini), sedangkan jika tombol lainnya yg
ditekan tidak akan ditampilkan karakter pada LCD.
#include <LiquidCrystal.h>
#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {10, 9, 8, 7};
byte colPins[COLS] = {13, 12, 11};
LiquidCrystal lcd(A0, A1, 0, 1, 2, 3, A2, A3, A4, A5);
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS
);
void setup()
{
lcd.begin(20, 4);
lcd.setCursor(1,2);
lcd.setCursor(4,3);
lcd.setCursor(0,0);
}
void loop()
{
char key = keypad.getKey();
if (key == '*')
{
lcd.print("91011");
}
}
2. Bagaimana jika pin D4 sampai D7 LCD dipindahkan ke pin digital 0 - 3?
berikan analisa!
Jawab:
Apabila dilakuakn pemindahan pin D4-D7 ke pin digital 0-3, maka rangkain
tidak akan berjalan sesuai dengan kondisi yang diinginkan. Hal ini
dikarenakan pin 0 merupakan pin RXD dan pin 1 merupakan pin TXD. karena pin
tersebut bukan pin PWM maka rangkain tidak dapat menjalankan atau
mengaktifkan fitur PWM.
3. Apa pengaruh V0 terhadap LCD, jelaskan fungsi pin RS, RW, dan E serta bagaimana menghubungkannya agar LCD dapat menampilkan karakter.
Jawab:
V0 berfungsi untuk mengatur tingkat kecerahan layar LCD. V0 terhubung ke potensiometer sehingga tingkat kecerahan LCD diatur oleh tegangan potensiometer.
RS (Register Select) : Pin ini berganti-ganti antara perintah atau data register, digunakan untuk menghubungkan pin unit mikrokontroler dan mendapatkan 0 atau 1 (0 = mode data, dan 1 = mode perintah).
RW (Read Write) : Pin ini mengaktifkan tampilan di antara operasi baca atau tulis, dan terhubung ke pin unit mikrokontroler untuk mendapatkan 0 atau 1 (0 = Operasi Tulis, dan 1 = Operasi Baca).
E (Enable) : Agar dapat mengaktifkan LCD dan dapat menampilkan data maka pin Enable harus dipertahankan dalam kondisi HIGH.
Pada percobaan yang dilakukan pin V0 terhubung ke potensiometer, pin RS terhubung ke pin A0, pin E terhubung ke pin A1, dan pin RW terhubung ke GROUND.
7. Link Download [Kembali]
Download file HTML
Download file simulasi proteus
Download file program arduino
Download video simulasi
Download file datasheet arduino
Download file datasheet 7 Segment
Download file library arduino
Tidak ada komentar:
Posting Komentar