[Código abierto] Sistema de prueba de reconocimiento de gestos por intervalos

——Del foro de desarrolladores de DWIN

En este número, presentaremos el caso de código abierto galardonado del Foro de desarrolladores DWIN: Sistema de prueba de reconocimiento de gestos por intervalos. Los ingenieros utilizan una pantalla inteligente COF de 7 pulgadas para interactuar con el sensor de reconocimiento de gestos PAJ7620U2 a través del núcleo del sistema operativo T5L. No es necesario utilizar ningún botón. Solo necesita acercar la mano al sensor para ingresar a la pantalla de control del sistema de menú y realizar 9 efectos de gestos de arriba, abajo, izquierda, derecha, cerca, lejos, rotación hacia la izquierda, rotación hacia la derecha y onda.

1.UIMETROaterialDes juego

asd (2)
asd (1)

2.C51 Diseño de ingeniería

El núcleo del sistema operativo T5L interactúa con el sensor de reconocimiento de gestos PAJ7620U2 para la interacción de datos, detecta el gesto actual, determina la imagen que se muestra actualmente y la imagen que se muestra al pasar la página, y realiza la función de cambiar de página mediante gestos. El código de referencia es el siguiente:

void select_operate(uint16_t gesrure_value)

{

if(valor_gesrure == GES_UP) //arriba

{

si(select_valor >= 2)

{

seleccionar_valor -= 2;

}

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

}

else if(gesrure_value == GES_DOWN) //abajo

{

si(select_valor

{

seleccionar_valor += 2;

}

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

}

else if(valor_gesrure == GES_LEFT) //izquierda

{

si(select_value % 2 == 1)

{

seleccionar_valor -= 1;

}

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

}

else if(gesrure_value == GES_RIGHT) //derecho

{

si(select_value % 2 == 0)

{

seleccionar_valor += 1;

}

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

}

}

 

vacío girando_operate (uint16_t gesrure_value)

{

uint16_t yo = 0;

uint8_t modo_giro = 0; //Modo de cambio de página, 0 arriba, 1 abajo, 2 izquierda, 3 derecha

uint16_t girando_count = 0; //Último número de vueltas de página

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

{

if(valor_gesrure == GES_UP) //arriba

{

modo_giro = 0;

cuenta_giro = 48;

}

else if(gesrure_value == GES_DOWN) //abajo

{

modo_giro = 1;

cuenta_giro = 48;

}

else if(valor_gesrure == GES_LEFT) //izquierda

{

modo_giro = 2;

cuenta_giro = 80;

}

else if(gesrure_value == GES_RIGHT) //derecho

{

modo_giro = 3;

cuenta_giro = 80;

}

if(imagen_actual_girando == 0 || imagen_actual_girando == 2)

{

girando_imagen_actual = 1;

}

demás

{

girando_imagen_actual = 2;

}

para(i = 0;i

{

cambiar(turning_mode)

{

caso 0:

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

t5l0_sys_delay_ms(20);

si (turning_last_image! = 0)

{

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

}

romper;

caso 1:

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

t5l0_sys_delay_ms(20);

si (turning_last_image! = 0)

{

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

}

romper;

caso 2:

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

t5l0_sys_delay_ms(20);

si (turning_last_image! = 0)

{

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

}

romper;

caso 3:

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

t5l0_sys_delay_ms(20);

si (turning_last_image! = 0)

{

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

}

romper;

}

t5l0_sys_delay_ms(20);

}

girando_última_imagen = girando_imagen_actual;

}

}


Hora de publicación: 21 de marzo de 2024