[Código aberto] Control de pantalla DWIN WS2812 Iluminación ambiental

--De DWIN Developer Forum

Este problema para que impulse o galardonado caso de código aberto de DWIN Developer Forum - DWIN control de pantalla WS2812 iluminación ambiental, enxeñeiros a través do núcleo do sistema operativo da pantalla intelixente COF para controlar con precisión o cinto de luz fantasma WS2812 de cada cor de conta de lámpada, para lograr o cambio de cor dos efectos dinámicos do cinto.

1.Material da IU

vcsd (1)

2. Deseño da IU

vcsd (2)

3. Proxecto C51

O código do controlador para controlar a cor da luz a través do porto IO é o seguinte:

void WS2812_Write_RGB()

{

u8 i,j,a;

EA=0;

for(j=0;j<3;j++)//Número de transmisións necesarias para cada luz

{

a=RGB_One[j];

para(i=0;i<8;i++)

{

WS2812_DI=1;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_( );_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_( );_nop_();_nop_();_nop_();

WS2812_DI=(a&0x80);

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

a<<=1;

WS2812_DI=0;

}

WS2812_DI=0;

}

EA=1;

}

void WS2812_RST()

{

WS2812_DI=0;

sys_delay_ms(1);

}

void WS2812_DIS_1()//Efecto 1, conmutación de cores, todas as cores LED, un total de 7 cores básicas

{

estático u8 j=1;

u16 i=0;

if(j&0X01) RGB_One[1]=10;se non RGB_One[1]=0;

if(j&0X02) RGB_One[0]=10;se non RGB_One[0]=0;

if(j&0X04) RGB_One[2]=10;se non RGB_One[2]=0;

j%=7;

j++;

para (i=0;i

WS2812_Write_RGB();

WS2812_RST();

sys_delay_ms(1000);

}


Hora de publicación: 31-xan-2024