TP 2 M2
1. Arduino Uno
2. Dipswitch
3. Seven Segment
b. Digram Blok
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
Rangkaian Simulasi
PRINSIP KERJA
Rangkaian ini menggunakan dua switch dan dipswitch 4-pin untuk menampilkan angka 2, 0, 2, dan 4 secara berurutan pada 7-Segment. Ketika kedua switch diaktifkan, program Arduino akan menjalankan proses hitung maju hingga mencapai angka 3, dan kemudian menampilkan urutan angka tersebut pada 7-Segment.
Penjelasan lebih detail:
- Dipswitch 4-pin: Digunakan untuk mengatur kombinasi output yang diinginkan. Dalam hal ini, kombinasi yang digunakan adalah 2, 0, 2, 4.
- Switch: Digunakan untuk mengaktifkan program dan memulai proses hitung maju.
- 7-Segment: Digunakan untuk menampilkan angka hasil hitung maju.
- Program Arduino: Berisi kode yang menentukan urutan angka yang akan ditampilkan pada 7-Segment.
Cara kerja:
- Ketika kedua switch diaktifkan, program Arduino akan memulai proses hitung maju.
- Proses hitung maju akan terus berlanjut hingga mencapai angka 3.
- Setelah mencapai angka 3, program Arduino akan menampilkan urutan angka 2, 0, 2, 4 pada 7-Segment.
4. Flowchart dan Listing Program [Kembali]
a. Listing Program
#define a 6
#define b 7
#define c 8
#define d 9
#define e 10
#define f 11
#define g 12
#define dp 13
#define D1 4
#define D2 5
#define Dsw1 A0
#define Dsw2 A1
#define Dsw3 A2
#define Dsw4 A3
bool sw1, sw2, sw3, sw4;
int segments[] = {a, b, c, d, e, f, g};
byte digitPatterns[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1} // 9
};
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(segments[i], OUTPUT);
}
pinMode(dp, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(Dsw1, INPUT_PULLUP);
pinMode(Dsw2, INPUT_PULLUP);
pinMode(Dsw3, INPUT_PULLUP);
pinMode(Dsw4, INPUT_PULLUP);
Serial.begin(9600);
}
void number(int display) {
if (display >= 0 && display <= 9) {
for (int i = 0; i < 7; i++) {
digitalWrite(segments[i], digitPatterns[display][i]);
}
}
}
void loop() {
sw1 = digitalRead(Dsw1);
sw2 = digitalRead(Dsw2);
sw3 = digitalRead(Dsw3);
sw4 = digitalRead(Dsw4);
// Menampilkan angka 0, 1, 2, dan 3 di awal output
for (int i = 0; i <= 3; i++) {
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
number(i); // Menampilkan angka yang sedang dihitung
delay(500); // Delay selama 0.5 detik
}
// Menampilkan kombinasi angka 2, 0, 2, dan 4 setelah kedua switch diaktifkan
if ((sw1 == LOW || sw2 == LOW || sw3 == LOW || sw4 == LOW)) {
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
number(2); // Menampilkan angka 2 pada digit pertama
delay(500); // Delay selama 0.5 detik
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
number(0); // Menampilkan angka 0 pada digit kedua
delay(500); // Delay selama 0.5 detik
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
number(2); // Menampilkan angka 2 pada digit pertama
delay(500); // Delay selama 0.5 detik
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
number(4); // Menampilkan angka 4 pada digit kedua
delay(500); // Delay selama 0.5 detik
}
}
b. Flowchart
Percobaan 3 Kondisi 5
Ketika 2 switch aktif 7-Segment menampilkan kombinasi 2,0,2,4 setelah hitung maju hingga 3
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Dipswicth klik disini
Download Datasheet seven segment klik disini
Komentar
Posting Komentar