docs: documentation

This commit is contained in:
Pietro Marchini
2022-12-07 22:26:18 +01:00
parent 396dbd6d62
commit 9450ada948

View File

@@ -1,5 +1,55 @@
# Esp32Dimmer # ESP32IDFDimmer
Esp32-idf zerocrossing TRIAC dimmer library
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
1. Include the library header in your program
```
#include "esp32idfDimmer.h"
```
2. 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);
```
3. Start the dimmers.
```
begin(ptr_dimmer, NORMAL_MODE, ON, _50Hz);
begin(ptr_dimmer_2, NORMAL_MODE, ON, _50Hz);
```
4. 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 object
* `begin` - starts the dimmer
* `setPower` - sets the power level of the dimmer
* `getPower` - gets the current power level of the dimmer
* `setState` - sets the state of the dimmer (on/off)
* `getState` - gets the current state of the dimmer
* `changeState` - changes the state of the dimmer (on/off)
* `setMode` - sets the mode of the dimmer (toggle/normal)
* `getMode` - gets the current mode of the dimmer
* `toggleSettings` - sets the toggle range of the dimmer
## Example schematics ## Example schematics
@@ -11,3 +61,10 @@ Esp32-idf zerocrossing TRIAC dimmer library
![image](https://user-images.githubusercontent.com/49943249/194775053-0badd3f8-0c23-4a86-8843-abe2f994f5b3.png) ![image](https://user-images.githubusercontent.com/49943249/194775053-0badd3f8-0c23-4a86-8843-abe2f994f5b3.png)
## 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.