Będzie zegarek
: sobota 05 gru 2015, 20:38
Jeden moduł, do wykonania są jeszcze 2.
Kod: Zaznacz cały
int main(void)
{
SPI_Init(); // Inicjalizacja SPI
/*
* Przyklad zapalenia tylko wybranych
*/
ws2803_set_pix_brightness(1, 98, ptrBuf);
ws2803_shift_out(ptrBuf);
_delay_ms(200);
ws2803_set_pix_brightness(5, 120, ptrBuf);
ws2803_shift_out(ptrBuf);
_delay_ms(200);
ws2803_set_pix_brightness(9, 60, ptrBuf);
ws2803_shift_out(ptrBuf);
_delay_ms(200);
ws2803_set_pix_brightness(15, 230, ptrBuf);
ws2803_shift_out(ptrBuf);
_delay_ms(200);
/*
* Przyklad wypychajacy na IC wartosc 0 (cos jak czyszczenie ekranu)
*/
ws2803_set_all( ptrBuf , 0); // ustaw bufor na 0
ws2803_shift_out( ptrBuf ); // wypchnij bufor
/*
* Przyklad z rozjasnieniem / sciemnieniem
*/
ws2803_fade(1 , 20 , ptrBuf); // Fade IN
ws2803_fade(0 , 20 , ptrBuf); // FADE OUT
/*
* Przyklad zapalania pojedynczych LED
*/
ws2803_oneByOne(5, ptrBuf);
while(1)
{
/*
* Taki bardzooooo prosty przyklad mini kometki :)
*/
for (int var = 0; var < WS2803_LED_CNT+1 ; var++)
{
if(var>0) ws_line(ptrBuf, var-1, 2,0); // Funkcja odpowiedzialna za zmazywanie paska
ws_line(ptrBuf, var, 2,30); // Rysujemy nasz pasek
ws_line(ptrBuf, var+2, 2,150); // Rysujemy nasz pasek
ws_line(ptrBuf, var+4, 2,240); // Rysujemy nasz pasek
ws2803_shift_out( ptrBuf); // Wypychamy
_delay_ms(150);
}
}
}
GeSHi