Laporan Akhir 2 Modul 1
Percobaan 2
Keypad dan 7-Segment
a. Hardware
1. Seven Segment common catoda
2. Arduino Uno
3.Keypad
4. Jumper
5. Breadboard
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan dengan modul
3 . Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Pada percobaan 2 ini terdiri dari beberapa komponen, seperti breadboard, seven segment, arduino uno, jumper, keypad dan lainnya. Dimana pada rangkaian ini keypad bertindak sebagai input yang direpresentasikan oleh push button yang nantinya akan terhubung nantinya ke arduino Uno, dan seven segment bertindak sebagai penampil output yang diberikan.
Sesuai dengan program arduino yang sudah di buat dimana terdapat array matrix 4x4 yang merepresentasikan layout keypad, yang masing-masing karakter terkait degan tombol pada keypad. Jadi apabila kita menekan tombol pada keypad maka akan dimunculkan tulisan tombol tersebut di 7-segment.
Jadi kita menekan button maka 7-segment akan menampilakan sesuai dengan yang kita tekan.
4. Flowchart dan Listing Program [Kembali]
a. Listing Program
//Percobaan 2
#include <Keypad.h>
const byte ROWS = 4; // Four rows
const byte COLS = 4; // Fou columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'}, // Keypad 4x4 layout
{'7','8','9','C'},
{'*','0','#', 'D'}
};
byte rowPins[ROWS] = {A4, A3, A2, A1}; // Connect to the keypad row pins
byte colPins[COLS] = {10, 11, 12, 13}; // Connect to the keypad column pins
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
const int segmentPins[] = {9, 8, 7, 6, 5, 4, 3, 2}; // Connect to the seven-segment display segment pins
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
char key = keypad.getKey();
if (key) {
displayCharacter(key);
delay(1000);
clearDisplay();
}
}
void displayCharacter(char ch) {
// Define segment patterns for each digit (0-9)
// Example: Displaying '1'
// A
// F B
// G
// E C
// D
byte patterns[][9] = {
{1, 1, 0, 0, 0, 0, 0, 0}, // 0
{1, 1, 1, 1, 1, 0, 0, 1}, // 1
{1, 0, 1, 0, 0, 1, 0, 0}, // 2
{1, 0, 1, 1, 0, 0, 0, 0}, // 3
{1, 0, 0, 1, 1, 0, 0, 1}, // 4
{1, 0, 0, 1, 0, 0, 1, 0}, // 5
{1, 0, 0, 0, 0, 0, 1, 0}, // 6
{1, 1, 1, 1, 1, 0, 0, 0}, // 7
{1, 0, 0, 0, 0, 0, 0, 0}, // 8
{1, 0, 0, 1, 0, 0, 0, 0}, // 9
{1, 0, 1, 0, 0, 0, 0, 0}, //a
{1, 0, 0, 0, 0, 0, 1, 1}, //b
{1, 1, 0, 0, 0, 1, 1, 0}, //c
{1, 0, 1, 0, 0, 0, 0, 1}, //d
};
if ((ch >= '0' && ch <= '9') || (ch >= 'A' && ch <= 'D')) {
// Get the digit index (0-9) from the character
int index = (ch <= '9')? (ch - '0') : (ch - 'A' + 10);
// Write the pattern to the segment pins
for (int i = 0; i < 7; i++) {
digitalWrite(segmentPins[i], patterns[index][i]);
}
}
}
void clearDisplay() {
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], HIGH);
}
}
b. Flowchart
5. Video Simulasi Praktikum [Kembali]
6. Kondisi [Kembali]
Ketika Keypad diberikan input maka Dual seven segment akan hidup menampilan karakter sesuai dengan ton keypad yang di tekan. tampilan output dari dual seven segmen tersebut diatur di kodingan arduino.
7. Analisa [Kembali]
8. Download File [Kembali]
HTML Klik disini
Video Simulasi Klik disini
Datasheet Arduino Uno klik disini
Tidak ada komentar:
Posting Komentar