[KEMBALI KE MENU SEBELUMNYA]
1. Prosedur [back]
Langkah-langkah percobaan :
1. Siapkan alat dan bahan dengan komponen yaitu Arduino Uno,
Keypad dan Seven Segment
2. Rangkai komponen sesuai gambar percobaan
3, Rancang kerja rangkaian menggunakan program pada Arduino IDE
4. Compile dan upload program pada Arduino Uno
4. Jalankan dan uji coba rangkaian.
Gambar Percobaan
2. Hardware dan diagram blok [back]
3. Rangkaian Percobaan dan Prinsip Kerja [back]
Pada saat tombol pada keypad ditekan, maka Arduino Uno akan memproses input pada keypad dan mengirimkan sinyal keluar ke segment-segment display untuk menampilkan karakter angka (0-9) dan huruf (A-D) pada seven segment. Seven Segment akan menampilkan tampilan karakter sesuai dengan pola yang didefiniskan pada fungsi array melalui program.
4. Flowchart dan Listing Program [back]
//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);
}
}
5. Video Demo [back]
6. Kondisi [back]
Percobaan 2 (Keypad dan Seven Segment) : Seven segment akan menampilkan karakter sesuai dengan input keypad yang ditekan.
8. Download File [back]
Download Video percobaan Di Sini
Download Library Arduino Uno Di Sini
Download Datasheet Arduino Uno Di Sini
Download Datasheet Seven Segment Di Sini
Download Datasheet Keypad Di Sini
Download HTML Di Sini
Tidak ada komentar:
Posting Komentar