Laporan Akhir 2




Percobaan 3

1. Prosedur
[Kembali]

  1. Rangkai semua komponen sesuai kondisi yang dipilih
  2. Buat program di aplikasi arduino IDE
  3. Setelah selesai masukkan program ke arduino (Verify and Upload)
  4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
  5. Selesai

2. Hardware dan diagram blok
[Kembali]
      1. Hardware


      2. Diagram Blok
3. Rangkaian Simulasi dan Prinsip kerja [Kembali]


PRINSIP KERJA
    Pada rangkaian tersebut, dipswitch berperan sebagai input yang dihubungkan ke kaki analog arduino yaitu pin A0 sampai A3 outputnya yaitu dual 7-segment common anode yang dihubungkan pada pin digital arduino yaitu pin A sampai G 7-segmen dihubungkan ke pin  6 sampai 12 digital arduino,pin DP 7-segmen dihubungkan ke pin 13 digital arduino, sedangkan enabel 1 dan 2 - segmen dihubungkan ke pin 4 dan 5 arduino. Sesuai dengan datasheet, enabel 1 dual 7-segmen cammon anode aktif high sedangkan enabel 2 dual 7-segmen cammon anode aktif low.
 
    Program arduino IDE diatur untuk beberapa kondisi yaitu: 

1. ketika 1 switch aktif 
maka salah satu segmen kanan di dual seven segmen common anode akan menghitung mundur dari 9 ke 0

2. Ketika 2 switch Aktif
maka seven segmen akan menghitung dari 1 sampai  10 pada segmen kanan dan kiri secara bergantian pada dual seven segmen common anode 

3. Ketika 3 switch aktif
maka seven segmen akan menghitung dari 1 sampai  10 pada segmen kanan dan kiri secara bergantian pada dual seven segmen common anode dengan delay yang lebih cepat dari kondisi ketika 2 swtich yang aktif

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] = {
 {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, 0, 1, 1, 1, 1}, // 7
 {0, 0, 0, 0, 0, 0, 0}, // 8
 {0, 0, 0, 0, 1, 0, 0}  // 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() {
int sw1 = digitalRead(Dsw1);
int sw2 = digitalRead(Dsw2);
int sw3 = digitalRead(Dsw3);
int sw4 = digitalRead(Dsw4);
static int digit = 1; // Digit yang sedang ditampilkan (1 atau 2)
static int count = 0; // Counter untuk digit
static unsigned long lastTime = 0; // Waktu terakhir pembacaan tombol
if (sw1 == LOW) {
if (millis() - lastTime > 1000) { // Debouncing
lastTime = millis();
count++;
if (count > 9) {
count = 0;
}
if (digit == 1) {
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
number(count);
digit = 2;
} else {
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
number(count);
digit = 1;
}
}
}
else if (sw2 == LOW) {
if (millis() - lastTime > 1000) { // Debouncing
lastTime = millis();
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
for (int i = 9; i >= 0; i--) {
number(i);
delay(1000); // Delay agar Anda bisa melihat perubahan digit
}
}
}
if (sw3 == LOW) {
if (millis() - lastTime > 2000) { // Debouncing
lastTime = millis();
count++;
if (count > 9) {
count = 0;
}
if (digit == 1) {
digitalWrite(D2, HIGH);
digitalWrite(D1, LOW);
number(count);
digit = 2;
} else {
digitalWrite(D2, LOW);
digitalWrite(D1, HIGH);
number(count);
digit = 1;
}
}
}
else if (sw4 == LOW) {
if (millis() - lastTime > 2000) { // Debouncing
lastTime = millis();
digitalWrite(D2, HIGH);
digitalWrite(D1, LOW);
for (int i = 9; i >= 0; i--) {
number(i);
delay(200); // Delay agar Anda bisa melihat perubahan digit
}
}
}
}

b. Flowchart


5. Kondisi [Kembali]

Kondisi  : Percobaan 3 Sesuai modul

6. Video Simulasi [Kembali]


7. Download File [Kembali]
Download HTML Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet DipSwitch Klik disini
Download Datasheet 7 Segmen Klik Disini





















Tidak ada komentar:

Posting Komentar

                       BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA  2021/2022 Oleh : Fauzan Alfitrah 2110952002 Dosen Pengampu : Dr. Darw...