0% found this document useful (0 votes)
15 views

Fix Coding

The document contains code for controlling a robotic arm using Arduino. It defines pin connections for motors and sensors, and functions for moving the arm forward, turning left/right, picking up and placing objects, and stopping. The arm's movement is controlled based on sensor readings of black/white lines to determine its position.

Uploaded by

Bagus Aryowibowo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Fix Coding

The document contains code for controlling a robotic arm using Arduino. It defines pin connections for motors and sensors, and functions for moving the arm forward, turning left/right, picking up and placing objects, and stopping. The arm's movement is controlled based on sensor readings of black/white lines to determine its position.

Uploaded by

Bagus Aryowibowo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

// HITAM = HIGH

// PUTIH = LOW

#include <Servo.h>
Servo myservo;

int M_A1 = 2; //motor a = + maju


int M_A2 = 3; //motor a = - mundur
int M_B1 = 4; //motor b = - mundur
int M_B2 = 5; //motor b = + maju

int R_S = A0; //KANAN


int S_S = A1; //TENGAH
int L_S = A3; //KIRI

void setup()
{
myservo.attach(8);
pinMode(M_B1, OUTPUT);
pinMode(M_B2, OUTPUT);
pinMode(M_A1, OUTPUT);
pinMode(M_A2, OUTPUT);

pinMode(L_S, INPUT);
pinMode(S_S, INPUT);
pinMode(R_S, INPUT);
}

void forword(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
LOW)){// hitam ditengah
digitalWrite(M_A1, LOW);
analogWrite(M_A2, 100);
analogWrite(M_B1, 100);
digitalWrite(M_B2, LOW);
}
}
void kanan(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == LOW)&&(digitalRead(R_S) ==
HIGH)){// hitam ditengah
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
}
void kanap(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
HIGH)){// hitam ditengah
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
}
void kiri(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == LOW)&&(digitalRead(R_S) ==
LOW)){ // hitam ditengah
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, HIGH);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, HIGH);
}
}
void kirip(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
LOW)){ // hitam ditengah
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, HIGH);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, HIGH);
}
}

void putarbalik(){
if ((digitalRead(L_S) == LOW)&&(digitalRead(S_S) == LOW)&&(digitalRead(R_S) ==
LOW)){
digitalWrite(M_A1, HIGH);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, HIGH);
digitalWrite(M_B2, LOW);
}
}
void ambilbarang(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
HIGH)){
berhenti();
delay(1000);
majudikit();
delay(100);
}
}

void taruhbarang(){
if ((digitalRead(L_S) == HIGH)&&(digitalRead(S_S) == HIGH)&&(digitalRead(R_S) ==
HIGH)){
berhentii();
delay(1000);
majudikitt();
delay(100);
}
}

void berhenti(){
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, LOW);
myservo.write(-180);
delay(2000);
}

void majudikit(){
digitalWrite(M_A1, LOW);
analogWrite(M_A2, 150);
analogWrite(M_B1, 150);
digitalWrite(M_B2, LOW);
}

void berhentii(){
digitalWrite(M_A1, LOW);
digitalWrite(M_A2, LOW);
digitalWrite(M_B1, LOW);
digitalWrite(M_B2, LOW);
myservo.write(180);
delay(1000);
}

void majudikitt(){
digitalWrite(M_A1, LOW);
analogWrite(M_A2, 150);
analogWrite(M_B1, 150);
digitalWrite(M_B2, LOW);
}

void loop(){
forword();
kiri();
kirip();
kanan();
kanap();
putarbalik();
ambilbarang();
taruhbarang();
}

You might also like