M2 Tugas Pendahuluan 1




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 di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai

2. Hardware dan Diagram Blok [Kembali]

Hardware
1. Arduino Uno

2. Dipswitch
3. Seven Segment

Diagram Blok



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi


Prinsip Kerja

Terdapat dipswitch yang dihubungkan ke pin A0-A4 dengan rangkaian resistor Pull Up, dan seven segmen yang terhubung ke pin 4-13. apabila 3 switch aktif dengan logika Low, maka seven segment akan menampilkan kombinasi huruf 'd' 't' 'e', setelah hitung maju hinggan 3. Namun apabila di luar kondisi tersebut seperti hanya 2 switch yang aktif, maka seven segment tidak akan menampilkan apapun.


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]

Percobaan 3 Kondisi 7
Ketika 3 switch aktif, maka 7-segment akan menampilkan kombinasi 'd' 't' 'e', 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
M2 Tugas Pendahuluan 1 M2 Tugas Pendahuluan 1 Reviewed by Andre Kurniawan on Maret 25, 2024 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.