LA MODUL 1 P5

  





Percobaan 5

Dipswitch dan 7-Segment

1. Foto Hardware dan Diagram Blok [Kembali]

a. Hardware


1. Seven Segment common catoda
2. Arduino Uno
3.Dipswitch 4
4. Resistor
5. Jumper
6. Breadboard  

b. 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 rangkaian ini, Terdapat Dipswitch yang berguna untuk inputan yang akan menentukan masukan yang akan ditampilkan pada seven segment, prinsip kerjanya adalah dipswitch akan mengirimkan nilai ADC yang akan diproses pada arduino, nilai awal ADC yang ditampilkan adalah 1023 dan nanti setelah di ubah switch yang terdapat pada dipswitch nanti nilai ADC nya akan berubah, dan nanti akan proses oleh Arduino dan akan keluar pada output dual Seven segment, setiap nilai ADC akan berubah ubah, makanya perlu penyesuaian pada codingan Arduino IDE.


4. FLOWCHART DAN LISTING PROGRAM [Kembali]

a. Flowchart
#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
// 1 = 36
// 2 = 33
// 3 = 26
// 4 = 21

// Define segments array
byte segments[] = {a, b, c, d, e, f, g};

byte digitPatterns[10][7] = {
  {0, 0, 0, 0, 0, 0, 1}, // 0
  {1, 0, 0, 1, 1, 1, 1}, // 1
  {0, 0, 1, 0, 0, 1, 0}, // 2
  {0, 0, 0, 0, 1, 1, 0}, // 3
  {1, 0, 0, 1, 1, 0, 0}, // 4
  {0, 1, 0, 0, 1, 0, 0}, // 5
  {0, 1, 0, 0, 0, 0, 0}, // 6
  {0, 0, 0, 1, 1, 1, 1}, // 7
  {0, 0, 0, 0, 0, 0, 0}, // 8
  {0, 0, 0, 0, 1, 0, 0}  // 9
};


void setup() {
  // put your setup code here, to run once:
   
   for (int i = 0; i < 7; i++) { // changed 8 to 7
    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 == 36){
    digitalWrite(D1,LOW);
    digitalWrite(D2,HIGH);
    number(1);
    delay(50);
    digitalWrite(D1,HIGH);
    digitalWrite(D2,LOW);
    number(0);
    delay(50);
  }
  else if(sw == 33){
    digitalWrite(D1,LOW);
    digitalWrite(D2,HIGH);
    number(0);
    delay(1000);
    digitalWrite(D1,HIGH);
    digitalWrite(D2,LOW);
    number(1);
    delay(1000);
  }
  else if(sw == 26){
    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 == 21){
    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);
  }
}

b. Listing Program



5. KONDISI [Kembali]
  Ketika Dipswitch di tekan maka Dual seven segment akan hidup menampilan karakter sesuai dengan dipswitch yang di tekan. tampilan output dari dual seven segmen tersebut diatur di kodingan arduino.

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 

Datasheet Arduino  klik disini

Download Datasheet 7- segmen klik disini

Download Resistor klik disini

Download Dipswitch klik disini










Komentar