#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
/*
Forbiddenbit.com
*/
const int IR1 = 6; //Sensor bagian kiri
const int IR2 = 7; //sensor bagian kanan
const int motor1 = 2; //pin motor 1 input 1
const int motor2 = 4;//pin motor 2 input 3
#define PWM_motor1 3// pin motor 1 input 2
#define PWM_motor2 5 // pin motor 2 input 4
int banding = 0; // perbandingan nilai kondisi terhadap logika 1 atau logika 0
void setup() {
pinMode(motor1, OUTPUT); //inisialisasi pin motor bagian 1 input 1 sebagai output
pinMode(motor2, OUTPUT); //inisialisasi pin motor bagian 2 input 3 sebagai output
pinMode(PWM_motor1, OUTPUT);//inisialisasi pin motor bagian 1 input 2 sebagai output
pinMode(PWM_motor2, OUTPUT);//inisialisasi pin motor bagian 2 input 4 sebagai output
pinMode(IR1, INPUT); // inisialisasi sensor kiri sebagai input
pinMode(IR2, INPUT); // inisialisasi sensor kanan sebagai input
lcd.begin(16,2); // inisialisasi ukuran LCD
lcd.setCursor(0,0); // penanda karakter tercetak
lcd.print(" KONDISI MOTOR");
}
void loop() {
int sensor_kiri = digitalRead(IR1); // pembacaan nilai variabel secara digital
int sensor_kanan = digitalRead(IR2);
if ((sensor_kiri != banding) && (sensor_kanan != banding)) //MAJU
{
digitalWrite(motor1, HIGH);
digitalWrite(motor2, HIGH);
digitalWrite(PWM_motor1, LOW);
digitalWrite(PWM_motor2, LOW);
lcd.setCursor(0,1);
lcd.print(" MAJU ");
}
else if ((sensor_kiri == banding) && (sensor_kanan != banding)) //BELOK KANAN
{
digitalWrite(motor1, HIGH);
digitalWrite(motor2, HIGH);
digitalWrite(PWM_motor1, HIGH);
digitalWrite(PWM_motor2, LOW);
lcd.setCursor(0,1);
lcd.print(" BELOK KANAN ");
}
else if ((sensor_kiri != banding) && (sensor_kanan == banding)) //BELOK KIRI
{
digitalWrite(motor1, HIGH);
digitalWrite(motor2, HIGH);
digitalWrite(PWM_motor1, LOW);
digitalWrite(PWM_motor2, HIGH);
lcd.setCursor(0,1);
lcd.print(" BELOK KIRI ");
}
else //DIAM
{
digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);
digitalWrite(PWM_motor1, LOW);
digitalWrite(PWM_motor2, LOW);
lcd.setCursor(0,1);
lcd.print(" BERHENTI ");
}
}