You need to enable javaScript to run this app.

08 - KONTROL RODA BELOK KANAN DAN KIRI

  • Sabtu, 09 November 2024
  • Administrator
  • 0 komentar

Jalanya Robot :

  1. Robot berjalan maju selama 1 detik - belok kekanan - maju 1 detik - belok kekanan - maju 1 detik - belok kekiri - mundur 1 detik - belok kiri.
  2. Robot akan mengulang 1 kali lagi.
  3. Robot Berhenti.


KODING :

Untuk memudahkan pemrograman, kita buat koneksi antara sensor & driver motor dengan pin
Arduino seperti dibawah ini (Perhatikan skematik).
const int L1 = 2;
const int L2 = 3;
const int R1 = 4;
const int R2 = 7;
const int L = 5;
const int R = 6;
void setup()
Tentukan pin sebagai output untuk mengontrol putaran motor.
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(R1, OUTPUT);
pinMode(R2, OUTPUT);
pinMode(L, OUTPUT);
pinMode(R, OUTPUT);

Kondisi Awal motor OFF:
analogWrite(L, 0);
analogWrite(R, 0);

Program perulangan 2x, robot akan mengulang proses:
for (char i=0; i<2; i++)

Jalankan Robot maju selama 1 detik:
digitalWrite(L1, HIGH);
digitalWrite(L2, LOW);
digitalWrite(R1, HIGH);
digitalWrite(R2, LOW);
analogWrite(L, 255);
analogWrite(R, 255);
delay(1000);

Robot Belok kanan dengan memutar maju roda kiri (L = 255) sedangkan roda kanan di matikan (R
= 0), sehingga robot berbelok ke kanan selama ½ detik:
analogWrite(L, 255);
analogWrite(R, 0);
delay(500);

Selanjutnya jalankan robot maju:
analogWrite(L, 255);
analogWrite(R, 255);
delay(1000);

Selanjutnya robot belok kanan:
analogWrite(L, 255);
analogWrite(R, 0);
delay(500);

Robot maju selama 1 detik:
analogWrite(L, 255);
analogWrite(R, 255);
delay(1000);

Robot Belok kiri dengan memutar maju roda kanan (R = 255) sedangkan roda kiri di matikan (L =
0), sehingga robot berbelok ke kanan selama ½ detik:
analogWrite(L, 0);
analogWrite(R, 255);
delay(500);

Robot mundur selama 1 detik:
digitalWrite(L1, LOW);
digitalWrite(L2, HIGH);
digitalWrite(R1, LOW);
digitalWrite(R2, HIGH);
analogWrite(L, 255);
analogWrite(R, 255);
delay(1000);

Belok kiri:
analogWrite(L, 255);
analogWrite(R, 0);
delay(500);
Jika belum ada 2x siklus maka robot kembali mengerjakan perintah awal (for).

Robot Stop:
analogWrite(L, 0);
analogWrite(R, 0);
while(1);//PROGRAM LOOPING DISINI


NEXT PRAKTEK 09

Bagikan artikel ini:

Beri Komentar

Jajak Pendapat

PELAJARAN ELEKTRONIKA YANG PALING ANDA SUKAI ADALAH ?

Hasil
Banner