Modul 1
General Input dan Output
Percobaan 3
DAFTAR ISI
1. Prosedur
2.Hardware dan diagram blok
3. Rangkaian Simulasi dan Prinsip Kerja
4. Flowchart dan Listing Program
5. Video Demo
6. Kondisi
7. Video Simulasi
8. Download File
1. Prosedur [kembali]
- Buatlah rangkaian sesuai dengan kondisi yang telah dipilih
- Buat Program pada software Arduino IDE
- Masukkan program yang telah dibuat pada software Arduino IDE sebagai library Arduino
- Jalankan rangkaian, sesuai dengan kondisi yang diinginkan
- Hardware
a. Rangkaian Simulasi
b. Prinsip Kerja
Pada percobaan kali ini terdapat dip switch dan dot matriks dimana kaki 1,2 nya itu terhubung dengan kaki 13 dan 12 arduino lalu pada kaki 3 sampai 8 terhubung dengan kaki pada arduino yaitu kaki A0 sampai A5, kemudian dot matriks disini berfungsi sebagai output yang dimana data yang dikirimkan dari arduino tsb, lalu terdapat kaki 9 hingga 16 pada dip switch itulah yang terhubung dengan ground, sesuai dengan kebutuhan dimana kita menggunakan rangkaian pull up dimana dipswitch sudah dari awal aktif dengan keadaan ON (HIGH)
lalu untuk mendisplay dotmatriks yang mana disini adalah output dari rangkaian ini digunakanlah driver IC max7219 , yang terhubung dari kaki ISET dan DOUT ke VCC dan GND, dan pin lainnya seperti DIN, CLK, dan LOAD, terhubung ke pin digital arduino tersebut.
Pada awalnya kita akan memprogram agar semua pin tidak aktif, Lalu pada program masukkan kode untuk mendisplay 1,2, dan 3
byte patterns[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Pola LED untuk ditampilkan
byte pattern1[] =
{ B01000000,B11000000,B01000000,B01000000,B01000000,B01000000,B11100000,}; //
Pola LED untuk angka 1
byte pattern2[] = {
B01110000,B10001000,B00001000,B00010000,B00100000,B01000000,B11111000, }; //
Pola LED untuk angka 2
byte pattern3[] = {
B11111000,B00010000,B00100000,B00010000,B00001000,B10001000,B01110000 }; //
Pola LED untuk angka 3
a. Flowchart
b. Listing Program
#include <LedControl.h> //Library untuk LED Dot Matrix
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 patterns[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // Pola LED untuk ditampilkan
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() {
// Menghitung jumlah switch yang aktif
int activeSwitches = 0;
for (int i = 0; i < 8; i++) {
if (digitalRead(DIP_Pins[i]) == LOW) {
activeSwitches++;
}
}
// Menampilkan huruf "D" jika 3 switch aktif
if (activeSwitches == 2) {
patterns[0] = B00000000;
patterns[1] = B10111011;
patterns[2] = B10001001;
patterns[3] = B10001001;
patterns[4] = B10111011;
patterns[5] = B10100001;
patterns[6] = B10100001;
patterns[7] = B10111011;
}
else {
// Menampilkan pola default jika tidak ada 3, 5, atau 7 switch yang aktif
for (int i = 0; i < 8; i++) {
patterns[i] = 0;
}
}
// Menampilkan pola LED pada dot matrix
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, patterns[row]);
}
delay(100); // Delay untuk tampilan LED stabil
}
Ketika 2 switch aktif dot matrix akan menampilkan angka 1,2,3.
Untuk 2 switch disini bebas yang mana saja dari 8 switch yang ada
Download HTML klik disini
Download Rangkaian Proteus klik disini
Download Program Arduino klik disini
Download Video klik disini
Tidak ada komentar:
Posting Komentar