0% menganggap dokumen ini bermanfaat (0 suara)
25 tayangan4 halaman

Robot Avoider

Dokumen ini menjelaskan cara membuat robot penghindar rintangan menggunakan Arduino Uno dan sensor ultrasonik HC-SR04. Terdapat daftar komponen yang dibutuhkan, skema koneksi, serta kode pemrograman untuk mengendalikan motor dan sensor. Robot akan bergerak maju, mundur, atau belok tergantung pada jarak yang terdeteksi dari rintangan.

Diunggah oleh

Adimas Afandi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
25 tayangan4 halaman

Robot Avoider

Dokumen ini menjelaskan cara membuat robot penghindar rintangan menggunakan Arduino Uno dan sensor ultrasonik HC-SR04. Terdapat daftar komponen yang dibutuhkan, skema koneksi, serta kode pemrograman untuk mengendalikan motor dan sensor. Robot akan bergerak maju, mundur, atau belok tergantung pada jarak yang terdeteksi dari rintangan.

Diunggah oleh

Adimas Afandi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 4

ROBOT AVOIDER

Komponen yang Dibutuhkan:

1. Arduino Uno

2. Sensor Ultrasonik HC-SR04

3. Driver motor (L298N atau L293D)

4. 2 Motor DC dengan roda

5. Catu daya untuk motor / Baterai

6. Breadboard dan

7. Kabel jumper

Skema Koneksi:

 Sensor HC-SR04 / HC-SR05:

o VCC → 5V Arduino

o GND → GND Arduino

o Trig → Pin 9

o Echo → Pin 10

 Driver Motor (L298N):

o IN1 → Pin 2 (Motor A)

o IN2 → Pin 3 (Motor A)

o IN3 → Pin 4 (Motor B)

o IN4 → Pin 5 (Motor B)

o VCC dan GND → Catu daya motor

o GND → GND Arduino

// Pin untuk sensor HC-SR04

const int trigPin = 9;

const int echoPin = 10;

// Pin untuk motor

const int motorA1 = 2;


const int motorA2 = 3;

const int motorB1 = 4;

const int motorB2 = 5;

// Variabel untuk menyimpan jarak

long duration;

int distance;

void setup() {

// Inisialisasi pin motor sebagai output

pinMode(motorA1, OUTPUT);

pinMode(motorA2, OUTPUT);

pinMode(motorB1, OUTPUT);

pinMode(motorB2, OUTPUT);

// Inisialisasi pin sensor sebagai input/output

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

// Mulai komunikasi serial

Serial.begin(9600);

void loop() {

// Kirim sinyal trigger

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);
// Hitung waktu pantulan

duration = pulseIn(echoPin, HIGH);

// Hitung jarak (dalam cm)

distance = duration * 0.034 / 2;

// Tampilkan jarak di Serial Monitor

Serial.println(distance);

// Logika penghindar rintangan

if (distance < 20) {

// Jika jarak kurang dari 20 cm, mundur dan belok

stopMotors();

delay(500);

turnRight();

delay(500);

} else {

// Jika tidak ada rintangan, maju

moveForward();

// Fungsi untuk menjalankan motor maju

void moveForward() {

digitalWrite(motorA1, HIGH);

digitalWrite(motorA2, LOW);

digitalWrite(motorB1, HIGH);

digitalWrite(motorB2, LOW);

// Fungsi untuk menghentikan motor


void stopMotors() {

digitalWrite(motorA1, LOW);

digitalWrite(motorA2, LOW);

digitalWrite(motorB1, LOW);

digitalWrite(motorB2, LOW);

// Fungsi untuk membelokkan robot ke kanan

void turnRight() {

digitalWrite(motorA1, HIGH);

digitalWrite(motorA2, LOW);

digitalWrite(motorB1, LOW);

digitalWrite(motorB2, HIGH);

// Fungsi untuk membelokkan robot ke kiri (opsional)

void turnLeft() {

digitalWrite(motorA1, LOW);

digitalWrite(motorA2, HIGH);

digitalWrite(motorB1, HIGH);

digitalWrite(motorB2, LOW);

Anda mungkin juga menyukai