Files
zh_avr_ac_dimmer/README.md
2025-09-10 11:27:59 +03:00

1.2 KiB

FreeRTOS based AVR library for AC dimmer

Features

  1. Support of 50 Hz, 60 Hz and 400 Hz power frequency.

Dependencies

  1. zh_avr_common

Using

In an existing project, run the following command to install the components:

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:

#include "zh_avr_ac_dimmer.h"

Examples

#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_set(50);
    zh_avr_ac_dimmer_start();
    for (;;)
    {
    }
    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();
}