Anda di halaman 1dari 7

Nama : ARBI INDRAWAN

Nim : 41416120064
Tugas : Jawaban Forum 7 Robotika
TUGAS FORUM 7

1. Berikut ini merupakan komponen-komponen yang digunakan.

2. Gambar Skema Rangkaian


3. Proses Pengujian Rangkaian dan Program

4. Source Code Arduino


//ARBI INDRAWAN 41416120064
//TUGAS FORUM 7

#include <Servo.h>
#define Pot_Pin A0 //Potensiometer
#define Mod_Pin 2 //DIP Switch DPST

Servo Servo1; //Micro Servo 1 warna Biru


Servo Servo2; // Micro Servo 2 Warna Hitam
int Pot, Mode;
void setup ()
{
pinMode(Pot_Pin, INPUT); //Pin Mode Potensiometer
pinMode(Mod_Pin, INPUT); //Pin Mode DIP Switch DPST
Servo1.attach(9); //sinyal input Servo 1 pin 9
Servo2.attach(10); // sinyal input servo 2 pin 10
}

void loop ()
{
Pot = analogRead(Pot_Pin);
Pot = map(Pot,0,1023,0,180);

Mode = digitalRead(Mod_Pin);

if (Mode == HIGH)//kondisi pertama pada saat posisi DIP Switch DPST HIGH
{
if(Pot >0 && Pot <=90)//servo 1 aktif jika potensiometer bernilai antara 0 sampai 90
{
Servo1.write(Pot);
delay(10);
}
else if(Pot>90 && Pot<=180)//servo 2 aktif jika potensiometer bernilai antara 91 sampai 180
{
Servo2.write(Pot);
delay(10);
}

}
else if(Mode == LOW)//kondisi kedua pada saat posisi DIP Switch DPST LOW Servo1 dan Servo 2
akan mereset
{
Servo1.write(0);
Servo2.write(0);
delay(10);
}

}
Nama : ARBI INDRAWAN
Nim : 41416120064
Tugas : Jawaban Forum 7 Robotika
TUGAS FORUM 7 Modifikasi

1. Berikut ini merupakan komponen-komponen yang digunakan.

2. Gambar Skema Rangkaian


3. Proses Pengujian Rangkaian dan Program

4. Source Code Arduino


//ARBI INDRAWAN 41416120064
//TUGAS FORUM 7

#include <Servo.h>
#define Pot_Pin A0 //Potensiometer
#define Mod1_Pin 2 //DIP Switch DPST 1
#define Mod2_Pin 4 //DIP Switch DPST 2
#define Mod3_Pin 7 //DIP Switch DPST 3
#define Mod4_Pin 8 //DIP Switch DPST 4

Servo Servo1, Servo2, Servo3, Servo4;

int Pot;
bool Mode1, Mode2, Mode3, Mode4;
void setup ()
{
pinMode(Pot_Pin, INPUT); //Pin Mode Sinyal Input Potensiometer pin A0
Servo1.attach(9);//sinyal input Servo 1 pin 9
Servo2.attach(10);//sinyal input Servo 1 pin 10
Servo3.attach(11);//sinyal input Servo 1 pin 11
Servo4.attach(6);//sinyal input Servo 1 pin 6

pinMode(Mod1_Pin, INPUT); //Pin Mode DIP Switch DPST 1


pinMode(Mod2_Pin, INPUT); //Pin Mode DIP Switch DPST 2
pinMode(Mod3_Pin, INPUT); //Pin Mode DIP Switch DPST 3
pinMode(Mod4_Pin, INPUT); //Pin Mode DIP Switch DPST 4

}
void loop ()
{
Pot = analogRead(Pot_Pin);
Pot = map(Pot,0,1023,0,180);

Mode1 = digitalRead(Mod1_Pin); // mode 1 DIP Switch DPST 1


Mode2 = digitalRead(Mod2_Pin); // mode 1 DIP Switch DPST 2
Mode3 = digitalRead(Mod3_Pin); // mode 1 DIP Switch DPST 3
Mode4 = digitalRead(Mod4_Pin); // mode 1 DIP Switch DPST 4

if ((Mode1 == HIGH) && ((Mode2 || Mode3 || Mode4)== HIGH)) //jika mode 1 HIGH dan Mode
2,3,4 juga HIGH maka Servo 1 aktif
{
if(Pot>0 && Pot<=90)//servo 1 aktif jika potensiometer bernilai antara 0 sampai 90
{
Servo1.write(Pot);
delay(10);
}
}
else if ((Mode2 == HIGH) && (Mode1 == LOW) && ((Mode3 || Mode4)== HIGH)) //jika mode 2
HIGH, Mode 1 LOW, Mode3 & Mode4 HIGH maka Servo 2 aktif
{
if(Pot>45 && Pot<=135)//servo 2 aktif jika potensiometer bernilai antara 45 sampai 135
{
Servo2.write(Pot);
delay(10);
}
}
else if ((Mode3 == HIGH) && ((Mode1 || Mode2) == LOW) && (Mode4 == HIGH))//jika mode 3
HIGH, Mode 1 LOW, Mode2 LOW & Mode4 HIGH maka Servo 3 aktif
{
if(Pot>90 && Pot<=180)//servo 3 aktif jika potensiometer bernilai antara 90 sampai 180
{
Servo3.write(Pot);
delay(10);
}
}
else if ((Mode4 == HIGH) && ((Mode1 || Mode2 || Mode3)== LOW))//jika mode 4 HIGH, Mode 1
LOW, Mode2 LOW & Mode3 LOW maka Servo 3 aktif
{
if(Pot>90 && Pot<=180)//servo 2 aktif jika potensiometer bernilai antara 90 sampai 180
{
Servo4.write(Pot);
delay(10);
}
}
else if((Mode1 || Mode2 || Mode3 || Mode4) == LOW)//jika Mode 1, Mode2, Mode3, Mode4
LOW maka Servo1 sampai servo 4 akan RESET
{
Servo1.write(0);
Servo2.write(0);
Servo3.write(0);
Servo4.write(0);
delay(10);
}

Anda mungkin juga menyukai