Generate RC servo signal on a selected pins with ESP32 device and Arduino framework.
Base on servo library for stm32f4 (d2a4a47).
The interface is similar to Arduino/Servo: https://www.arduino.cc/en/Reference/Servo
But the function attach()
is different:
bool attach( int pin, int channel = CHANNEL_NOT_ATTACHED, int minAngle = DEFAULT_MIN_ANGLE, int maxAngle = DEFAULT_MAX_ANGLE, int minPulseWidthUs = DEFAULT_MIN_PULSE_WIDTH_US, int maxPulseWidthUs = DEFAULT_MAX_PULSE_WIDTH_US, int frequency = DEFAULT_FREQUENCY );
More information in source code documentation.
Example: 04-SimpleServoAngles
There are also a ServoFloat and ServoDouble variant available. Use one of these when working in radians.
Example: : 05-SimpleServoRadians
According testings, the frequency for ESP32 S2/S3/C3 has to be set at least to 200 Hz. Here is an example, how to set just frequency:
Servo servo1; const int servoPin = 4; const int frequency = 200; // Hz servo1.attach( servoPin, Servo::CHANNEL_NOT_ATTACHED, Servo::DEFAULT_MIN_ANGLE, Servo::DEFAULT_MAX_ANGLE, Servo::DEFAULT_MIN_PULSE_WIDTH_US, Servo::DEFAULT_MAX_PULSE_WIDTH_US, frequency );
For more information look at the PR25
This library is also available at the PlatformIO as ServoESP32.
This library is available in Arduino IDE Library Manager as ServoESP32
.
There was an issue with building this library in Arduino IDE 1.8.10. But this issue should be fixed in Arduino IDE 1.8.11.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4