MODUL 1
PERCOBAAN 3 KONDISI 4
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. 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]
a. Hardware
1. Dib Switch
2. MAX7219 MAX 7219 dot matrix 8x8
3. Arduino Uno
4. Keypad
b. Digram Blok
3. Rangkaian Simulasi dan Prinsip kerja
[Kembali]
→Gambar Rangkaian Sebelum Disimulasikan
→Gambar Rangkaian Setelah Disimulasikan
PRINSIP KERJA
Program tersebut bertujuan untuk mengatur dot matrix melalui penggunaan Arduino dan driver IC MAX7219. Ada sebuah rangkaian dot matrix yang terkoneksi dengan Arduino menggunakan driver MAX7219. Ada juga beberapa DIP switch yang tersambung langsung ke pin Arduino agar bisa mengatur tampilan pada dot matrix. Program diawali dengan mengatur atau menentukan pin-pin untuk DIP switch dalam bentuk array bernama DIP_Pins[]. Kemudian, objek LedControl dibuat dengan menggunakan konstruktor yang sesuai. LedControl adalah sebuah perangkat yang mengontrol atau mengendalikan lampu LED. Dalam array pattern5[] dan pattern7[], terdapat dua pola byte yang telah didefinisikan untuk mewakili angka 5 dan 7. Pada bagian setup(), program menetapkan pin-pin DIP switch sebagai input dengan resistor pull-up dan melakukan beberapa pengaturan awal pada modul LedControl. Di dalam fungsi loop(), program mengambil informasi mengenai keadaan DIP switch. Apabila terdapat salah satu switch yang aktif dengan kondisi LOW, maka flag anySwitchActive akan diubah menjadi true. Jika ada switch yang aktif, aplikasi akan menampilkan gambar angka 5 pada dot matrix selama 1 detik menggunakan fungsi displayNumber(). Kemudian, gambar angka 7 akan ditampilkan selama 1 detik, dan terakhir gambar angka 7 akan ditampilkan kembali selama 1 detik. Jika tidak ada switch yang sedang beroperasi, maka akan dilakukan pembersihan pada dot matrix. Fungsi displayNumber() memiliki peran untuk menampilkan pola pada dot matrix dengan mengatur baris-baris yang sesuai menggunakan fungsi setRow() dari objek LedControl.
4. FlowChart
[Kembali]
#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
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