Jumat, 22 Maret 2024

TP 2 MODUL 2



1. Prosedur [Kembali]
1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
2. Buat program menggunakan Arduino IDE.
3. Transfer program yang telah dibuat ke Arduino yang ada di Proteus.
4. Uji coba program di simulasi sesuai dengan kondisi yang diinginkan.
5. Proses selesai setelah uji coba berhasil dilakukan.

2. Hardware dan Diagram Blok [Kembali]

a. Hardware

Hardware :

1. Arduino Uno


2. Dip Switch


3. 7 Segment 2 Digit


4. Resistor

b. Diagram Blok


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
 
Prinsip Kerja
 
Pada percobaan 3 kondisi 3 menyatakan bahwa ketika 3 tombol diaktifkan maka akan membuat 7 segment menghitung maju dari 0 hingga 10. Rangkaian ini terdiri dari 4 buah komponen yaitu Arduino, 7-Segment 2 digit, Dipswitch, dan Resistor. Dipswith berguna sebagai input dari Arduino yang dihubungkan ke kaki A0-A3 arduino. sedangkan untuk outputnya yaitu 7-segment 2 digit yang masing masing pinnya dihubungkan ke pin 4-13 Arduino. Ketika 3 buah dipswitch on, maka arduino akan mengeluarkan output berupa counting pada 7-segment dari angka 0 hingga 10 lalu reset counting lagi ke 0. karena 7-segment ini tidak bisa menampilkan 2 digit angka sekaligus.
 
4. Flowcharth dan Listing Program [Kembali]
a. Flowcharth

b. 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() {
  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
      }
    }
  } else if (sw3 == LOW && sw1 == LOW && sw2 == LOW) { // Kondisi ketika ketiga switch aktif
    if (millis() - lastTime > 1000) { // Debouncing
      lastTime = millis();
      count++;
      if (count > 10) {
        count = 0;
      }
      if (digit == 1) {
        digitalWrite(D2, LOW);
        digitalWrite(D1, HIGH);
        number(count);
        digit = 2;
      } else {
        digitalWrite(D2, HIGH);
        digitalWrite(D1, LOW);
        number(count);
        digit = 1;
      }
    }
  }
}
 
5. Kondisi [Kembali]
Percobaan 3 Kondisi 3
Ketika 3 switch aktif 7-Segment menghitung maju hingga 10

5. Video Simulasi [Kembali]
 


7. Download File [Kembali]

HTML klik disini  
Simulasi  klik disini
Gambar Simulasi  klik disini 
Video Simulasi  klik disini 
Listing Program klik disini
Datasheet 7 Segment 2 Digit klik disini
Datasheet Arduino klik disini
Datasheet Dipswitch klik disini
Datasheet LCD 16x2 klik disini
Datasheet Resistor klik disini


Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

MODUL 4

Modul 4 [menuju akhir] [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percob...