anchor.diff:      Distance = firmata:digital_read(?PING),
       case Distance of
           Value when Value > ?THRESHOLD andalso PrevDistance =< ?THRESHOLD ->
  +            timer:sleep(?CHANGE_SLEEP),
               stop(rotate_left),
               forward();
           Value when Value > ?THRESHOLD andalso PrevDistance > ?THRESHOLD ->
  
positive.code: -define(SLEEP, 10).
  -define(STOP_SLEEP, 30).
  -define(TEST_SLEEP, 3000).
  -define(FWD_SPEED, 255).
  -define(BWD_SPEED, 200).
  -define(ROTATE_SPEED, 200).
  
negative.code:     stop(rotate_right),
      firmata:stop().
  
  emergency_stop(Device) ->
      setup(Device),
      stop(forward),
      firmata:stop().
  
  % Private API
  
  setup(Device) ->
  