Jumat, 08 Maret 2024

LA1 M1

   





Percobaan 2

KEYPAD dan 7-SEGMENT


1. Foto Hardware dan Diagram Blok [Kembali]


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


3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]


Prinsip Kerja :

    Pada rangkaian percobaan 2 diatas adalah rangkaian dengan input berupa keypad, dihubungkan dengan Arduino, lalu outputnya adalah 7-segment.
    Pada percobaan kali ini,arduino di program untuk melakukan pemrosesan ketika keypad di tekan, maka dari 7-segment akan menampilkan output dari input keypad tadi.
    Untuk 7segment 2 digit, output nya tergantung pada kaki mana di 7-segment dihubungkan pada arduino, apakah kaki 1 atau kaki 2. 


4. FLOWCHART DAN LISTING PROGRAM [Kembali]

Flowchart:

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[] = {2, 3, 4, 5, 6, 7, 8, 9}; // 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]
  Masing-masing switch LED menghasilkan tampilan yang berbeda-beda. Yang mana tampilan dari LED sesuai dengan program pada arduino.

6. VIDEO RANGKAIAN [Kembali]





7. ANALISA [Kembali]



8. LINK DOWNLOAD [Kembali]

HTML                    klik disini

Rangkaian            klik disini

Listing Program    klik disini

Video Percobaan  klik disini











Tidak ada komentar:

Posting Komentar

MODUL 4

    [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Per...