M2
TP 2: Percobaan 3 Kondisi 5
MODUL 2
PERCOBAAN 3 KONDISI 5
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
3. Seven Segment
2. Dipswitch
3. Seven Segment
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
→Gambar Rangkaian Sebelum Disimulasikan
PRINSIP KERJA
Pada rangkaian tersebut, ketika kedua switch diaktifkan, 7-Segment akan menampilkan kombinasi angka 2, 0, 2, dan 4 secara berurutan setelah proses hitung maju hingga mencapai angka 3. Rangkaian menggunakan dipswitch 4-pin sebagai input dan 7-Segment sebagai output. Saat rangkaian dijalankan, kita dapat mengatur kombinasi output menjadi 2, 0, 2, 4 dengan mengaktifkan kedua switch yang terdapat pada dipswitch. Hal ini dapat dilakukan melalui kode program yang telah dibuat untuk Arduino. Kombinasi output yang dihasilkan diprogram agar sesuai dengan keadaan saat kedua switch diaktifkan, sehingga memberikan output yang diinginkan yaitu urutan angka 2, 0, 2, dan 4.
4. FlowChart [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
5. Kondisi [Kembali]Kondisi →Percobaan 3 Kondisi 5
Ketika 2 switch aktif 7-Segment menampilkan kombinasi 2,0,2,4 setelah hitung maju hingga 3
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 Dipswicth klik disini
Download Datasheet seven segment klik disini
Tidak ada komentar:
Posting Komentar