List Program :
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int trigPin = A5; // Trigger Pin of Ultrasonic Sensor
const int echoPin = A4; // Echo Pin of Ultrasonic Sensor
const int led1 = 6; // Echo Pin of Ultrasonic Sensor
const int led2 = 7;
const int led3 = 8;
const int led4 = 9;
const int led5 = 10;
const int potensioPin = A0;
int nilaiPotensio = 0;
int sudutPotensio = 0;
int jarakPotensio = 0;
int jarakAnda = 0;
long duration, distance, inches, cm;
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
lcd.begin(16, 2); // inisialisasi lcd
lcd.setCursor(1, 0);// memindahkan kursor ke baris pertama
lcd.print("SELAMAT DATANG"); // menulis "RG TECH" di baris pertama
lcd.setCursor (1, 1);
lcd.print ("SMKN 1 CIKANDE"); // menulis "Belajar Arduino" di baris ke dua
delay(1000);
lcd.clear();
}
void loop()
{
digitalWrite(led1, 0);
digitalWrite(led2, 0);
digitalWrite(led3, 0);
digitalWrite(led4, 0);
digitalWrite(led5, 0);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
nilaiPotensio = analogRead(potensioPin);
sudutPotensio = map(nilaiPotensio, 0, 1023, 0, 180);
jarakPotensio = map(sudutPotensio, 0, 180, 0, 254);
jarakAnda = (cm - jarakPotensio);
lcd.clear();
lcd.setCursor(1, 0);
lcd.print ("JARAK / TINGGI: ");
lcd.setCursor(0, 1);
lcd.print(cm);
lcd.setCursor(8, 1);
lcd.print(jarakAnda);
lcd.setCursor(14, 1);
lcd.print("cm");
if (cm <= 50) {
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 1);
digitalWrite(led5, 1);
}
if (cm <= 100) {
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 1);
digitalWrite(led5, 0);
}
if (cm <= 150) {
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 1);
digitalWrite(led4, 0);
digitalWrite(led5, 0);
}
if (cm <= 200) {
digitalWrite(led1, 1);
digitalWrite(led2, 1);
digitalWrite(led3, 0);
digitalWrite(led4, 0);
digitalWrite(led5, 0);
}
if (cm <= 250) {
digitalWrite(led1, 1);
digitalWrite(led2, 0);
digitalWrite(led3, 0);
digitalWrite(led4, 0);
digitalWrite(led5, 0);
}
delay(100);
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
Comments
Post a Comment