2025-09-11 07:55:09 +03:00
2025-09-10 19:34:18 +03:00
2025-09-07 21:08:28 +03:00
2025-09-10 20:15:50 +03:00
2025-09-11 07:55:09 +03:00

AVR library for AC dimmer

Features

  1. Support of 50, 60 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_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();
}
Description
No description provided
Readme 56 KiB