[Open Source] Système de test de reconnaissance de gestes par intervalles

——Depuis le forum des développeurs DWIN

Dans ce numéro, nous présenterons le cas open source primé du DWIN Developer Forum – Interval Gesture Recognition Test System. Les ingénieurs utilisent un écran intelligent COF de 7 pouces pour interagir avec le capteur de reconnaissance gestuelle PAJ7620U2 via le cœur du système d'exploitation T5L. Il n'est pas nécessaire d'utiliser des boutons. Il vous suffit de placer votre main près du capteur pour accéder à l'écran de contrôle du système de menu et réaliser 9 effets de gestes : haut, bas, gauche, droite, proche, lointain, rotation à gauche, rotation à droite et vague.

1.UIM.matérielDafficher

asd (2)
asd (1)

2.C51 Conception technique

Le cœur du système d'exploitation T5L interagit avec le capteur de reconnaissance gestuelle PAJ7620U2 pour l'interaction des données, détecte le geste actuel, détermine l'image actuellement affichée et l'image affichée en tournant la page, et réalise la fonction de changement de page à l'aide de gestes. Le code de référence est le suivant :

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //haut

{

si (select_value >= 2)

{

select_value -= 2 ;

}

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

}

sinon if(gesrure_value == GES_DOWN) //down

{

si (select_value

{

select_value += 2 ;

}

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

}

sinon if(gesrure_value == GES_LEFT) //gauche

{

si (select_value % 2 == 1)

{

select_value -= 1 ;

}

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

}

sinon if(gesrure_value == GES_RIGHT) //droit

{

si (select_value % 2 == 0)

{

select_value += 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 je = 0;

uint8_t tournant_mode = 0 ; //Mode de tournage de page, 0 haut, 1 bas, 2 gauche, 3 droite

uint16_t tournant_count = 0 ; //Dernier nombre de tours de page

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

{

if(gesrure_value == GES_UP) //haut

{

mode_tournage = 0 ;

tournant_count = 48 ;

}

sinon if(gesrure_value == GES_DOWN) //down

{

mode_tournage = 1 ;

tournant_count = 48 ;

}

sinon if(gesrure_value == GES_LEFT) //gauche

{

mode_tournage = 2 ;

tournant_count = 80 ;

}

sinon if(gesrure_value == GES_RIGHT) //droit

{

mode_tournage = 3 ;

tournant_count = 80 ;

}

si (turning_current_image == 0 || tournant_current_image == 2)

{

tournant_courant_image = 1 ;

}

autre

{

tournant_courant_image = 2 ;

}

pour (i = 0;i

{

commutateur (turning_mode)

{

cas 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);

}

casser;

cas 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);

}

casser;

cas 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);

}

casser;

cas 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);

}

casser;

}

t5l0_sys_delay_ms(20);

}

tournant_dernière_image = tournant_courant_image ;

}

}


Heure de publication : 21 mars 2024