M1 Tugas Pendahuluan 2 uP dan uC




Modul 1 
(Percobaan 3 Kondisi 1)

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. Dip Switch




4. Resistor





5. Dot Matrix




Diagram Blok :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi



Prinsip Kerja:

Program yang menggunakan Arduino dan modul dot matrix untuk menampilkan karakter huruf L, E, dan I secara berurutan pada dot matrix. Pada awalnya, program melakukan inisialisasi dengan mengatur pin-pin DIP switch sebagai input dengan pull-up resistor, kemudian mengaktifkan display dot matrix, mengatur kecerahan LED, dan membersihkan tampilan dot matrix. Selanjutnya, program akan terus berjalan dalam loop yang memeriksa status dari DIP switch. Jika satu switch aktif, program akan menampilkan secara berurutan karakter huruf L, E, dan I pada dot matrix dengan interval waktu satu detik untuk setiap karakter. Namun, jika tidak ada switch yang aktif, dot matrix akan dibersihkan.

4. Flowchart dan Listing Program [Kembali]

Flowchart


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 patternL[] = {B11000000, B11000000, B11000000, B11000000, B11000000, B11000000, B11111111, B11111111}; // Pola untuk huruf L
byte patternE[] = {B11111111, B11000000, B11000000, B11111111, B11111111, B11000000, B11000000, B11111111}; // Pola untuk huruf E
byte patternI[] = {B11111111, B11111111, B00011000, B00011000, B00011000, B00011000, B11111111, B11111111}; // Pola untuk huruf I

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
  int x = 0;
  int sum = 0;
  for (int i = 0; i < 8; i++) {
    x = digitalRead(DIP_Pins[i]);
    sum += x;
  }
  if (sum == 7) {
    anySwitchActive = true; // Setel flag jika salah satu switch aktif
    //break; // Hentikan iterasi jika sudah ditemukan switch aktif
  } else {
    anySwitchActive = false;
  }

  // Membaca status DIP switch


  // Menampilkan pola LED pada dot matrix sesuai dengan status switch
  if (anySwitchActive) {
    displayNumber(patternL); // Menampilkan huruf L pada dot matrix
    delay(1000); // Delay agar huruf L ditampilkan selama 1 detik
    displayNumber(patternE); // Menampilkan huruf E pada dot matrix
    delay(1000); // Delay agar huruf E ditampilkan selama 1 detik
    displayNumber(patternI); // Menampilkan huruf I pada dot matrix
    delay(1000); // Delay agar huruf I 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]);
  }
}


5. Kondisi [Kembali]

Percobaan 3 Kondisi 1
Ketika 1 switch aktif, dot matrix akan menampilkan huruf L, E, I

6.  Video Simulasi [Kembali]



7. Download File [Kembali]

HTML                    klik disini
File Rangkaian       klik disini
Video Percobaan    klik disini
Listing Program         klik disini
Datasheet Arduino       klik disini
Datasheet MAX7219   klik disini
Datasheet DotMatrix    klik disini
Datasheet DipSW-8    klik disini


M1 Tugas Pendahuluan 2 uP dan uC M1 Tugas Pendahuluan 2 uP dan uC Reviewed by Andre Kurniawan on Maret 16, 2024 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.