Teknik Elektro

Tugas Pendahuluan 1 Prak uP & uC Modul 2

RAISHA ADINI_2110953023
TUGAS PENDAHULUAN 1



MODUL 2
PERCOBAAN 3 KONDISI 7

1. Prosedur
[Kembali]

  • Rangkai semua komponen sesuai kondisi yang dipilih
  • buat program di aplikasi arduino IDE
  • setelah selesai masukkan program ke arduino di proteus
  • jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
  • Selesai

2. Hardware dan diagram blok [Kembali]
   a. hardware

\
1. Dip-SW4
\
Spesifikasi


2.Arduino Uno



3. Seven Segment






  b. Digram Blok

3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Rangkaian Sebelum Simulasi


Rangkaian Setelah Simulasi


                                 

Prinsip Kerja 

     Program ini digunakan untuk mengontrol tampilan angka dan huruf pada 7-Segment menggunakan timer. Pin untuk tombol-tombol switch diatur sebagai INPUT_PULLUP. Rangkaian dipasang Pull-Up Resistor, yang mana pada inputan arduino switch dihubungkan dengan ground tanpa menggunakan resistor serta tanpa mendapat tegangan eksternal. Sehingga saat switch dihubungkan secara konsep arus akan mengalir cenderung ke daerah yang tidak ada hambatan dan mengalir ke daerah dengan potensial paling rendah yaitu ground. Oleh karena itu saat switch aktif maka akan keluar input berlogika LOW dari DIP-SW menuju arduino uno.
        Pin-pin yang terhubung ke tujuh segmen, titik desimal, dan dua pin untuk mengontrol digit diatur sebagai OUTPUT. Pin untuk tombol-tombol switch (Dsw1, Dsw2, Dsw3, Dsw4) diatur sebagai INPUT_PULLUP, yang berarti mereka akan memiliki resistansi internal dan akan membaca HIGH saat tidak ditekan. Void number merupakan fungsi yang digunakan untuk menampilkan angka pada tujuh segmen dengan menerima parameter bilangan bulat antara 0 hingga 13 (representasi angka 0 hingga 9, serta karakter tambahan seperti 'D', 'T', 'E').

Loop Utama
Pada loop utama, dilakukan pembacaan status tombol switch (sw1, sw2, sw3, sw4).
  • Jika tepat tiga tombol switch aktif (sw1, sw2, sw3, sw4 tidak aktif), maka program akan menampilkan urutan karakter "DTE" pada tiga digit yang berbeda, dengan delay 500 milidetik di antara setiap tampilan.
  • Jika tidak ada tombol switch yang aktif atau lebih dari tiga tombol switch aktif, maka program akan menampilkan angka 1, 2, dan 3 secara bergantian pada dua digit dengan delay 500 milidetik di antara setiap tampilan.
  • Jika hanya satu tombol switch yang aktif, maka program akan kembali menampilkan angka dengan hitungan maju dari 1 sampai 3
  • Begitupula berlaku untuk dua timbol siwtch yang aktif juga akan dilakukan hitung maju.

4. FlowChart [Kembali]

a. 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[14][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
  {0, 1, 1, 1, 1, 0, 1}, // D
  {0, 0, 0, 1, 1, 1, 1}, // T
  {1, 0, 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 <= 13) {
    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);

  // Check if exactly three switches are active
  if (sw4 && !sw1 && !sw2 && !sw3) {
    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(10); // Display "D" on the first digit
    delay(500);

    digitalWrite(D1, HIGH);
    digitalWrite(D2, LOW);
    number(11); // Display "T" on the second digit
    delay(500);

    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(12); // Display "E" on the third digit
    delay(500);
  }
  else if (sw3 && !sw1 && !sw2 && !sw4) {
    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(10); // Display "D" on the first digit
    delay(500);

    digitalWrite(D1, HIGH);
    digitalWrite(D2, LOW);
    number(11); // Display "T" on the second digit
    delay(500);

    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(12); // Display "E" on the third digit
    delay(500);
  }
  else if (sw1 && !sw2 && !sw3 && !sw4) {
    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(10); // Display "D" on the first digit
    delay(500);

    digitalWrite(D1, HIGH);
    digitalWrite(D2, LOW);
    number(11); // Display "T" on the second digit
    delay(500);

    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(12); // Display "E" on the third digit
    delay(500);
  }
  else if (sw2 && !sw1 && !sw3 && !sw4) {
    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(10); // Display "D" on the first digit
    delay(500);

    digitalWrite(D1, HIGH);
    digitalWrite(D2, LOW);
    number(11); // Display "T" on the second digit
    delay(500);

    digitalWrite(D1, LOW);
    digitalWrite(D2, HIGH);
    number(12); // Display "E" on the third digit
    delay(500);
 
  } else {
    // Display numbers 1, 2, and 3 initially
    for (int i = 1; i <= 3; i++) {
      digitalWrite(D1, LOW);
      digitalWrite(D2, HIGH);
      number(i);
      delay(500);
    }
  }
}


b. Flowchart



5. Kondisi [Kembali]

Percobaan 3 Kondisi 7 
Kondisi ketika 3 switch aktif 7-segment menampilkan kombinasi DTE 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 DipSW-4 klik disini
Download Datasheet Seven Segment klik disini

Tidak ada komentar:

Posting Komentar

Smart Smoking Room Encoder Decoder

KONTROL SMART SMOKING ROOM [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan ...