[Código aberto] Controle de tela DWIN WS2812 Iluminação ambiente

--Do Fórum de Desenvolvedores DWIN

Esta edição para você empurrar o premiado caso de código aberto do DWIN Developer Forum - controle de tela DWIN WS2812 iluminação ambiente, engenheiros através do núcleo do sistema operacional de tela inteligente COF para controlar com precisão o cinto de luz fantasma WS2812 de cada cor do cordão da lâmpada, para obter a troca de cores dos efeitos dinâmicos do cinto.

1.Material da interface do usuário

vcsd (1)

2.Design de interface do usuário

vcsd (2)

3. Projeto C51

O código do driver para controlar a cor da luz através da porta IO é o seguinte:

vazio WS2812_Write_RGB()

{

u8 eu,j,a;

EA=0;

for(j=0;j<3;j++)//Número de transmissões necessárias para cada luz

{

a=RGB_One[j];

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

{

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_();

uma<<=1;

WS2812_DI=0;

}

WS2812_DI=0;

}

EA=1;

}

vazio WS2812_RST()

{

WS2812_DI=0;

sys_delay_ms(1);

}

void WS2812_DIS_1()//Efeito 1, troca de cores, todas as cores do LED, um total de 7 cores básicas

{

estático u8 j=1;

u16 eu=0;

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

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

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

j%=7;

j++;

para (eu=0;eu

WS2812_Write_RGB();

WS2812_RST();

sys_delay_ms(1000);

}


Horário da postagem: 31 de janeiro de 2024