F Renaldi Kapri Utama (2110957003) : Tugas Pendahuluan 1

Tugas Pendahuluan 1




Modul 2

Tugas Pendahuluan 1 
Percobaan 3 Kondisi 7

1. Prosedur 
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.

2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino




2. Seven Segmen




2. DipSwitch




4. Resistor






Diagram Blok:







3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :



Prinsip Kerja :

DIP Switch terpasang pada pin A0 hingga A3 pada papan Arduino, sementara 7 segmen terkoneksi ke pin 6 hingga 13 Arduino. Jika 3 DIP Switch diaktifkan, 7 segmen akan menampilkan urutan maju 1, 2, 3, lalu dilanjutkan dengan huruf d, t, e secara bergantian. Dan saat DIP Switch yang diaktifkan kurang dari atau lebih dari tiga, 7 segmen tidak akan menampilkan apa pun. Dalam program di Arduino IDE, setiap lampu diberi kode A hingga G. Pola dapat dibuat dengan mengatur keadaan hidup atau mati lampu dalam program Arduino IDE. 
   
4. Flowchart dan Listing Program [Kembali]

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, 1, 1, 0, 1}, // d

  {0, 0, 0, 1, 1, 1, 1}, // t

  {1, 1, 0, 1, 1, 1, 1}, // e

};

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 unsigned long lastTime = 0; // Waktu terakhir pembacaan tombol

  if (sw1 == LOW && sw2 == LOW && sw3 == LOW) {

    if (millis() - lastTime >= 1000) { // Debouncing

      lastTime = millis();

      if (digit == 1) {

        digitalWrite(D1, HIGH);

        digitalWrite(D2, LOW);

        for (int i = 0; i <= 3; i++) {

          number(i);

          delay(1000); // Delay agar Anda bisa melihat perubahan digit

        }

        digit = 2;

      } else {

        digitalWrite(D1, LOW);

        digitalWrite(D2, HIGH);

        for (int i = 4; i <= 6; i++) {

          number(i);

          delay(1000); // Delay agar Anda bisa melihat perubahan digit

        }

        digit = 1;

      }

    }

  } else {

    if (millis() - lastTime > 1000) { // Debouncing

      lastTime = millis();

      digitalWrite(D1, HIGH);

      digitalWrite(D2, HIGH);

    }

  }

}

5. Kondisi [Kembali]

Saat 3 Switch aktif maka, 7-segment menampilkan kombinasi d,t,e setelah hitung maju sampai 3.

6. Video Simulasi [Kembali]



7. Download File [Kembali]

a. HTML                 [klik]
b. File Rangkaian    [klik]
c. Video Percobaan [klik]
d. Listing Program  [klik]
e. Datasheet           [klik]

Tidak ada komentar:

Posting Komentar