Stap 4: Programmeren Arduino
-Arduino UNO
-Wat draad
Gebruik deze code:
int PinSens_A = A5;
int PinSens_B = A4;
int ValSens_A = 0;
int ValSens_B = 0;
int Ris;
int PinMotorA_1 = 10;
int PinMotorA_2 = 11;
int PinMotorB_1 = 5;
int PinMotorB_2 = 6;
int SpeedMotor_A;
int SpeedMotor_B;
int verschil = 0;
int (int A, int B) RoL
{
if(A > B)
return 1;
if(B > A)
terug 2;
Als (A = B).
keren 0;
}
Volg void (int val, int speedMax)
{
if(val == 2)
{
SpeedMotor_A = speedMax;
SpeedMotor_B = 0;
}
if(Val == 1)
{
SpeedMotor_A = 0;
SpeedMotor_B = speedMax;
}
}
int verplaatsen (int dir)
{
if(dir == 0)
{
analogWrite (PinMotorA_1, SpeedMotor_A);
analogWrite (PinMotorB_1, SpeedMotor_B);
}
if(dir == 1)
{
analogWrite (PinMotorA_2, SpeedMotor_A);
analogWrite (PinMotorB_2, SpeedMotor_B);
}
}
int calcDiff()
{
ValSens_A = analogRead(PinSens_A);
ValSens_B = analogRead(PinSens_B);
if(ValSens_A > ValSens_B)
{
int diff = ValSens_A - ValSens_B;
retourneren van diff;
}
if(ValSens_A < ValSens_B)
{
int diff = ValSens_B - ValSens_A;
retourneren van diff;
}
}
VOID Debug()
{
Serial.Print(RIS);
Serial.Print("");
Serial.Print(ValSens_A);
Serial.Print("");
Serial.Print(ValSens_B);
Serial.println("");
}
VOID Setup
{
Serial.begin(9600);
pinMode (PinMotorA_1, uitvoer);
pinMode (PinMotorA_2, uitvoer);
pinMode (PinMotorB_1, uitvoer);
pinMode (PinMotorB_2, uitvoer);
pinMode (PinSens_A, INPUT);
pinMode (PinSens_B, INPUT);
}
void loop
{
if(difference == 0)
{
verschil = 1;
}
ValSens_A = analogRead(PinSens_A);
ValSens_B = analogRead (PinSens_B) 150; gebruik van een veranderlijk aantal evenwicht van de sensoren
RIS = RoL (ValSens_A, ValSens_B);
Volgen (Ris, 100);
Move(0);
Debug();
};