mirror of
https://github.com/pmarchini/Esp32Dimmer.git
synced 2025-10-30 10:54:02 +03:00
d358dcdbdad2dff975b431ce8ef67de071d753a5
ESP32IDFDimmer
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.
Prerequisites
- ESP32 board with ESP-IDF v4.1 or higher
- A dimmable AC load
Installation
Clone the project from the repository and add the library to your project.
Usage
- 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);
API
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
Example schematics
Zero-crossing detector
Triac command
Contributing
We welcome contributions to this library. Please open a pull request or an issue to get started.
License
This library is released under the MIT License.
Description
Languages
C
98.7%
CMake
0.9%
Makefile
0.4%

