LA1 M1



Modul 1 Percobaan 5 
Dipswitch dan 7-Segment

1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan dengan modul
  • Lihat hasil pada 7-Segment

  • Hardware
  • Diagram Blok


  • Rangkaian 
  • Prinsip Kerja
            Pada percobaan input berupa 8-Dip Switch, yang mana pada kodingannya diberi INPUT_PULLUP, artinya arduino yang lsg memberi tegangan. Untuk output berupa seven segment 2 digit. Masing-masing switch diberi resistor dengan nilai yang berbeda-beda. Percobaan ini menggunakan sistem trial and error, yang mana kita mencoba aktifkan masing-masing switch terlebih dahulu unutk melihat nilai adc yang terukur. Kemudian nilai tersebut lah yang nantinya digunakan untuk membuat logika pada programnya.Setelah program selesai, maka seven segment akan menampilkan nilai sesuai logika yang telah dibuat.


  • 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
// 1 = 36
// 2 = 33
// 3 = 26
// 4 = 21


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 < 8; 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 == 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);
  }
}

  • Merangkai

  • Video Demo

6. Kondisi [Kembali]

Masing-masing switch LED menghasilkan tampilan yang berbeda-beda sesuai logika yang diatur pada listing program.

7. Download File [Kembali]

HTML klik disini

- Gambar Hardware  klik disini

- Gambar Simulasi  klik disini

- Video Demo  klik disini

- Listring Program  klik disini















Komentar

Postingan populer dari blog ini

Tugas Besar

Modul 1

Modul I - Gerbang Logika dan Multivibrator