Kamis, 21 Maret 2024

LA 2 Modul 2



MODUL 2
PERCOBAAN 3
1. Prosedur
[Kembali]

        1. Rangkai semua komponen sesuai kondisi yang dipilih
        2. Buat program di aplikasi arduino IDE
        3. Setelah selesai masukkan program ke arduino (Verify and Upload)
        4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
        5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. Hardware



A. Alat  
1. Breadboard
B. Bahan                                                                    
1. Seven Segment common catoda
2. Arduino Uno
3.Dipswitch_4
4. Jumper

            b. Diagram Blok



3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

A. Gambar Rangkaian
   
B. PRINSIP KERJA
   Pada rangkaian tersebut, dipswitch berperan sebagai input yang dihubungkan ke kaki analog arduino yaitu pin A0 sampai A3 outputnya yaitu dual 7-segment common anode yang dihubungkan pada pin digital arduino yaitu pin A sampai G 7-segmen dihubungkan ke pin  6 sampai 12 digital arduino,pin DP 7-segmen dihubungkan ke pin 13 digital arduino, sedangkan enabel 1 dan 2 - segmen dihubungkan ke pin 4 dan 5 arduino. Sesuai dengan datasheet, enabel 1 dual 7-segmen cammon anode aktif high sedangkan enabel 2 dual 7-segmen cammon anode aktif low
    Program arduino IDE diatur untuk beberapa kondisi yaitu: 
1. ketika 1 switch aktif 
maka salah satu segmen kanan di dual seven segmen common anode akan menghitung mundur dari 9 ke 0
2. Ketika 2 switch Aktif
maka seven segmen akan menghitung dari 1 sampai  10 pada segmen kanan dan kiri secara bergantian pada dual seven segmen common anode 
3. Ketika 3 switch aktif
maka seven segmen akan menghitung dari 1 sampai  10 pada segmen kanan dan kiri secara bergantian pada dual seven segmen common anode dengan delay yang lebih cepat dari kondisi ketika 2 swtich yang aktif

    
4. FlowChart [Kembali]

