Teknik Elektro

Tugas Pendahuluan 1 Praktikum uP & uC Modul 1

RAISHA ADINI_2110953023
TUGAS PENDAHULUAN 1



MODUL 1
PERCOBAAN 3 KONDISI 4

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. Dot Matrix
2. Dip-SW8
3. Arduino Uno
4. IC MAX7219

  b. Digram Blok



3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

Rangkaian Sebelum Simulasi





Rangkaian Setelah Simulasi


                                        

Prinsip Kerja 

     Program ini digunakan untuk mengontrol dot matrix dengan menggunakan Arduino dan driver IC MAX7219. Terdapat dot matrix yang terhubung ke Arduino melalui driver MAX7219. Terdapat juga sejumlah DIP switch yang terhubung langsung ke pin Arduino untuk mengontrol tampilan pada dot matrix. Program dimulai dengan mendefinisikan pin-pin untuk DIP switch dalam array DIP_Pins[] dan membuat objek LedControl dengan konstruktor yang sesuai. LedControl . Terdapat dua pola byte yang didefinisikan untuk angka 5 dan 7 dalam array pattern5[] dan pattern7[]. Dalam fungsi setup(), program mengatur pin-pin DIP switch sebagai input dengan pull-up resistor dan melakukan beberapa inisialisasi pada modul LedControl,.
        Dalam fungsi loop(), program membaca status dari DIP switch. Jika salah satu switch aktif (dalam kondisi LOW), maka flag anySwitchActive akan diatur menjadi true.Jika salah satu switch aktif, program akan menampilkan pola angka 5 pada dot matrix selama 1 detik menggunakan fungsi displayNumber(), kemudian menampilkan pola angka 7 selama 1 detik, dan terakhir menampilkan pola angka 7 lagi selama 1 detik. Jika tidak ada switch yang aktif, maka dot matrix akan dibersihkan.Fungsi displayNumber() digunakan untuk menampilkan pola pada dot matrix dengan mengatur baris-baris yang sesuai menggunakan fungsi setRow() dari objek LedControl.

4. FlowChart [Kembali]

a. Listing Program 

#include <LedControl.h>

const int DIP_Pins[] = {13, 12, A0, A1, A2, A3, A4, A5}; // Pin DIP switch terhubung ke Arduino
LedControl lc = LedControl(2, 3, 4, 1); // Pin DIN, CLK, LOAD (CS), dan jumlah Dot Matrix yang
                                         // dihubungkan ke Arduino
byte pattern5[] = {B11111110, B10000000, B10000000, B11111100, B00000010, B00000010, B00000010, B11111100}; // Pola untuk angka 5
byte pattern7[] = {B11111110, B00000010, B00000010, B00000010, B00000010, B00000010, B00000010, B00000010}; // Pola untuk angka 7

void setup() {
  for (int i = 0; i < 8; i++) {
    pinMode(DIP_Pins[i], INPUT_PULLUP); // Mengatur pin DIP switch sebagai input dengan pull-up resistor
  }

  lc.shutdown(0, false); // Mengaktifkan display
  lc.setIntensity(0, 8); // Mengatur kecerahan LED (nilai antara 0 dan 15)
  lc.clearDisplay(0); // Membersihkan tampilan dot matrix
}

void loop() {
  boolean anySwitchActive = false; // Flag untuk menandakan apakah salah satu switch aktif

  // Membaca status DIP switch
  for (int i = 0; i < 8; i++) {
    if (digitalRead(DIP_Pins[i]) == LOW) {
      anySwitchActive = true; // Setel flag jika salah satu switch aktif
      break; // Hentikan iterasi jika sudah ditemukan switch aktif
    }
  }

  // Menampilkan pola LED pada dot matrix sesuai dengan status switch
  if (anySwitchActive) {
    displayNumber(pattern5); // Menampilkan angka 5 pada dot matrix
    delay(1000); // Delay agar angka 5 ditampilkan selama 1 detik
    displayNumber(pattern7); // Menampilkan angka 7 pada dot matrix
    delay(1000); // Delay agar angka 7 ditampilkan selama 1 detik
    displayNumber(pattern7); // Menampilkan angka 7 pada dot matrix
    delay(1000); // Delay agar angka 7 ditampilkan selama 1 detik
  } else {
    lc.clearDisplay(0); // Membersihkan dot matrix jika tidak ada switch yang aktif
  }
}

// Fungsi untuk menampilkan pola pada dot matrix
void displayNumber(byte pattern[]) {
  for (int row = 0; row < 8; row++) {
    lc.setRow(0, row, pattern[row]);
  }
}

b. Flowchart




5. Kondisi [Kembali]

Percobaan 3 Kondisi 4 
Ketika 1 switch aktif dot matrix akan menampilkan angka 5,7,7

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-8  klik disini
Download Datasheet MAX7219 klik disini
Download Datasheet DotMatrix 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 ...