Percobaan 5
DIPSWITCH & 7-SEGMENT
1. Foto Hardware dan Diagram Blok [Kembali]
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
3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]
Pada percobaan 5, digunakan dipswitch sebagai input dan 7-segment 2 digit sebagai outputnya, dimana pada rangkaian ini digunakan bentuk pull down.
Ketika dipswitch berada dalam kondisi High maka ia akan mentransfer data ke mikrokontroler arduino Uno yang kemudian dilanjutkan menuju 7-segment 2 digit sehingga 7-segment menampilkan angka sesuai dengan program yang telah kita masukan pada arduino
4. FLOWCHART DAN LISTING PROGRAM [Kembali]
#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/*393226 2719*/ 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 == 23){ digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(0);delay(50); } else if(sw == 22){ digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(0);delay(1000); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(1);delay(1000); }else if(sw == 21){ digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(0);delay(1000); number(1);delay(1000); number(2);delay(1000); number(3);delay(1000); number(4);delay(1000); number(5);delay(1000); number(6);delay(1000); number(7);delay(1000); number(8);delay(1000); number(9);delay(1000); }else if(sw == 19){ digitalWrite(D1,HIGH); digitalWrite(D2,HIGH); number(0);delay(1000); number(1);delay(1000); number(2);delay(1000); number(3);delay(1000); number(4);delay(1000); number(5);delay(1000); number(6);delay(1000); number(7);delay(1000); number(8);delay(1000); number(9);delay(1000); }else if(sw == 16){ digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(0);delay(500); number(1);delay(500); number(2);delay(500); number(3);delay(500); number(4);delay(500); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(5);delay(500); number(6);delay(500); number(7);delay(500); number(8);delay(500); number(9);delay(500); }else if(sw == 13){ digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delayMicroseconds (500); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(0);delayMicroseconds (500); }else if(sw == 10){ digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(9);delay(500); number(8);delay(500); number(7);delay(500); number(6);delay(500); number(5);delay(500); number(4);delay(500); number(3);delay(500); number(2);delay(500); number(1);delay(500); number(0);delay(500); }else if(sw == 5){ digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(0);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(1);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(2);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(3);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(4);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(5);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(6);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(7);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(8);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(1);delay(50); digitalWrite(D1,HIGH); digitalWrite(D2,LOW); number(9);delay(50); digitalWrite(D1,LOW); digitalWrite(D2,HIGH); number(2); } }
5. KONDISI [Kembali]
Masing-masing switch LED menghasilkan tampilan yang berbeda-beda sesuai logika yang diatur pada listing program.
6. VIDEO RANGKAIAN [Kembali]

.png)



Tidak ada komentar:
Posting Komentar