PRAKTIKUM 1
Disusun oleh :
void setup()
{
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(button, INPUT_PULLUP);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogReference(DEFAULT);
}
void loop()
{
int potValue = analogRead(A0);
int pwmOutput = map(potValue, 0, 1023, 0, 255);
analogWrite(enA, pwmOutput);
b1old = b1;
b1 = !digitalRead(button);
if(b1 and not not b1old)
{
putarCW = not putarCW;
if(putarCW)
{
digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
}
else
{
digitalWrite(in1,LOW);
digitalWrite(in2,HIGH);
}
}
}
void setup()
{
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(buttonKiri, INPUT_PULLUP);
pinMode(buttonMaju, INPUT_PULLUP);
pinMode(buttonKanan, INPUT_PULLUP);
pinMode(buttonMundur, INPUT_PULLUP);
}
void loop()
{
b1=!digitalRead(buttonKiri);
b2=!digitalRead(buttonMaju);
b3=!digitalRead(buttonKanan);
b4=!digitalRead(buttonMundur);
if(b1) belokKiri();
else if(b2) maju();
else if(b3) belokKanan();
else if(b4) mundur();
else stopp();
counter++;
if(counter==250) counter=0;
analogWrite(enA, pwmOutA);
analogWrite(enB, pwmOutB);
}
void belokKiri()
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
if(pwmOutA<240)
{
if(counter==0)
{
pwmOutA=pwmOutA+1;
pwmOutB=pwmOutA;
}
}
}
void belokKanan()
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
if(pwmOutA<240)
{
if(counter==0)
{
pwmOutA=pwmOutA+1;
pwmOutB=pwmOutA;
}
}
}
void mundur()
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
if(pwmOutA<240)
{
if(counter==0)
{
pwmOutA=pwmOutA+1;
pwmOutB=pwmOutA;
}
}
}
void maju()
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
if(pwmOutA<240)
{
if(counter==0)
{
pwmOutA=pwmOutA+1;
pwmOutB=pwmOutA;
}
}
}
void stopp()
{
pwmOutA=0;
pwmOutB=0;
}