Tugas Pendahuluan 2 (M2)

   

[KEMBALI KE MENU SEBELUMNYA]




1. Prosedur  [back]
Langkah-langkah percobaan :
    1. Siapkan alat dan bahan yaitu dengan komponen yaitu Arduino Uno, 
        Seven Segment dan Dipswitch 
    2. Rangkai sesuai gambar percobaan.
    3, Rancang kerja rangkaian sesuai kondisi.
    4. Jalankan simulasi.

2. Hardware dan diagram blok [back]
- Arduino Uno
                                            

- Seven Segment


- Dipswitch 





3. Rangkaian Simulasi dan Prinsip Kerja  [back]

  • Prinsip Kerja :
    Pada rangkaian ini menggunakan dipswitch, arduino uno dan seven segment. Dipswitch sebagai input apabila ada 2 switch aktif maka mikrokontroller akan memproses adanya interrupt dan seven segment akan menampilkan perhitungan 1 sampai 3 kemudian akan menampilkan kombinasi 2,0,2,4 pada segment-segment secara berurutan.

4. Flowchart dan Listing Program  [back]
  • Flowchart

  • 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);

  int activeSwitches = sw1 + sw2 + sw3 + sw4; // Jumlah saklar yang aktif
  // Menampilkan angka 0, 1, 2, dan 3 di awal output
  for (int i = 1; i <= 3; i++) {
    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    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 (activeSwitches == 2) {
    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(2); // Menampilkan angka 2 pada digit pertama
    delay(500); // Delay selama 0.5 detik

    digitalWrite(D1, HIGH);
    digitalWrite(D2, LOW);
    number(0); // Menampilkan angka 0 pada digit kedua
    delay(500); // Delay selama 0.5 detik

    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(2); // Menampilkan angka 2 pada digit pertama
    delay(500); // Delay selama 0.5 detik

    digitalWrite(D1, HIGH);
    digitalWrite(D2, LOW);
    number(4); // Menampilkan angka 4 pada digit kedua
    delay(500); // Delay selama 0.5 detik
  }
}



6. Kondisi  [back]
  Percobaan 3 Kondisi 5 :
    Ketika 2 switch aktif 7-Segment menampilkan kombinasi 2,0,2,4 setelah hitung maju hingga 3


7. Video Simulasi  [back]



8. Download File  [back]
Download Video percobaan Di Sini
Download Rangkaian percobaan Di Sini
Download Library Arduino Uno Di Sini
Download Datasheet Arduino Uno Di Sini
Download Datasheet Seven Segment Di Sini
Download HTML Di Sini

Tidak ada komentar:

Posting Komentar