a. 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 Dsw1 A0
#define Dsw2 A1
#define Dsw3 A2
#define Dsw4 A3
bool sw1,sw2,sw3,sw4;
int 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() {
for (int i = 0; i < 7; i++) {
pinMode(segments[i], OUTPUT);
}
pinMode(dp, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(Dsw1, INPUT_PULLUP);
pinMode(Dsw2, INPUT_PULLUP);
pinMode(Dsw3, INPUT_PULLUP);
pinMode(Dsw4, 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 sw1 = digitalRead(Dsw1);
int sw2 = digitalRead(Dsw2);
int sw3 = digitalRead(Dsw3);
int sw4 = digitalRead(Dsw4);
static int digit = 1; // Digit yang sedang ditampilkan (1 atau 2)
static int count = 0; // Counter untuk digit
static unsigned long lastTime = 0; // Waktu terakhir pembacaan tombol
if (sw1 == LOW) {
if (millis() - lastTime > 1000) { // Debouncing
lastTime = millis();
count++;
if (count > 9) {
count = 0;
}
if (digit == 1) {
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
number(count);
digit = 2;
} else {
digitalWrite(D1, LOW);
digitalWrite(D2, HIGH);
number(count);
digit = 1;
}
}
}
else if (sw2 == LOW) {
if (millis() - lastTime > 1000) { // Debouncing
lastTime = millis();
digitalWrite(D1, HIGH);
digitalWrite(D2, LOW);
for (int i = 9; i >= 0; i--) {
number(i);
delay(1000); // Delay agar Anda bisa melihat perubahan digit
}
}
}
if (sw3 == LOW) {
if (millis() - lastTime > 2000) { // Debouncing
lastTime = millis();
count++;
if (count > 9) {
count = 0;
}
if (digit == 1) {
digitalWrite(D2, HIGH);
digitalWrite(D1, LOW);
number(count);
digit = 2;
} else {
digitalWrite(D2, LOW);
digitalWrite(D1, HIGH);
number(count);
digit = 1;
}
}
}
else if (sw4 == LOW) {
if (millis() - lastTime > 2000) { // Debouncing
lastTime = millis();
digitalWrite(D2, HIGH);
digitalWrite(D1, LOW);
for (int i = 9; i >= 0; i--) {
number(i);
delay(200); // Delay agar Anda bisa melihat perubahan digit
}
}
}
}
b. Flowchart






5. Video Demo [Kembali]




6. Kondisi [Kembali]

Percobaan 3 sesuai dengan modul 2

8. Download File [Kembali]
Download HMTL Klik disini
Download Video Demo Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Dipswitch  klik disini
Download Datasheet 7 segmen klik disini


LA 1 Modul 2



MODUL 2
PERCOBAAN 1
1. Prosedur
[Kembali]

        1. Rangkai semua komponen sesuai kondisi yang dipilih
        2. Buat program di aplikasi arduino IDE
        3. Setelah selesai masukkan program ke arduino (Verify and Upload)
        4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
        5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. Hardware


A. Alat  
1. Breadboard

B. Bahan                                                                    
1. LCD 2x16
2. Arduino Uno
3.Dipswitch_4 dan Dipswitch_2
4. Resistor
5. Jumper
6. Batrai
7. Motor DC +baling-baling
8. Potensiometer
9. Driver L293D

            b. Digram Blok




3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

A. Gambar Rangkaian


                         
B. PRINSIP KERJA
    Pada rangkaian tersebut, dipswitch berperan sebagai input yang dihubungkan ke kaki analog arduino serta komponen tambahannya resistor yang berfungsi sebagai proteksi arduino. Sedangkan output pada percobaan 1 ini ialah LCD 16x2 yang dilengkapi dengan potensiometer dan juga motor DC. 
Rangkaian dapat disimulasikan setelah kodingan arduino dari arduino IDE ke arduino. Dimana kodingan arduino diatur untuk 4 case, yaitu: 
    1. Case 0
Syaratnya 1 switch aktif, LCD akan menampilkan nilai LDR Value yang nilainya tergantung dari intensitas cahaya yang dirasakan oleh sensor LDR
    2. Case 1
syaratknya 2 switch aktif, LCD akan menampilkan "rotating motor" dan juga motor DC akan Berputar
    3. Case 2
syaratnya 3 switch aktif, maka LCD akan menampilkan nilai LDR value  dan motor berputar ke kiri
    4. Case 4 
Syaratnya semua switch aktif maka LCD akan menampilkan nilai LDR value  dan motor berputar ke kanan
Nilai LDR Value akan berbanding terbalik dengan tingkat intensitas cahaya yang dirasakan oleh LDR, dimana semakin tinggi tingkat intensitas cahayanya maka nilai resistansi semakin kecil sehingga arus akan besar, oleh karena itu LDR value (tegangan) menjadi kecil. dan begitu seterusnya
4. FlowChart [Kembali]

a. Listing Program 
#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
int sw1 = 2;
int sws[]={3,4,7};
int numsw = 3;
int front = 6;
int back = 5;
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);
pinMode(sw1,INPUT);
for(int thesw = 0; thesw < numsw; thesw++){
pinMode(sws[thesw],INPUT);
}
pinMode(front,OUTPUT);
pinMode(back,OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int s1 = digitalRead(sw1);
int ldr = analogRead(A0);
if(s1 == HIGH){
int activesw = 0;
for(int thesw = 0; thesw < numsw; thesw++){
if(digitalRead(sws[thesw]) == HIGH){
activesw++;
}
}
Serial.print("Number of Switch : ");
Serial.println(activesw);
delay(200);
switch(activesw){
case 0 :
lcd.clear();
lcd.setCursor(0,0);
lcd.print(ldr);
lcd.setCursor(0,1);
lcd.print("The LDR Value");
delay(200);
break;
case 1 :
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Running The");
lcd.setCursor(2,1);
lcd.print("Motor");
digitalWrite(front,HIGH);
digitalWrite(back,LOW);
delay(200);
break;

case 2 :
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LDR Value : ");
lcd.setCursor(13,0);
lcd.print(ldr);
if(ldr < 550){
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("turn Motor right");
digitalWrite(front,HIGH);
digitalWrite(back,LOW);
}else{
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("turn Motor left");
digitalWrite(front,LOW);
digitalWrite(back,HIGH);
}
break;
case 3 :
int pwm = map(ldr,0,1023,0,255);
digitalWrite(back,LOW);
analogWrite(front,pwm);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("PWM = ");lcd.print(pwm);
lcd.setCursor(0,1);
lcd.print(" Control ???");
delay(200);
break;
}
delay(10);
}else{
lcd.clear();
lcd.setCursor(4,0);
lcd.print("ELECTRONIC");
lcd.setCursor(0,1);
lcd.print("&INSTRUMENTATION");
delay(100);
}
}

b. Flowchart







5. Video Demo [Kembali]







6. Kondisi [Kembali]

Percobaan 1 modul 2

8. Download File [Kembali]

Download HMTL klik di sini
Download Video Demo Klik di sini
Download Datasheet ARDUINO UNO klik di sini
Download Datasheet LCD klik di sini
Datasheet resistor klik di sini
Datasheet dipswitch klik di sini
Datasheet Sensor LDR klik di sini
Datasheet Potensiometer klik di sini
Datasheet Driver L239D klik di sini
Datasheet Motor DC klik di sini


Senin, 18 Maret 2024

TP 2 Modul 2



MODUL 2
PERCOBAAN 6 KONDISI 1

1. Prosedur
[Kembali]
1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. hardware
                     


                                                  
1. Arduino Uno
2. LM35 (Sensor Suhu)
3. Push Button
4. Driver
5. Motor Stepper
            b. Digram Blok




3. Rangkaian Simulasi dan Prinsip kerja [Kembali]


                                                                Rangkaian sebelum disimulasi
                                        


Rangkaian setelah disimulasi

PRINSIP KERJA

komponen yang berperan sebagai inputan ialah LM35 yang dihubungkan ke pin analog arduino dan pushbutton yang dihubungkan ke pin digital arduino. sebagai keluaran dari simulasi ini ialah pergerakan pada step motor. 
prinsip kerja dari rangkaian simulasi ialah, kodingan diatur dengan dibuat ketika LM35 menampilkan angka > 30 maka akan dapat mengaktifkan motor stepper dengan setiap step motor stepper akan diaru berdasarkan push button yang diaktifkan. 
Push button yang digunakan pada rangakain kali ini ialah 4 buah, dan hal ini telah diatur dari kodingan arduino bahwa motor stepper akan step sebanyak 4 kali dengan setiap stepnya itu besar sudutnya 90 derajat. Yang mana arah dari step motor stepper ketika telah memenuhi kondisi (LM35 menampikan >30) ialah searah dengan jarum jam.

4. FlowChart [Kembali]
a. Listing Program 
#define A 8
#define B 9
#define C 10
#define D 11
#define PB1 2
#define PB2 3
#define PB3 4
#define PB4 5
#define LM35 A0 // Pin untuk sensor LM35
void setup() {
  Serial.begin(9600);
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  pinMode(PB1, INPUT_PULLUP);
  pinMode(PB2, INPUT_PULLUP);
  pinMode(PB3, INPUT_PULLUP);
  pinMode(PB4, INPUT_PULLUP);
  pinMode(LM35, INPUT); // Inisialisasi pin LM35 sebagai input
}

void pergerakan_1(){
  digitalWrite(A,0);
  digitalWrite(D,1);
  digitalWrite(B,0);
  digitalWrite(C,1);
}
void pergerakan_2(){
  digitalWrite(A,1);
  digitalWrite(D,1);
  digitalWrite(B,0);
  digitalWrite(C,0);
}
void pergerakan_3(){
  digitalWrite(A,1);
  digitalWrite(D,0);
  digitalWrite(B,1);
  digitalWrite(C,0);
}
void pergerakan_4(){
  digitalWrite(A,0);
  digitalWrite(D,0);
  digitalWrite(B,1);
  digitalWrite(C,1);
}
void nonpergerakan(){
  digitalWrite(A,0);
  digitalWrite(D,0);
  digitalWrite(B,0);
  digitalWrite(C,0);
}

bool isLM35Above35() {
  // Baca nilai analog dari LM35
  int sensorValue = analogRead(LM35);
  // Konversi nilai analog ke suhu dalam derajat Celsius
  float temperature = (sensorValue / 1024.0) * 500.0;
  return temperature > 30; // Kembalikan true jika suhu di atas 35 derajat Celsius
}

void loop() {
  if (isLM35Above35()) { // Cek apakah suhu di atas 35 derajat Celsius
    int b4 = digitalRead(PB4);
    int b3 = digitalRead(PB3);
    int b2 = digitalRead(PB2);
    int b1 = digitalRead(PB1);
    if (b4 == LOW) {
      pergerakan_4(); // Pindahkan servo ke 45 derajat
    }
    else if (b3 == LOW) {
      pergerakan_3(); // Pindahkan servo ke 45 derajat
    }
    else if (b2 == LOW) {
      pergerakan_2(); // Pindahkan servo ke 45 derajat
    }
    else if (b1 == LOW) {
      pergerakan_1(); // Pindahkan servo ke 45 derajat
    }
    else {
      nonpergerakan();
      delay(100);
    }
  }
  else {
    nonpergerakan(); // Jika suhu di bawah 35 derajat Celsius, hentikan pergerakan servo
    delay(100);
  }
}
b. Flowchart






5. Kondisi [Kembali]
Percobaan 6 Kondisi 1
Sertakan dengan LM35 dan ketika suhu bernilai >30 motor searah jarum jam
6. Video Simulasi [Kembali]



7. Download File [Kembali]

Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet push button  klik disini
Download Datasheet motor stepper klik disini
Download Datasheet LM35 klik disini
Download Datasheet driver ULN2003A klik disini

TP 1 Modul



MODUL 2
PERCOBAAN 3 KONDISI 1

1. Prosedur
[Kembali]

1. Rangkai semua komponen sesuai kondisi yang dipilih
2. Buat program di aplikasi arduino IDE
3. Setelah selesai masukkan program ke arduino di proteus
4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. hardware
                     

                                          
1. Arduino Uno
2. Dipswitch_4
3. 7-Segment common cathode
            b. Digram Blok



3. Rangkaian Simulasi dan Prinsip kerja [Kembali]


                                                                Rangkaian sebelum disimulasi
                                        


Rangkaian setelah disimulasi

PRINSIP KERJA
Pada rangkaian tersebut, dipswitch berperan sebagai input yang dihubungkan ke kaki analog arduino yaitu pin A0 sampai A3 outputnya yaitu dual 7-segment common cathode yang dihubungkan pada pin digital arduino yaitu pin A sampai G 7-segmen dihubungkan ke pin  6 sampai 12 digital arduino,pin DP 7-segmen dihubungkan ke pin 13 digital arduino, sedangkan enabel 1 dan 2 - segmen dihubungkan ke pin 4 dan 5 arduino. Sesuai dengan datasheet, enabel 1 dual 7-segmen cammon cathode aktif high sedangkan enabel 2 dual 7-segmen cammon cathode aktif low
Rangkaian dapat disimulasikan setelah kodingan arduino dari arduino IDE dimasukkan ke arduino pada proteus. Dimana kodingan arduino diatur untuk dapat melakukan hitungan mundul dari 9 sampai 0 ketika salah satu switch diaktifkan dan akan ditampilkan pada dual 7-segmen. 
4. FlowChart [Kembali]
a. 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 Dsw1 A0
#define Dsw2 A1
#define Dsw3 A2
#define Dsw4 A3
bool sw1,sw2,sw3,sw4;
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() {
 for (int i = 0; i < 7; i++) {
 pinMode(segments[i], OUTPUT);
 }
 pinMode(dp, OUTPUT);
 pinMode(D1, OUTPUT);
 pinMode(D2, OUTPUT);
 pinMode(Dsw1, INPUT_PULLUP);
 pinMode(Dsw2, INPUT_PULLUP);
 pinMode(Dsw3, INPUT_PULLUP);
 pinMode(Dsw4, 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 sw1 = digitalRead(Dsw1);
 int sw2 = digitalRead(Dsw2);
 int sw3 = digitalRead(Dsw3);
 int sw4 = digitalRead(Dsw4);
 static int digit = 1; // Digit yang sedang ditampilkan (1 atau 2)
 static int count = 0; // Counter untuk digit
 static unsigned long lastTime = 0; // Waktu terakhir pembacaan tombol
if (sw1 == LOW) {
 if (millis() - lastTime > 1000) { // Debouncing
 lastTime = millis();
 digitalWrite(D1, HIGH);
 digitalWrite(D2, LOW);
 for (int i = 9; i >= 0; i--) {
 number(i);
 delay(1000); // Delay agar Anda bisa melihat perubahan digit
 }
 }
}
else if (sw2 == LOW) {
 if (millis() - lastTime > 1000) { // Debouncing
 lastTime = millis();
 digitalWrite(D1, HIGH);
 digitalWrite(D2, LOW);
 for (int i = 9; i >= 0; i--) {
 number(i);
 delay(1000); // Delay agar Anda bisa melihat perubahan digit
 }
 }
}
if (sw3 == LOW) {
 if (millis() - lastTime > 2000) { // Debouncing
 lastTime = millis();
 count++;
 if (count > 9) {
 count = 0;
 }
 if (digit == 1) {
 digitalWrite(D2, HIGH);
 digitalWrite(D1, LOW);
 number(count);
 digit = 2;
 } else {
 digitalWrite(D2, LOW);
 digitalWrite(D1, HIGH);
 number(count);
 digit = 1;
 }
 }
}
else if (sw4 == LOW) {
 if (millis() - lastTime > 2000) { // Debouncing
 lastTime = millis();
 digitalWrite(D2, HIGH);
 digitalWrite(D1, LOW);
  for (int i = 9; i >= 0; i--) {
 number(i);
 delay(200); // Delay agar Anda bisa melihat perubahan digit
 }
 }
}
}
b. Flowchart


flowchart



5. Kondisi [Kembali]

Percobaan 3 Kondisi 1
Ketika 1 switch  aktif 7-segment menghitung mundur dari 10
6. Video Simulasi [Kembali]
video



7. Download File [Kembali]
Download HMTL Klik disini
Download Simulasi Rangkaian Klik disini
Download Video Simulasi Klik disini
Download Datasheet ARDUINO UNO klik disini
Download Datasheet Dipswitch  klik disini
Download Datasheet 7 segmen klik disini

Sabtu, 02 Maret 2024

LA 2 Modul 1



MODUL 1
PERCOBAAN 5
1. Prosedur
[Kembali]

        1. Rangkai semua komponen sesuai kondisi yang dipilih
        2. Buat program di aplikasi arduino IDE
        3. Setelah selesai masukkan program ke arduino (Verify and Upload)
        4. Jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
        5. Selesai

2. Hardware dan diagram blok [Kembali]
      a. Hardware




A. Alat  
1. Breadboard
B. Bahan                                                                    
1. Seven Segment common catoda
2. Arduino Uno
3.Dipswitch_4
4. Resistor
5. Jumper

            b. Digram Blok



3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

A. Gambar Rangkaian


                         
B. PRINSIP KERJA
    Pada rangkaian tersebut, dipswitch berperan sebagai input yang dihubungkan ke kaki analog arduino serta komponen tambahannya resistor yang berfungsi sebagai proteksi arduino. outputnya yaitu 7-segment common cathode. 
Rangkaian dapat disimulasikan setelah kodingan arduino dari arduino IDE ke arduino. Dimana kodingan arduino diatur untuk dapat menampilkan karakter ketika ADC nya mencapai 33, 26, 36, 21. Maksudnya, ketika satu switch pada dipswitch di-on kan, maka 7 segmen akan menampilkan angka satu. Begitu seterusnya, ketika 2 switch pada dipswitch di-on kan maka seven segmen akan menampilkan angka 2. 

4. FlowChart [Kembali]

a. 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

// 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. Flowchart






5. Video Demo [Kembali]





6. Kondisi [Kembali]

Percobaan 5 sesuai dengan modul 1

8. Download File [Kembali]

Download HMTL klik di sini
Download Video Demo Klik di sini
Download Datasheet ARDUINO UNO klik di sini
Download Datasheet 7 segmen klik di sini
Datasheet resistor klik di sini
Datasheet dipswitch klik di sini


Entri yang Diunggulkan

LA 2 modul 3

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Prosedur 2. Hardware dan diagram blok 3. Rangkaian Simulasi dan P...