65 lines
1.4 KiB
Markdown
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();
|
|
}
|
|
```
|