0% menganggap dokumen ini bermanfaat (0 suara)
8 tayangan6 halaman

Alat

Diunggah oleh

kataanimation
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)
8 tayangan6 halaman

Alat

Diunggah oleh

kataanimation
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/ 6

Alat

 Laptop
 Kabel USB
 Flashdisk

Coding

1. Buka web browser ketik Arduino lalu unduh software nya.


2. Pasangkan flashdisk yang sudah berisikan file aplikasi coding Arduino, Lalu software
tersebut install di perangkat.
3. Buka aplikasi arduino Yang telah diunduh.
4. Masukan library dengan cara ; klik sketch lalu klik include library dan klik Add.Zip
Library , lalu cari lokasi dimana kamu menaruh file Master Arduino tadi.
5. Pada file Master Arduino tadi, klik Adafruit-Motor-Shield-library master, Arduino-
NewPing-master, LiquidCrystal_I2C-1.12, masukkan file tersebut satu per satu
dengan meng klik tombol open.
6. Lalu masukkan codingnya di aplikasi Arduino. Codingnya seperti yang dibawah ini:
#include <AFMotor.h>
#include <Servo.h>

// DC motor M1 dan M2

AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
// DC servo1
Servo servo1;

void setup() {
// nyalakan servo servo1 pin10, servo2 pin9
servo1.attach(10);

// nyalakan motor dengan PWM dibawah

motor1.setSpeed(200);//beda motor bisa beda kecepatan walau pabrikan sama


motor2.setSpeed(200);
motor3.setSpeed(200);
motor4.setSpeed(200);
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}

// Test the DC motor, stepper and servo ALL AT ONCE!


void loop() {
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
servo1.write(180);
delay(3000);

motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
servo1.write(0);
delay(3000);
}

#include <AFMotor.h>
#include <NewPing.h>
#include <Servo.h>

#define TRIG_PIN A3
#define ECHO_PIN A2
#define MAX_DISTANCE 200
#define MAX_SPEED 190 // sets speed of DC motors
#define MAX_SPEED_OFFSET 20

NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1(1, MOTOR12_1KHZ);


AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);
Servo myservo;

boolean goesForward=false;
int distance = 100;
int speedSet = 0;

void setup() {

myservo.attach(10);
myservo.write(115);
delay(2000);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
distance = readPing();
delay(100);
}

void loop() {
int distanceR = 0;
int distanceL = 0;
delay(40);

if(distance<=20)
{
moveStop();
delay(100);
moveBackward();
delay(300);
moveStop();
delay(200);
distanceR = lookRight();
delay(200);
distanceL = lookLeft();
delay(200);

if(distanceR>=distanceL)

{
turnRight();
moveStop();
}else
{
turnLeft();
moveStop();
}
}else
{
moveForward();
}
distance = readPing();
}

int lookRight()
{
myservo.write(50);
delay(500);
int distance = readPing();
delay(100);
myservo.write(115);
return distance;
}

int lookLeft()
{
myservo.write(170);
delay(500);
int distance = readPing();
delay(100);
myservo.write(115);
return distance;
delay(100);
}

int readPing() {
delay(70);
int cm = sonar.ping_cm();
if(cm==0)
{
cm = 250;
}
return cm;
}

void moveStop() {
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}

void moveForward() {

if(!goesForward)
{
goesForward=true;
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring the
speed up to avoid loading down the batteries too quickly
{
motor1.setSpeed(speedSet);
motor2.setSpeed(speedSet);
motor3.setSpeed(speedSet);
motor4.setSpeed(speedSet);
delay(5);
}
}
}

void moveBackward() {
goesForward=false;
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring the
speed up to avoid loading down the batteries too quickly
{
motor1.setSpeed(speedSet);
motor2.setSpeed(speedSet);
motor3.setSpeed(speedSet);
motor4.setSpeed(speedSet);
delay(5);
}
}

void turnRight() {
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);
delay(500);
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
}

void turnLeft() {
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
delay(500);
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
}

7. Setelah coding dimasukkan periksa apakah ada kesalahan dalam melakukan coding,
jika sudah benar klik tanda panah (upload) dan gambar centang(verify) pada aplikasi
Arduino.
8. Jika sudah klik save untuk menyimpan coding.
9. Cabut jumper pada arduino uno.
10. Colokkan kabel USB ke arduino uno pada robot , lalu pada aplikasi arduino klik
upload.
11. Jika proses upload sudah berhasil, cabut kabel USB
12. Pasang jumper, lalu pastikan bahwa baterai pada robot memiliki daya yang cukup
untuk menjalankan robot.
13. Jika sudah, lakukan uji coba pada robot di tempat yg luas, pastikan sensor pada robot
berfungsi dengan baik.
14. Jika terjadi kesalahan pada robot, lakukan pengecekan ulang pada coding yang telah
dibuat di aplikasi Arduino tadi.
15. Kalau sudah,robotpengisap debu sederhana berhasil dibuat.

Anda mungkin juga menyukai