Perhaps instead of having"
hallState = digitalRead(hallPin);
while (hallState == HIGH) // No Magnet
{
digitalWrite(outPin1, LOW); // Run motor direction 2
digitalWrite(outPin2, HIGH);
analogWrite(enA, 10);
}
break;
".
You might try" hallState = digitalRead(hallPin);
if (hallState == HIGH) // No Magnet
{
digitalWrite(outPin1, LOW); // Run motor direction 2
digitalWrite(outPin2, HIGH);
analogWrite(enA, 10);
}
else
{
digitalWrite(outPin1, LOW); // turn off
digitalWrite(outPin2, LOW);
}
break;
Or something similar.
Paul