Minggu, 17 Maret 2024

TP 2




Tugas Pendahuluan 1 
Modul 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. Push Button





3. LED





4. Resistor





Diagram Blok :






3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
 
Rangkaian Simulasi :





Prinsip Kerja :

Saat inputan diberikan oleh dipswitch maka saat hanya satu dip switch yang aktif maka pada dot matrix akan menampilkan karakter LEI secara bergantian selama satu detik dan apabila ada lebih dari satu dipswitch yang aktif maka dot matriks tidak akan aktif


4. Flowchart dan Listing Program [Kembali]

Flowchart :













Listing Program :
#include <MaxMatrix.h> //Mendeklarasikan bahwa kita akan menggunakan 
                       //LIBRARY MaxMatrix untuk mengontrol modul LED matriks.

int DIN = 2; // Mendefinisikan pin yang digunakan pada arduino
int CLK = 3;
int CS = 4;
int maxInUse = 1;

int DIP1 = 13;
int DIP2 = 12;
int DIP3 = A0;
int DIP4 = A1;
int DIP5 = A2;
int DIP6 = A3;
int DIP7 = A4;
int DIP8 = A5;


MaxMatrix m(DIN, CS, CLK, maxInUse);
char L[] = {8, 8, B01000000,     //Mendefinisikan array dalam bentuk huruf
                  B01000000, 
                  B01000000, 
                  B01000000, 
                  B01000000, 
                  B01000000, 
                  B01111110, 
                  B00000000};
                  
char E[] = {8, 8, B01111110, 
                  B01000000, 
                  B01000000, 
                  B01111110, 
                  B01000000, 
                  B01000000, 
                  B01111110, 
                  B00000000};
                  
char I[] = {8, 8, B0001000,
                  B0001000, 
                  B0001000, 
                  B0001000, 
                  B0001000, 
                  B0001000, 
                  B0001000, 
                  B0000000};


void setup() {

  pinMode(DIP1, INPUT); //nendefinisikan pin sebelumnya sebagai input
  pinMode(DIP2, INPUT);
  pinMode(DIP3, INPUT);
  pinMode(DIP4, INPUT);
  pinMode(DIP5, INPUT);
  pinMode(DIP6, INPUT);
  pinMode(DIP7, INPUT);
  pinMode(DIP8, INPUT);
  m.init();
  m.setIntensity(5); // menentukan intensitas dotmatrik yang digunakan
  Serial.begin(9600); //menginisialisasi komunikasi serial pada mikrokontroler Arduino dengan kecepatan (baud rate) 9600 bits per detik. 
}

void loop() {
//Membaca nilai dari sakelar DIP menggunakan digitalRead() dan disimpan dalam variabel p1 hingga p8.
  int p1 = digitalRead(DIP1);
  int p2 = digitalRead(DIP2);
  int p3 = digitalRead(DIP3);
  int p4 = digitalRead(DIP4);
  int p5 = digitalRead(DIP5);
  int p6 = digitalRead(DIP6);
  int p7 = digitalRead(DIP7);
  int p8 = digitalRead(DIP8);
  
 if (p1==HIGH && p2 ==LOW &&p3==LOW&& p4==LOW &&p5==LOW &&p6==LOW&&p7==LOW&&p8==LOW) 
    {m.clear(); //Fungsi untuk membersihkan tampilan modul LED matriks.
    m.writeSprite(0, 0, L);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, E);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I);
    delay(1000);
    
    }
    else if(p1==LOW && p2 ==HIGH &&p3==LOW&& p4==LOW &&p5==LOW &&p6==LOW&&p7==LOW&&p8==LOW)
     {
    m.clear();
    m.writeSprite(0, 0, L);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, E);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I);
    delay(1000);
    }
    else if(p1==LOW && p2 ==LOW &&p3==HIGH && p4==LOW &&p5==LOW &&p6==LOW&&p7==LOW&&p8==LOW)
     {
    m.clear();
    m.writeSprite(0, 0, L); //memanggil arry L
    delay(1000); //jeda waktu tampilan matrik 1 detik
    m.clear();
    m.writeSprite(0, 0, E); //memanggil array E
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I); //memanggil array I
    delay(1000);
    }
    else if(p1==LOW && p2 ==LOW &&p3==LOW && p4==HIGH &&p5==LOW &&p6==LOW&&p7==LOW&&p8==LOW)
     {
    m.clear();
    m.writeSprite(0, 0, L);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, E);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I);
    delay(1000);
    }
    else if(p1==LOW && p2 ==LOW &&p3==LOW && p4==LOW &&p5==HIGH &&p6==LOW&&p7==LOW&&p8==LOW)
     {
    m.clear();
    m.writeSprite(0, 0, L);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, E);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I);
    delay(1000);
    }
     else if(p1==LOW && p2 ==LOW &&p3==LOW && p4==LOW &&p5==LOW &&p6==HIGH && p7==LOW && p8==LOW)
     {
    m.clear();
    m.writeSprite(0, 0, L);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, E);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I);
    delay(1000);
    }
    else if(p1==LOW && p2 ==LOW &&p3==LOW && p4==LOW &&p5==LOW &&p6==LOW && p7==HIGH && p8==LOW)
     {
    m.clear();
    m.writeSprite(0, 0, L);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, E);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I);
    delay(1000);
    }
     else if(p1==LOW && p2 ==LOW &&p3==LOW && p4==LOW &&p5==LOW &&p6==LOW && p7==LOW && p8==HIGH)
     {
    m.clear();
    m.writeSprite(0, 0, L);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, E);
    delay(1000);
    m.clear();
    m.writeSprite(0, 0, I);
    delay(1000);
    }
    
    else {
        m.clear(); //menghapus semua perintah pada array matriks
    }
 
 

 
}


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





Tidak ada komentar:

Posting Komentar