LA 2 M1

 



Laporan Percobaan 2

Keypad dan 7-segment

1. Foto Hardware dan Diagram Blok [Kembali]


      1. Arduino Uno




        2. Keypad





        3. 7-Segment

     4. Kabel Jumper



     5. Breadboard




Diagram Blok:





2. Prosedur Percobaan  [Kembali]

Rangkai semua komponen 
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino 
+ jalankan program pada simulasi dan cobakan dengan modul



Prinsip Kerja


Dalam percobaan ini, menggunakan push button untuk mendapatkan output C pada kolom 2 dan baris 2. Pengaturan ini dilakukan melalui program yang dikembangkan menggunakan Arduino Uno IDE, yang memungkinkan kita untuk mengatur kondisi sesuai kebutuhan atau perintah yang diberikan.

4. Flowchart dan Listing Program [Kembali]





Listing Program:

//Percobaan 2
#include <Keypad.h>
const byte ROWS = 4; // Four rows
const byte COLS = 4; // Fou columns
char keys[ROWS][COLS] = {
 {'D','3','2','1'},
 {'6','C','5','4'}, // Keypad 4x4 layout
 {'9','8','B','7'},
 {'*','0','#', 'A'}
};
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] = {
 {0, 0, 0, 0, 0, 0, 1, 1}, // 0
 {1, 0, 0, 1, 1, 1, 1, 1}, // 1
 {0, 0, 1, 0, 0, 1, 0, 1}, // 2
 {0, 0, 0, 0, 1, 1, 0, 1}, // 3
 {1, 0, 0, 1, 1, 0, 0, 1}, // 4
 {0, 1, 0, 0, 1, 0, 0, 1}, // 5
 {0, 1, 0, 0, 0, 0, 0, 1}, // 6
 {0, 0, 0, 1, 1, 1, 1, 1}, // 7
 {0, 0, 0, 0, 0, 0, 0, 1}, // 8
 {0, 0, 0, 0, 1, 0, 0, 1}, // 9
 {0, 0, 0, 0, 0, 1, 0, 1}, //a
 {1, 1, 0, 0, 0, 0, 0, 1}, //b
 {0, 1, 1, 0, 0, 0, 1, 1}, //c
 {1, 0, 0, 0, 0, 1, 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. Kondisi [Kembali]

    Percobaan 2 Kondisi 2 : "Button baris 2 kolom 2 menampilkan huruf C"

᭒ HTML↠ klik disini
᭒ Aplikasi↠ klik disini
᭒ Video Percobaan↠ klik disini











Komentar

Postingan populer dari blog ini

MODUL 1

TUGAS BESAR

MODUL 1 Up & Uc