Modul 1
(Percobaan 3 Kondisi 1)
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]
3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian Simulasi
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]);
}
}
Percobaan 3 Kondisi 1
Ketika 1 switch aktif, dot matrix akan menampilkan huruf L, E, I
6. Video Simulasi [Kembali]
HTML klik disini
File Rangkaian klik disini
Video Percobaan klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet MAX7219 klik disini
Datasheet DotMatrix klik disini
Tidak ada komentar: