TP 1: Percobaan 2 Kondisi 7
MODUL 1
PERCOBAAN 2 KONDISI 7
1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai
2. Hardware dan diagram blok [Kembali]
a. hardware
1. Arduino Uno
2. Dipswitch_4
3. Button
4. 7-Segment
2. Dipswitch_4
3. Button
4. 7-Segment
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
→Gambar Rangkaian Sebelum Disimulasikan
PRINSIP KERJA
Pada rangkaian tersebut, button berperan sebagai input yang dihubungkan ke kaki analog arduino serta komponen tambahannya. outputnya yaitu 7-segment yang outputnya dapat diatur sesuai yang ingin ditampilkan.
Rangkaian dapat disimulasikan setelah kodingan arduino dari arduino IDE dimasukkan ke arduino pada proteus. Dimana kodingan arduino diatur untuk dapat menampilkan huruf a pada sevent segmen sesuai dengan switch yang diaktifkan. Maksudnya, ketika satu switch pada button di-on kan yaitu switch pada baris 1 kolom 4, maka 7 segmen akan menampilkan huruf a.
4. FlowChart [Kembali]
a. Listing Program
#include <Keypad.h>
const byte ROWS = 4; // Empat baris
const byte COLS = 4; // Empat kolom
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'}, // Layout keypad 4x4
{'7','8','9','C'},
{'*','0','#', 'D'}
};
byte rowPins[ROWS] = {A4, A3, A2, A1}; // Hubungkan dengan pin baris keypad
byte colPins[COLS] = {10, 11, 12, 13}; // Hubungkan dengan pin kolom keypad
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
const int segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Hubungkan dengan pin-pins segment seven-segment display
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
digitalWrite(segmentPins[i], HIGH); // Atur semua segment off (common anode)
}
}
void loop() {
char key = keypad.getKey();
if (key) {
displayCharacter(key);
delay(1000);
clearDisplay();
}
}
void displayCharacter(char ch) {
// Definisikan pola segment untuk setiap digit (0-9)
// Contoh: Menampilkan '1'
// A
// F B
// G
// E C
// D
byte patterns[][8] = {
{0, 0, 0, 0, 0, 0, 1}, // 0
{1, 0, 0, 1, 1, 1, 1}, // 1
{0, 0, 1, 0, 0, 1, 0}, // 2
{0, 0, 0, 0, 1, 1, 0}, // 3
{1, 0, 0, 1, 1, 0, 0}, // 4
{0, 1, 0, 0, 1, 0, 0}, // 5
{0, 1, 0, 0, 0, 0, 0}, // 6
{0, 0, 1, 1, 1, 1, 1}, // Updated for 7
{0, 0, 0, 0, 0, 0, 0}, // 8
{0, 0, 0, 0, 1, 0, 0}, // 9
{0, 0, 0, 0, 0, 1, 0}, // A
{1, 1, 0, 0, 0, 0, 0}, // B
{0, 1, 1, 0, 0, 0, 1}, // C
{1, 0, 0, 0, 0, 1, 0}, // D
};
int index;
if (ch >= '0' && ch <= '9') {
index = ch - '0';
} else if (ch >= 'A' && ch <= 'D') {
index = ch - 'A' + 10;
} else {
return;
}
// Tulis pola ke pin-pin segment
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); // Matikan semua segment
}
}
b. Flowchart
Kondisi →Percobaan 2 Kondisi 7
Button baris 1 kolom 4 menampilkan huruf a
6. Video Simulasi [Kembali]
7. Download File [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Push Button klik disini
Download Datasheet 7 segmen klik disini
Tidak ada komentar:
Posting Komentar