Tugas Pendahuluan 1
MODUL 2 PERCOBAAN 1 KONDISI 3
Percobaan 1
Sensor LDR dengan LCD
1. Prosedur [back]
- Rangkailah seperti rangkaian berikut
- Buka Arduino IDE dan masukan listing program
- Upload program ke arduino
2. Foto Hardware dan diagram blok [back]
3. Rangkaian Simulasi dan Prinsip Kerja [back]
Gambar 1. Rangkaian Simulasi.
Prinsip Kerja:
Dapat dilihat dari rangkaian diatas, nilai yang mempengaruhi adalah LDR dan Dipswictch, jadi ketika 3 diptswitch aktif yaitu pin 3, 4, 5 dan nilai LDR antara 200 sampai 600, maka akan muncul tulisan di LCD yaitu "Hello World! "dannilai ADC nya serta putaran motor kearah kanan lalu mati.
4. Flowchart dan Listing Program [back]
Flowchart:
- Listing Program:
//Percobaan 1
// include the library code:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
// Deklarasi pin
const int analogPin = A0; // Pin ADC untuk sensor
const int switch1 = 2; // Pin switch 1
const int switch2 = 3; // Pin switch 2
const int switch3 = 4; // Pin switch 3
const int switch4 = 5; // Pin switch 4
const int motor1 = A1; // Pin motor 1
const int motor2 = A2; // Pin motor 2
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 = 8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Deklarasi variabel
int nilaiADC;
bool switchAktif;
char karakter;
void setup() {
// Inisialisasi pin
pinMode(analogPin, INPUT);
pinMode(switch1, INPUT);
pinMode(switch2, INPUT);
pinMode(switch3, INPUT);
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
// Inisialisasi Serial
Serial.begin(9600);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.setCursor(0, 0);
lcd.print("hello, world!");
}
void loop() {
// Baca nilai ADC dari sensor LDR
nilaiADC = analogRead(analogPin);
// Baca status switch
switchAktif = (digitalRead(switch1) == HIGH) && (digitalRead(switch2) == HIGH) && (digitalRead(switch3) == HIGH);
// Kontrol motor
if (switchAktif && (nilaiADC >= 200 && nilaiADC <= 600)) {
// Putar motor ke kanan selama 3 detik
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
delay(3000);
// Matikan motor
digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);
// Tampilkan karakter pada kolom 1 LCD
karakter = 'R';
lcd.setCursor(0, 1);
lcd.print(karakter);
} else {
// Matikan motor
digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);
// Hapus karakter pada kolom 1 LCD
lcd.setCursor(0, 1);
lcd.print(" ");
}
// Tampilkan nilai ADC di baris 2 LCD
lcd.setCursor(0, 2);
lcd.print(nilaiADC);
// Delay
delay(100);
}
5. Video Simulasi [back]
7. Download File [back]
- HTML↠ klik disini
- Rangkaian Simulasi ↠ klik disini
- Video Simulasi ↠ klik disini
- Listing Program ↠ klik disini
Komentar
Posting Komentar