Tuesday, March 8, 2016

Servo Lab

Servo motor controlled by pulse width modulation from an Arduino




  1. Why do we add a delay after rotating the servo?
    • Since we can't output an analog signal and digital signals are either High or Low the delay in digital output can mimic variable analog output -- Pulse width modulation. It allows us to adjust the servo's speed.
  2. What is the pulse width that corresponds with a 45 rotation?
    • According to Arduino their servos run on a pulse width range of about 1ms - 2ms while around 1.5ms would bring the servo to 90˚, so to bring the servo to 45˚ a pulse width of around 1.75ms would be needed
  3. Why doesn't the Arduino reliably turn a servo motor at the same time as it plays a sound from a piezo speaker using the tone() function?
    • Because it uses pulse width modulation for both and the Arduino doesn't have the capability to send pulse width to two separate components.


Servo motor controlled by potentiometer with Arduino



Servo motor controlled by a pushbutton momentary switch




My Code:







No comments:

Post a Comment