Tugas Pendahuluan 1 Modul 1
(Percobaan 3 Kondisi 2)
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.
5. Selesai.
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi Sebelum dirunning:
Prinsip Kerja :
Rangkaian di atas adalah penggunaan dip switch untuk mengontrol tampilan dot matrix melalui codingan pada arduino uno. Pertama-tama, pin DIP switch diatur sebagai input dengan resistor pull-up , yang mana input yang terbaca pada arduino akan berlogika 1 jika switch dari dipswitch tersebut berlogika 1 juga. Selanjutnya, program menentukan pola LED di dot matrix yang akan ditampilkan untuk masing-masing simbol, seperti angka 2, huruf k, dan angka 3, dengan mendefinisikan array byte untuk setiap pola.
Status dari DIP switch terus dipantau. Jumlah saklar yang aktif dihitung untuk menentukan tindakan selanjutnya. Jika dua saklar pada dipswitch diaktifkan, program akan menampilkan kombinasi "2 k 3" dengan menampilkan simbol-simbol secara berurutan setelah jeda waktu tertentu. Setiap simbol direpresentasikan oleh pola LED yang sudah ditentukan sebelumnya. Setelah menampilkan kombinasi, program memberikan jeda untuk menampilkan LED Dot Matrix dengan stabil sebelum kembali ke loop utama. Jika tidak ada kombinasi yang terpenuhi (banyak jumlah saklar yang aktif bukan 2 saklar), tampilan pada LED Dot Matrix akan dimatikan.
4. Flowchart dan Listing Program
[Kembali]
Flowchart :
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};
byte pattern_2[] = {
B00000000,
B00011000,
B00100100,
B00000100,
B00001000,
B00010000,
B00111100,
B00000000
}; // Pola LED untuk angka "2"
byte pattern_k[] = {
B00000000,
B00100100,
B00101000,
B00110000,
B00110000,
B00101000,
B00100100,
B00000000
}; // Pola LED untuk huruf "k"
byte pattern_3[] = {
B00000000,
B00111100,
B00000010,
B00000100,
B00011000,
B00000100,
B00000010,
B00111100
}; // Pola LED untuk angka "3"
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() {
// Membaca status DIP switch
bool switch_1 = digitalRead(DIP_Pins[0]) == LOW;
bool switch_2 = digitalRead(DIP_Pins[1]) == LOW;
int activeSwitches = 0; // Jumlah saklar yang aktif
for (int i = 0; i < 8; i++) {
if (digitalRead(DIP_Pins[i]) == LOW) {
activeSwitches++; // Menghitung jumlah saklar yang aktif
}
}
// Menampilkan kombinasi "2 k 3" jika dua switch diaktifkan
if (activeSwitches == 2) {
// Menampilkan angka "2"
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, pattern_2[row]);
}
delay(1000); // Delay sebelum menampilkan huruf "k"
// Menampilkan huruf "k"
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, pattern_k[row]);
}
delay(1000); // Delay sebelum menampilkan angka "3"
// Menampilkan angka "3"
for (int row = 0; row < 8; row++) {
lc.setRow(0, row, pattern_3[row]);
}
delay(1000); // Delay untuk tampilan LED stabil
} else {
// Matikan tampilan dot matrix jika kedua saklar tidak aktif
lc.clearDisplay(0);
}
}
Percobaan 3 Kondisi 2
Ketika 2 switch diaktifkan maka akan menampilkan kombinasi 2, k ,3.
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
Datasheet MAX7219 Download
Datasheet Dot Matrix Download
Tidak ada komentar:
Posting Komentar