This library provides an API to control dimmer devices using the ESP32IDF. It supports both toggle and normal modes, and allows you to set the power levels of the dimmer.
- ESP32 board with ESP-IDF v4.1 or higher
- A dimmable AC load
Clone the project from the repository and add the library to your project.
- Include the library header in your program
#include "esp32idfDimmer.h"
- Instantiate the dimmers.
dimmertyp *ptr_dimmer;
dimmertyp *ptr_dimmer_2;
ptr_dimmer = createDimmer(TRIAC_1_GPIO, ZEROCROSS_GPIO);
ptr_dimmer_2 = createDimmer(TRIAC_2_GPIO, ZEROCROSS_GPIO);
- Start the dimmers.
begin(ptr_dimmer, NORMAL_MODE, ON, _50Hz);
begin(ptr_dimmer_2, NORMAL_MODE, ON, _50Hz);
- Set or get the power of the dimmers.
// Set the power level to 50
setPower(ptr_dimmer, 50);
// Get the current power level
int powerLevel = getPower(ptr_dimmer);
The library provides the following API methods:
createDimmer
- creates a new dimmer objectbegin
- starts the dimmersetPower
- sets the power level of the dimmergetPower
- gets the current power level of the dimmersetState
- sets the state of the dimmer (on/off)getState
- gets the current state of the dimmerchangeState
- changes the state of the dimmer (on/off)setMode
- sets the mode of the dimmer (toggle/normal)getMode
- gets the current mode of the dimmertoggleSettings
- sets the toggle range of the dimmer
We welcome contributions to this library. Please open a pull request or an issue to get started.
This library is released under the MIT License.