Senin, 25 Maret 2024

TUGAS PENDAHULUAN 1 MODUL 2 uP & uC

Modul 2

PWM, ADC, INTTERUPT


 

  • Buatlah rangkaian sesuai dengan kondisi yang telah dipilih
  • Buat Program pada software Arduino IDE
  • Masukkan program yang telah dibuat pada software Arduino IDE sebagai library Arduino
  • Jalankan rangkaian, sesuai dengan kondisi yang diinginkan

a. Rangkaian Simulasi




Gambar Rangkaian Sebelum Disimulasikan



Gambar Rangkaian Disimulasikan

b. Prinsip Kerja

    Pada percobaan ini kita menggunakan 3 komponen yakni dipswitch, arduino dan 7-segment mpx 2 sebagai outputnya, pertama untuk inputnya kita memakai Dipswitch yang berjumlah 4 dengan sifat pull up dimana saat saklar OFF nilainya high  atau 1 begitu juga sebaliknya, saat 3 swicth yang aktif akan di proses pada arduino yang telah di program akan menampilkan "LEI" pada 7-segment setelah menghitung mundur 3

karena kita disini memakai 7-segment makan kita harus membuat code angka dan huruf yang diperlukan, untuk 7-segment yang digunakan itu bersifat katoda dimana pada 7-segment pada awalnya bernilai low atau 0, agar bisia menampilkan angka atau huruf yang diinginkan makan inputnya harus bernilai high atau 1


untuk code nya sebagai berikut:
  {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, 0, 0, 1, 1, 1, 0}, // L
  {1, 0, 0, 1, 1, 1, 1}, // E
  {0, 0, 0, 0, 1, 1, 0}, // I


a. Flowchart


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, 0, 0, 1, 1, 1, 0}, // L
  {1, 0, 0, 1, 1, 1, 1}, // E
  {0, 0, 0, 0, 1, 1, 0}, // I
};
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);
    }
  }
}



Kondisi yang dipilih adalah kondisi 6 dimana menggunakan TIMER, 7-SEGMENT dengan DIP switch untuk menampilkan "LEI" setelah hitung mundur dari 3







Download HTML klik disini
Download Rangkaian Proteus klik disini
Download Program Arduino klik disini
Download Video klik disini
Download Datasheet 7-Segment klik disini
Download Datasheet Arduino klik disini
Download Datasheet Dip Switch klik disini













Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

Laporan Akhir Project M4

Laporan Akhir Demo Project [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan   ...