ESP32_New_ISR_Servo Library

khoih-prog
Posts: 53
Joined: Sat Feb 22, 2020 8:16 pm

ESP32_New_ISR_Servo Library

Postby khoih-prog » Mon Aug 16, 2021 1:03 am

ESP32_New_ISR_Servo Library
How To Install Using Arduino Library Manager

This library enables you to use 1 Hardware Timer on an ESP32, ESP32_S2, ESP32_C3-based board to control up to 16 independent servo motors.

Currently Supported Boards

- ESP32 boards, such as ESP32_DEV, etc.
- ESP32S2-based boards, such as ESP32S2_DEV, ESP32_S2 Saola, etc.
- ESP32C3-based boards, such as ESP32C3_DEV, etc.

Initial Release v1.0.0

1. Basic 16 ISR-based servo controllers using 1 hardware timer for ESP32, ESP32_S2, ESP32_C3-based board.
2. Tested with Tested with ESP32 core v2.0.0-rc1+


Examples:

1. ESP32_New_ISR_MultiServos
2. ESP32_New_MultipleRandomServos
3. ESP32_New_MultipleServos
4. ISR_MultiServos
5. MultipleRandomServos
6. MultipleServos


Example ESP32_New_ISR_MultiServos on ESP32S2_DEV

The following is the sample terminal output when running example ESP32_New_ISR_MultiServos to demonstrate how to control multiple Servos using 1 hardware timer.

Code: Select all

Starting ESP32_New_ISR_MultiServos on ESP32S2_DEV
ESP32_New_ISR_Servo v1.0.0
[ISR_SERVO] ESP32_S2_TimerInterrupt: _timerNo = 3 , _fre = 1000000
[ISR_SERVO] TIMER_BASE_CLK = 80000000 , TIMER_DIVIDER = 80
[ISR_SERVO] _timerIndex = 1 , _timerGroup = 1
[ISR_SERVO] _count = 0 - 10
[ISR_SERVO] timer_set_alarm_value = 10.00
[ISR_SERVO] Starting  ITimer OK
Setup Servo1 OK
Setup Servo2 OK
Servo1 pos = 0, Servo2 pos = 180
Servo1 pos = 30, Servo2 pos = 150
Servo1 pos = 60, Servo2 pos = 120
Servo1 pos = 90, Servo2 pos = 90
Servo1 pos = 120, Servo2 pos = 60
Servo1 pos = 150, Servo2 pos = 30
Servo1 pos = 180, Servo2 pos = 0

Who is online

Users browsing this forum: No registered users and 24 guests