CARA PEMBUATAN:
RANGKAILAH RANGKAIAN SESUAI DENGAN GAMBAR
START
TIDAK
PERINTAH
IYA
IYA
LANJUT
TIDAK A
TIDAK
STOP
IYA
A END
DIAGRAM BLOK
SENSOR
ULTRASONIC
HP / ANDROID
ARDUINO
BLUETOOTH
MODULE
KODE PROGRAM :
#include <SoftwareSerial.h>
#include "dht.h"
//#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define echopin A0 // echo pin
#define trigpin A1 // Trigger pin
int state;
int Speed = 130;
int temp;
int hum;
int timer = 0;
int distanceFwd;
long duration;
int chk = 0;
int set = 35;
void setup() {
pinMode (trigpin, OUTPUT);
pinMode (echopin, INPUT );
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor1EnablePin, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
pinMode(motor2EnablePin, OUTPUT);
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
BT.begin(9600); // Setting the baud rate of Software Serial Library
delay(500);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("IRI BILANG BOSSS");
}
void loop() {
//if some date is sent, reads it and saves in state
if(BT.available() > 0){
state = BT.read();
Serial.println(state);
if(state > 10){
Speed = state;}
}
distanceFwd = data();
analogWrite(motor1EnablePin, Speed);
analogWrite(motor2EnablePin, Speed);
timer = timer+1;
if(distanceFwd>200){distanceFwd=200;}
if(timer>400){
DHT.read11(dht_pin);
hum = DHT.humidity;
temp = DHT.temperature;
void backword(){
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
}
void forword(){
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
}
void turnLeft(){
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
}
void turnRight(){
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
}
void Stop(){
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, LOW);
}
long data()
{
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
duration=pulseIn (echopin,HIGH);
return duration / 29 / 2; }