Laporan Akhir 2 (m1)

   





Percobaan 5

DIPSWITCH & 7-SEGMENT


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


3. RANGKAIAN SIMULASI DAN PRINSIP KERJA[Kembali]



Prinsip Kerja :


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]

Flowchart:



Listing Program:
#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 == 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]




7. ANALISA [Kembali]




8. LINK DOWNLOAD [Kembali]

HTML                    klik disini

Rangkaian            klik disini

Listing Program    klik disini

Video Percobaan  klik disini




Tidak ada komentar:

Posting Komentar