Percobaan 2
Dip switch dan Dot Matrix
1. Foto Hardware dan Diagram Blok [Kembali]
Diagram Blok:
2. Prosedur Percobaan [Kembali]
+ Rangkai semua komponen
+ buat program di aplikasi arduino IDE
+ setelah selesai masukkan program ke arduino
+ jalankan program pada simulasi dan cobakan dengan modul
Prinsip Kerja
Pada percobaan 3 kondisi 1 ini menggunakan 1 buah mikrokontroler arduino uno ( ATMEGA328P-PU ), DIP SWITCH, Dot Matrix, dan MAX7219.
Kaki A0-A5 pada arduino terhubung ke kaki dip switch on 3-8 dan kaki 12-13 pada arduino terhubung ke kaki 1-2 pada dip switch. Untuk kaki disebelah off pada dip switch terbung ke vcc.
Di dalam rangkaian MAX7219, ada beberapa pin yang perlu disambungkan ke Arduino :
1. LOAD (chip select), dimana pin ini terhubung ke kaki 4 pada arduino digunakan untuk mengendalikan output enable pada IC. aktif jika berlogika 1.
2. CLK (clock), Kaki clk pada MAX7219 digunakan untuk memberikan clock signal untuk IC. Clock signal ini digunakan untuk mensinkronisasi operasi internal IC. kaki clock terhubung ke kaki 3 arduino.
3. DIN (Data IN), Kaki din pada Arduino terhubung ke kaki 2 digunakan untuk mengirimkan data ke IC. Data yang dikirimkan ke kaki din akan disimpan di IC.
Prinsip Kerja dari rangkaian ini dimana Arduino Uno atau mikrokontroler sebagai otak utama. MAX7219 sebagai pengendali. Dip switch sebagai input untuk mengontrol kapan karakter ditampilkan. Dan Dot Matrix sebagai output. pin data (DIN), CLK (Clock), dan CS (Chip Select) dari MAX7219 ke pin digital Arduino. dip switch ke pin digital Arduino sebagai input. Program Arduino untuk membaca status dip switch dan mengontrol tampilan di dot matrix sesuai kondisi switch. Ketika 1 dip switch aktif, dot matrix akan menampilkan huruf L,E, I secara bergantian.
4. Flowchart dan Listing Program [Kembali]
Listing Program:
#include <MaxMatrix.h>
int DIN = 2;
int CLK = 3;
int CS = 4;
int maxInUse = 1;
int DIP1 = 13;
int DIP2 = A1;
int DIP3 = A2;
MaxMatrix m(DIN, CS, CLK, maxInUse);
char L[] = {8, 8, B01000000,
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);
pinMode(DIP2, INPUT);
pinMode(DIP3, INPUT);
m.init();
m.setIntensity(5);
Serial.begin(9600);
}
void loop() {
int p1 = digitalRead(DIP1);
int p2 = digitalRead(DIP2);
int p3 = digitalRead(DIP3);
if (p1==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();
}
}
Percobaan 3 kondisi 1 : "Ketika 1 switch aktif dot matrix akan menampilkan huruf L,E,I"
᭒ HTML↠ klik disini
᭒ Aplikasi↠ klik disini
᭒ Video Percobaan↠ klik disini
Download Datasheet MAX7219
Download Datasheet DOT MATRIX
Download Datasheet Arduino Uno
Tidak ada komentar:
Posting Komentar