Nim : 41416120064
Tugas : Jawaban Forum 7 Robotika
TUGAS FORUM 7
#include <Servo.h>
#define Pot_Pin A0 //Potensiometer
#define Mod_Pin 2 //DIP Switch DPST
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
#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
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
}
void loop ()
{
Pot = analogRead(Pot_Pin);
Pot = map(Pot,0,1023,0,180);
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);
}