Witam serdecznie.
Do wyprowadzenia OC0A µkontrolera ATTINY2313 mam podłączoną białą diodę LED. Próbuję uzyskać efekt płynnej zmiany intensywności świecenia diody takimi oto funkcjami.
I wszystko działa, ale. Kiedy dioda się załącza to efekt ten dzieje się na tyle szybko, że wydaje się jakby zapalała się właściwie od razu, natomiast przy wyłączaniu, widać jak fajnie płynnie się ściemnia aż do całkowitego wyłączenia.
Obie funkcje rozjaśniania i ściemniania są symetryczne i polegają na liniowym rozjaśnieniu i ściemnieniu świecenia diody, ale rozjaśnianie jest inaczej widziane w tym przypadku przez oko. I moje pytanie. Jak zrobić żeby ten efekt był tak samo widziany w obie strony? Domyślam się że zmiana intensywności świecenia przy starcie diody od 0 do 255 na początku jest bardziej zauważalna niż pod koniec zliczania pętli rozjaśniającej i stąd ten efekt.
Do wyprowadzenia OC0A µkontrolera ATTINY2313 mam podłączoną białą diodę LED. Próbuję uzyskać efekt płynnej zmiany intensywności świecenia diody takimi oto funkcjami.
void lightf(void) //funkcja płynnego ściemniania
{
unsigned char i;
for(i=0xFF; i>0x00; i--)
{
OCR0A=i;
_delay_ms(12);
}
OCR0A=0x00;
lon=0;
}
void lightn(void) //funkcja plynnego rozjaśniania
{
unsigned char i;
for(i=0x00; i<0xFF; i++)
{
OCR0A=i;
_delay_ms(12);
}
OCR0A=0xFF;
lon=1;
} I wszystko działa, ale. Kiedy dioda się załącza to efekt ten dzieje się na tyle szybko, że wydaje się jakby zapalała się właściwie od razu, natomiast przy wyłączaniu, widać jak fajnie płynnie się ściemnia aż do całkowitego wyłączenia.
Obie funkcje rozjaśniania i ściemniania są symetryczne i polegają na liniowym rozjaśnieniu i ściemnieniu świecenia diody, ale rozjaśnianie jest inaczej widziane w tym przypadku przez oko. I moje pytanie. Jak zrobić żeby ten efekt był tak samo widziany w obie strony? Domyślam się że zmiana intensywności świecenia przy starcie diody od 0 do 255 na początku jest bardziej zauważalna niż pod koniec zliczania pętli rozjaśniającej i stąd ten efekt.