Tugas Pendahuluan 1

 



MODUL 1 TUGAS PENDAHULUAN 1

Percobaan 2 Kondisi 5


1. Foto Hardware dan Diagram Blok [Kembali]

Keypad dan 7-segment



Arduino Uno

Push Button

7 Segment



Power Supply




Ground

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


Sebelum disimulasikan

Setelah disimulasika


Prinsip Kerja

Pada rangkaian ini menggunakan komponen antara lain yaitu mikrokontroler (ATMEGA328P-PU), push button, dan 7-segment.

Prinsip kerja rangkaian ini ialah dimana push button yang merepresentasikan keypad 4x4 berfungsi sebagai input sedangkan 7-segment berfungsi sebagai output. 
char keys[ROWS][COLS] = { {'4','3','2','1'}, {'D','C','7','A'}, // Keypad 4x4 layout {'8','7','6','5'}, 
{'*','0','#', '9'}
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 apabila kita menekan button baris 2 kolom 3 maka 7-segment akan tertulis angka"7" selama 1 detik sebelum menghapusnya kembali, begitu pula bila menekan tombol pagar dan tombol bintang dan tombol 0 - 9.

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] = {
 {'1','2','3','A'},
 {'4','C','7','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] = {
 {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 5 : "Button baris 2 kolom 3 menampilkan angka 7"


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
















Tidak ada komentar:

Posting Komentar

Cover Sisdig

  Bahan Presentasi Untuk Matakuliah Sistem Digital 2023 OLEH: Marsanda Nabilla 2110953014 Dosen Pengampu: Darwison,MT Referensi: a. Anil K. ...