0% found this document useful (0 votes)
34 views3 pages

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)
34 views3 pages

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

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