Modul 1 Percobaan 2 Kondisi 13
Buatlah rangkaian seperti pada modul percobaan, kemudian buatlah kondisi dengan inputan berupa saklar SPDT .
· Rangkaian Sederhana 1 : B= 1, D=0, A=1, C’=1, D= 1
· Rangkaian Sederhana 2 : B= 1, D=1, A= 1, B=0, C’=1.
1. Prosedur [Kembali]
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan sesuai kondisi
Prinsip kerja dari rangkaian ini adalah, ketika Arduino menerima inputan sinyal digital dari Dipswitch dan sesuai dengan program, maka Arduino akan menangkapnya sebagai sebuah instruksi, yang mana akan meneruskan ke 7-Segment. Lalu akan ditampilkan berupa angka yang akan melakukan hitung mundur dari 9 - 0. Dengan keadaan yang bergiliran pada digit 1 (kiri) dan digit 2 (kanan)
- Flowchart
- Listing Program
//M1P5
#define a 6
#define b 7
#define c 8
#define d 9
#define e 10
#define f 11
#define g 12
#define dp 13
#define D1 4
#define D2 5
#define Dsw A0
/*39
32
26 27
19
*/
int segments[] = {a,b,c,d,e,f,g};
byte digitPatterns[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1} // 9
};
void setup() {
// put your setup code here, to run once:
for (int i = 0; i < 7; i++) {
pinMode(segments[i], OUTPUT);
}
pinMode(dp,OUTPUT);
pinMode(D1,OUTPUT);
pinMode(D2,OUTPUT);
pinMode(Dsw,INPUT_PULLUP);
Serial.begin(9600);
}
void number (int display) {
if (display >= 0 && display <= 9) {
for (int i = 0; i < 7; i++) {
digitalWrite(segments[i], digitPatterns[display ][i]);
}
}
}
void loop() {
int sw = analogRead(Dsw);
Serial.print("ADC Value = ");
Serial.println(sw);
delay(100);
if(sw == 21){
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(9);
delay(500);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(8);
delay(500);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(7);
delay(500);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(6);
delay(500);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(5);
delay(500);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(4);
delay(500);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(3);
delay(500);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(2);
delay(500);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
number(1);
delay(500);
digitalWrite(D1,LOW);
digitalWrite(D2,HIGH);
number(0);
delay(500);
digitalWrite(D1,HIGH);
digitalWrite(D2,LOW);
}
}
Setiap 3 switch yang aktif akan melakukan counting 9 - 0 pada digit 1 dan 2 secara berseling
HTML klik disini
Simulasi klik disini
Gambar Simulasi klik disini
Video Simulasi klik disini
Listring Program klik disini
Video Simulasi klik disini
Listring Program klik disini