Files
zh_avr_ac_dimmer/README.md
2025-09-10 20:15:50 +03:00

65 lines
1.4 KiB
Markdown

# AVR library for AC dimmer
## Features
1. Support of 50, 60 and 400 Hz power frequency.
## Dependencies
1. [zh_avr_common](http://git.zh.com.ru/avr_libraries/zh_avr_common)
## Using
In an existing project, run the following command to install the components:
```text
cd ../your_project/lib
git clone http://git.zh.com.ru/avr_libraries/zh_avr_common
git clone http://git.zh.com.ru/avr_libraries/zh_avr_ac_dimmer
```
In the application, add the component:
```c
#include "zh_avr_ac_dimmer.h"
```
## Examples
```c
#include "zh_avr_ac_dimmer.h"
int main(void)
{
zh_avr_ac_dimmer_init_config_t ac_dimmer_init_config = ZH_AVR_AC_DIMMER_INIT_CONFIG_DEFAULT();
ac_dimmer_init_config.ac_dimmer_frequency = ZH_50HZ;
ac_dimmer_init_config.zero_cross_port = AVR_PORTD;
ac_dimmer_init_config.zero_cross_gpio = PORTD2;
ac_dimmer_init_config.triac_port = AVR_PORTD;
ac_dimmer_init_config.triac_gpio = PORTD3;
zh_avr_ac_dimmer_init(&ac_dimmer_init_config);
zh_avr_ac_dimmer_start();
for (;;)
{
for (uint8_t i = 0; i <= 100; ++i)
{
zh_avr_ac_dimmer_set(i);
_delay_ms(100);
}
for (uint8_t i = 100; i >= 0; --i)
{
zh_avr_ac_dimmer_set(i);
_delay_ms(100);
}
}
return 0;
}
// ISR(PCINT0_vect) // For AVR_PORTB.
// ISR(PCINT1_vect) // For AVR_PORTC.
ISR(PCINT2_vect) // For AVR_PORTD.
{
zh_avr_ac_dimmer_isr_handler();
}
```