Tugas Pendahuluan 2 Modul 1
(Percobaan 2 Kondisi 4)
1. Rangkai rangkaian percobaan di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program kemudia upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program kemudia upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi :
Prinsip Kerja :
Rangkaian yang digunakan dalam keypad tersebut menggunakan push button yang disusun mirip dengan keypad 4x4. Push button ini digunakan sebagai input untuk memasukkan angka, dan keempat baris dan kolomnya disusun dalam matriks 4x4. Setiap push button terhubung ke pin input pada Arduino, dengan baris keypad terhubung ke pin A4, A3, A2, dan A1, sedangkan kolom keypad terhubung ke pin 10, 11, 12, dan 13. Output dari Arduino adalah 7-segment common katoda 2 digit yang terhubung ke pin 9, 8, 7, 6, 5, 4, 3, dan 2.
Prinsip kerjanya adalah ketika salah satu push button ditekan, mikrokontroler membaca setiap baris keypad secara bergantian untuk mendeteksi push button yang ditekan. Setelah baris yang ditekan teridentifikasi, mikrokontroler memindai setiap kolom untuk mengetahui push button mana yang ditekan dalam baris tersebut. Dengan informasi tersebut, mikrokontroler dapat mengonversi posisi push button yang ditekan menjadi angka yang sesuai. Dalam kondisi tertentu, misalnya jika Button Baris 2 Kolom 4 ditekan dan dihubungkan dengan huruf "b", maka huruf tersebut akan diinterpretasikan oleh mikrokontroler sesuai dengan kodingan yang telah disesuaikan. Setelah itu, informasi yang diperoleh akan ditampilkan pada seven segment dengan mengontrol setiap digit pada seven segment untuk menampilkan output yang benar sesuai dengan kondisi yang telah diatur sebelumnya.
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[] = {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);
}
}
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, 1, 1, 1, 1, 0, 1}, // 0
{0, 1, 1, 0, 0, 0, 0, 1}, // 1
{1, 1, 0, 1, 1, 0, 1, 1}, // 2
{1, 1, 1, 1, 0, 0, 1, 1}, // 3
{0, 1, 1, 0, 0, 1, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0, 1}, // 7
{1, 1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1, 1}, // 9
{1, 1, 1, 1, 1, 0, 1, 1}, //a
{0, 0, 1, 1, 1, 1, 1, 1}, //b
{1, 0, 0, 1, 1, 1, 0, 1}, //c
{0, 1, 1, 1, 1, 0, 1, 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]);
}
}
}
Percobaan 2 Kondisi 4
Button baris 2 kolom 4 menampilkan huruf b
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
HTML klik disini
File Rangkaian klik disini
Video Percobaan klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Button klik disini
Tidak ada komentar:
Posting Komentar