Tugas Pendahuluan 2




Tugas Pendahuluan 2 Modul 2
(Percobaan 3 Kondisi 6)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino



2. Seven Segmen











2. DipSwitch







4. Resistor









Diagram Blok:







3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :






Prinsip Kerja :

   Dapat dilihat pada gambar diatas, jika 3 Switch aktif maka akan muncul angka 3,2,1 dalam hitungan mundur. Lalu setelah itu akan muncul tulisan L,E,I secara bergantian ditampilan seven segmen. Kalau kurang dari 3 switch, maka tidak ada yang keluar dari seven segmen.
 
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 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
};
byte digitlei[3][7] = {
 {0, 0, 0, 1, 1, 1, 0}, // L
 {1, 0, 0, 1, 1, 1, 1}, // E
 {0, 0, 0, 0, 1, 1, 0}, // I
};
byte digitclear[1][7] ={
  {1,1,1,1,1,1,1},
};
void setup() {
 for (int i = 0; i < 7; i++) {
 pinMode(segments[i], OUTPUT);
 }
 pinMode(dp, 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 clear(){
  for (int i = 0; i < 7; i++) {
  digitalWrite(segments[i], digitclear[0][i]);
  }
}
void loop() {
 int sw1 = digitalRead(Dsw1);
 int sw2 = digitalRead(Dsw2);
 int sw3 = digitalRead(Dsw3);
 int sw4 = digitalRead(Dsw4);
 int x=sw1+sw2+sw3+sw4;
 if (x==3){
  number(3);
  delay(1000);
  number(2);
  delay(1000);
  number(1);
  delay(1000);
  for (int i = 0; i < 7; i++) {
  digitalWrite(segments[i], digitlei[0][i]);
  } delay (1000);
  for (int i = 0; i < 7; i++) {
  digitalWrite(segments[i], digitlei[1][i]);
  } delay (1000);
  for (int i = 0; i < 7; i++) {
  digitalWrite(segments[i], digitlei[2][i]);
  } delay (1000);
 }
 else{

 }
}

5. Kondisi [Kembali]

Percobaan 3 Kondisi 6

Ketika 3 switch aktif 7-Segment menampilkan kombinasi L,E,I setelah hitung mundur dari 3


6. Video Simulasi [Kembali]






7. Download File [Kembali]

HTML klik disini
File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Button klik disini

Tugas Pendahuluan 1




Tugas Pendahuluan 1 Modul 2
(Percobaan 1 Kondisi 7)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino



2. DipSwitch








3. Resistor





4. LCD


5. Motor DC




6. LDR





7. L293D







Diagram Blok:





3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :







Prinsip Kerja :

    Dapat dilihat dari rangkaian diatas, nilai yang mempengaruhi adalah LDR dan Dipswictch, jadi ketika 2 diptswitch aktif yaitu pin 1 dan 2 dan nilai LDR <200, maka akan muncul tulisan di LCD yaitu "LDR Value= "dan putaran motor kearah kanan. Dan ketika 4 diptswitch aktif yaitu pin 1,2, dan 4 dan nilai LDR >600, maka akan muncul tulisan di LCD yaitu "LDR Value= "dan putaran motor kearah kiri.
 
4. Flowchart dan Listing Program [Kembali]

Flowchart :







Listing Program :

#include <LiquidCrystal.h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
int sw1 = 2;
int sw2 = 3;
int sw3 = 4;
int sw4 = 5;
int front = A1;
int back = A2;
void setup() {
 // put your setup code here, to run once:
lcd.begin(16,2);
pinMode(sw1,INPUT);
pinMode(sw2,INPUT);
pinMode(sw3,INPUT);
pinMode(sw4,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 s2 = digitalRead(sw2);
int s3 = digitalRead(sw3);
int s4 = digitalRead(sw4);
int ldr = analogRead(A0);
Serial.println(ldr);
if(ldr<200&&s1 == HIGH&&s2==HIGH&&s3==LOW&&s4==LOW){
  digitalWrite(front,HIGH);
  digitalWrite(back,LOW);
  lcd.setCursor(0,0);
  lcd.print("LDR Value : ");
  lcd.setCursor(13,0);
  lcd.print(ldr);
}
else if(ldr> 600 && s1 == HIGH && s2 == HIGH && s3 == HIGH && s4 == HIGH){
  digitalWrite(front,LOW);
  digitalWrite(back,HIGH);
  lcd.setCursor(0,1);
  lcd.print("LDR Value : ");
  lcd.setCursor(13,1);
  lcd.print(ldr);
}
else {
  digitalWrite(front,HIGH);
  digitalWrite(back,HIGH);
  digitalWrite(front,LOW);
  digitalWrite(back,LOW);
  lcd.clear();
}
}


5. Kondisi [Kembali]

Percobaan 1 Kondisi 7
    Ketika ADC < 200 dan 2 switch aktif, motor berputar ke kanan dan muncul karakter pada kolom 1 LCD,  Ketika ADC > 600 dan semua switch aktif, motor berputar ke kiri dan muncul karakter pada kolom 2 LCD

6. Video Simulasi [Kembali]






7. Download File [Kembali]

HTML klik disini
File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Button klik disini

Laporan Akhir 2




Laporan Akhir 2 Modul 1
(Percobaan 4 Kondisi 1)

1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1. Arduino



2. Keypad







3. LED




4. LCD





5. LCD





Diagram Blok:





3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :




Prinsip Kerja :

    Dapat dilihat pada gambar diatas, bahwa keypad berperan sebagai inputan dan output dari rangkaian ini adalah LED dan nilai yang ditekan atau diinputkan pada keypad akan ditampilkan dalam LCD. Hal ini tentu melibatkan kombinasi kerja antara Keypad, LED, dan LCD. Pada percobaan, jika kita menekan angka 1, maka akan keluar tulisan pada layar LCD yaitu 'Tombol 1' dan LED 1 akan hidup. Jika kita menekan angka 2 maka tulisan yang keluar pada keypad adalah 'Tombol 2' dan LED 2 akan hidup. Beitu juga seterusnya. Namun, dikarenakan LED hanya ada 4, jadi jika angka yang ditekan adalah angka >4 maka tidak akan ada kombinasi yang ditandai dengan hidupnya LED. hanya saja, tulisan pada LCD tetap ditampilkan berdasarkan tombol yang ditekan.
 
4. Flowchart dan Listing Program [Kembali]

Flowchart :




Listing Program :

#include <Keypad.h>
#include <LiquidCrystal.h>

// Constants for row and column sizes
const byte ROWS = 4;
const byte COLS = 4;
int LED1 = 13;
int LED2 = 12;
int LED3 = 11;
int LED4 = 10;

// Define LCD pins
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

// Array to represent keys on keypad
char hexaKeys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

// Connections to Arduino
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

// Create keypad object
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

void setup() {
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(LED3,OUTPUT);
  pinMode(LED4,OUTPUT);
  // Setup serial monitor
  Serial.begin(9600);
  // Initialize LCD
  lcd.begin(16, 2);
}

void loop() {
  // Get key value if pressed
  char customKey = customKeypad.getKey();
 
  if (customKey) {
    // Print key value to serial monitor
    lcd.setCursor(0, 0);
    lcd.print("Tombol :");
    lcd.print(customKey);
    switch(customKey) {
      case '1':
        digitalWrite(LED1, LOW);
        digitalWrite(LED2, LOW);
        digitalWrite(LED3, LOW);
        digitalWrite(LED4, HIGH);
        delay(1000);
        break;
      case '2':
        digitalWrite(LED1, LOW);
        digitalWrite(LED2, LOW);
        digitalWrite(LED3, HIGH);
        digitalWrite(LED4, LOW);
        delay(1000);
        break;
      case '3':
        digitalWrite(LED1, LOW);
        digitalWrite(LED2, HIGH);
        digitalWrite(LED3, LOW);
        digitalWrite(LED4, LOW);
        delay(1000);
        break;
      case '4':
        digitalWrite(LED1, HIGH);
        digitalWrite(LED2, LOW);
        digitalWrite(LED3, LOW);
        digitalWrite(LED4, LOW);
        delay(1000);
      case '5':
        digitalWrite(LED1, LOW);
        digitalWrite(LED2, LOW);
        digitalWrite(LED3, LOW);
        digitalWrite(LED4, LOW);
        delay(1000);
      case '6':
        digitalWrite(LED1, LOW);
        digitalWrite(LED2, LOW);
        digitalWrite(LED3, LOW);
        digitalWrite(LED4, LOW);
        delay(1000);
      case '7':
        digitalWrite(LED1, LOW);
        digitalWrite(LED2, LOW);
        digitalWrite(LED3, LOW);
        digitalWrite(LED4, LOW);
        delay(1000);
      case '9':
        digitalWrite(LED1, LOW);
        digitalWrite(LED2, LOW);
        digitalWrite(LED3, LOW);
        digitalWrite(LED4, LOW);
        delay(1000);
        break;
      default:
        break;
    }
  }
}

5. Kondisi [Kembali]

Percobaan 4 Kondisi 1

Sertakan dengan 4 LED dan tiap tombol keypad menghasilkan kombinasi LED serta keterangan kombinasi pada LCD

6. Video Demo [Kembali]




7. Download File [Kembali]

HTML klik disini
File Rangkaian klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Button klik disini

Modul 4

[KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percob...