[Código aberto] Sistema de teste de reconhecimento de gestos de intervalo

——Do Fórum de Desenvolvedores DWIN

Nesta edição, apresentaremos o premiado case de código aberto do DWIN Developer Forum – Interval Gesture Recognition Test System. Os engenheiros usam uma tela inteligente COF de 7 polegadas para interagir com o sensor de reconhecimento de gestos PAJ7620U2 por meio do núcleo do sistema operacional T5L. Não há necessidade de usar nenhum botão. Você só precisa colocar a mão perto do sensor para entrar na tela de controle do sistema de menu e realizar 9 efeitos de gesto para cima, para baixo, para a esquerda, para a direita, para perto, para longe, para a esquerda, para a direita e para a onda.

1.IUMmaterialDÉ jogar

asd (2)
asd (1)

2.C51 Projeto de Engenharia

O núcleo do sistema operacional T5L interage com o sensor de reconhecimento de gestos PAJ7620U2 para interação de dados, detecta o gesto atual, determina a imagem exibida atualmente e a imagem exibida ao virar a página e realiza a função de alternar páginas usando gestos. O código de referência é o seguinte:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //acima

{

if(selecionar_valor >= 2)

{

selecione_valor -= 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

senão if(gesrure_value == GES_DOWN) //down

{

if(selecionar_valor

{

selecione_valor += 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

senão if(gesrure_value == GES_LEFT) //esquerda

{

if(selecionar_valor% 2 == 1)

{

selecione_valor -= 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

senão if(gesrure_value == GES_RIGHT) //certo

{

if(selecione_valor% 2 == 0)

{

selecione_valor += 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

}

 

void turn_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t modo de rotação = 0; //Modo de virar página, 0 para cima, 1 para baixo, 2 para a esquerda, 3 para a direita

uint16_t contagem_de rotação = 0; //Último número de viradas de página

if(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)

{

if(gesrure_value == GES_UP) //acima

{

modo_torno = 0;

contagem_de giro = 48;

}

senão if(gesrure_value == GES_DOWN) //down

{

modo_torno = 1;

contagem_de giro = 48;

}

senão if(gesrure_value == GES_LEFT) //esquerda

{

modo_torno = 2;

contagem_de giro = 80;

}

senão if(gesrure_value == GES_RIGHT) //certo

{

modo_torno = 3;

contagem_de giro = 80;

}

if(virando_imagem_atual == 0 || virando_imagem_atual == 2)

{

transformando_imagem_atual = 1;

}

outro

{

transformando_imagem_atual = 2;

}

for(i = 0;i

{

mudar (modo_de_viragem)

{

caso 0:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, 480 - i * 10);

t5l0_sys_delay_ms(20);

if (virando_última_imagem! = 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 - i * 10);

}

quebrar;

caso 1:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);

t5l0_sys_delay_ms(20);

if (virando_última_imagem! = 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 + i * 10);

}

quebrar;

caso 2:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);

t5l0_sys_delay_ms(20);

if (virando_última_imagem! = 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 - i * 10, 0);

}

quebrar;

caso 3:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);

t5l0_sys_delay_ms(20);

if (virando_última_imagem! = 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 + i * 10, 0);

}

quebrar;

}

t5l0_sys_delay_ms(20);

}

turn_last_image = turn_current_image;

}

}


Horário da postagem: 21 de março de 2024