private async void DoWork(object sender, DoWorkEventArgs e)
{
var driver = new TwoMotorsDriver(new Motor(27, 22), new Motor(5, 6));
var ultrasonicDistanceSensor = new UltrasonicDistanceSensor(23, 24);
await WriteLog("Moving forward");
while (!_finish)
{
driver.MoveForward();
await Task.Delay(200);
var distance = await ultrasonicDistanceSensor.GetDistanceInCmAsync(1000);
if (distance > 35.0)
{
continue;
}
await WriteLog($"Obstacle found at {distance} cm or less. Turning right");
await driver.TurnRightAsync();
await WriteLog("Moving forward");
}
}