Estoy tratando de escribir un programa usando BASIC para girar un servo 180 grados hacia atrás y hacia adelante, y usar un potenciómetro para controlar la velocidad a la que gira el servo. Tengo un código, pero cuando lo ejecuto, el servo se asusta y comienza a temblar en un punto, y no sé por qué está haciendo eso o qué lo está causando. ¿Puede alguien explicarme por qué está haciendo eso, qué lo está causando o una forma de solucionarlo?
' What's a Microcontroller - ControlServoWithPotUsingDirectives.bs2
' Read potentiometer in RC-time circuit using RCTIME command.
' Apply scale factor and offset, then send value to servo.
' {$STAMP BS2}
' {$PBASIC 2.5}
counter VAR Word
rcPin PIN 5 ' I/O Pin Definitions
servoPin PIN 14
scaleFactor CON 15 ' Constant Declarations
offset CON 1
delay CON 10
time VAR Word ' Variable Declaration
PAUSE 1000 ' Initialization
DO
' Main Routine
HIGH rcPin ' RC decay measurement
PAUSE 100
RCTIME rcPin, 1, time
'time = time * scaleFactor ' Scale scaleFactor.
'time = time + offset ' Offset by offset.
'PULSOUT servoPin, time ' Send pulse to servo.
'DEBUG HOME, DEC5 time ' Display adjusted time value.
FOR counter = 300 TO 1100 STEP time
PULSOUT servoPin, counter
PAUSE 7
DEBUG DEC5 counter, CR
DEBUG DEC5 time, CR
NEXT
PAUSE 10
FOR counter = 1100 TO 300 STEP time
PULSOUT servoPin, counter
PAUSE 7
DEBUG DEC5 counter, CR
DEBUG DEC5 time, CR
NEXT
LOOP