Rabu, 10 Oktober 2018

membuat line follower menggunakan nodemcu



langsung aja saya share dari hasil riset pertama kali membuat line follower yang mudah tanpa ribet.

awal mula riset membikin itu berawal dari saya membeli komponen shield motor nodemcu dan board nodemcu amica. kemudian saya belikan 2 buah roda + gearbox. lalu saya bikin kontrol via blynk sudah sukses,
'lanjjut kontrol via aplikasi hp sudah sukses....

akhirnya penasaran membuat line follower. kemudian saya membeli sensor line follower (sensor infrared).

berikut codingnya:

static const uint8_t pwm_A = 5 ;
static const uint8_t pwm_B = 4;
static const uint8_t dir_A = 0;
static const uint8_t dir_B = 2;
int motor_speed = 550;
int durasi = 10;

void setup() {
  // put your setup code here, to run once:
 pinMode(pwm_A, OUTPUT); // PMW A
 pinMode(pwm_B, OUTPUT); // PMW B
 pinMode(dir_A, OUTPUT); // DIR A
 pinMode(dir_B, OUTPUT); // DIR B
 pinMode (14, INPUT);
 pinMode (12, INPUT);
}

void loop() {
   
 int lsensor = digitalRead(14);
 int rsensor = digitalRead(12);

//MAJU
 if((lsensor == LOW)&&(rsensor == LOW)){
  analogWrite(pwm_A, motor_speed);
  analogWrite(pwm_B, motor_speed);
  digitalWrite(dir_A, LOW);
  digitalWrite(dir_B, LOW);
 }
 //BELOK KANAN
 else if((lsensor == LOW)&&(rsensor == HIGH)){
  analogWrite(pwm_A, motor_speed);
  analogWrite(pwm_B, motor_speed);
  digitalWrite(dir_A, HIGH);
  digitalWrite(dir_B, LOW);
  delay(durasi);
 }
 //BELOK KIRI
 else if((lsensor == HIGH)&&(rsensor == LOW)){
  analogWrite(pwm_A, motor_speed);
  analogWrite(pwm_B, motor_speed);
  digitalWrite(dir_A, LOW);
  digitalWrite(dir_B, HIGH);
  delay(durasi);
 }
 //STOP
 else if((lsensor == HIGH)&&(rsensor == HIGH)){
   analogWrite(pwm_A, 0);
   analogWrite(pwm_B, 0);
 }
}




Tidak ada komentar:

Posting Komentar

Uji sensor ultrasonic waterproof A01NYUB dengan ESP32

  apa itu sensor ultrasonic ?? Sensor jarak ultrasonik menentukan jarak ke target dengan mengukur selang waktu antara pengiriman dan penerim...