The Adafruit IO team just released an update for Adafruit IO and the No-Code IoT Firmware, WipperSnapper. This update brings the ability to control the position of a servo motor from Adafruit IO, without writing a line of code. Servos may be used in any IoT projects where you need to physically display a value or to open a door/window/lock.
Combine Adafruit IO Actions with Servos for Rule-based IoT Projects
We also enabled control of a servo motor from an Adafruit IO Action. For example, the Action below tells a servo to write a pulse width of 2500uS if the temperature sensor (also connected to a WipperSnapper device) is greater than 70 degrees Celsius. The servo could be attached to a door, and open it if the temperature is too high.
How we implemented servos in Adafruit IO
The Adafruit Shop stocks many different types of servos that can rotate 180 degrees (90 degrees in each direction). While most (standard, non-continuous) servo motors generally adhere to “default” servo pulse widths provided by the Arduino library (1ms to 2ms), it’s possible that the defaults may not give you a full 180 degrees of motion. Instead of setting the angle of the servo, Adafruit IO’s servo support includes a “Generic Servo Component” that lets you set the minimum and maximum pulse width for your servo, in uS. Further - if your servo uses a non-standard frequency (anything other than 50Hz), it can be changed from here.
As always, if you have any suggestions or bugs to report about these new features, please let us know in the forums.