[Open Source] Interval Gesture Recognition Testy System

——Fra DWIN Developer Forum

I dette nummer vil vi introducere det prisvindende open source-case fra DWIN Developer Forum – Interval Gesture Recognition Test System. Ingeniører bruger en 7-tommer COF-smartskærm til at interagere med PAJ7620U2 gestusgenkendelsessensoren gennem T5L OS-kernen. Der er ingen grund til at bruge nogen knapper. Du behøver kun at lægge hånden tæt på sensoren for at komme ind i menusystemets kontrolskærm og indse 9 gestuseffekter af op, ned, venstre, højre, tæt, langt væk, venstrerotation, højrerotation og vink.

1.UIMmaterialeDisplay

asd (2)
asd (1)

2.C51 Engineering Design

T5L OS-kernen interagerer med PAJ7620U2 gestusgenkendelsessensoren til datainteraktion, registrerer den aktuelle gestus, bestemmer det aktuelt viste billede og det viste billede ved at vende siden og realiserer funktionen med at skifte side ved hjælp af gestus. Referencekoden er som følger:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //up

{

hvis(vælg_værdi >= 2)

{

vælg_værdi -= 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) //ned

{

if(vælg_værdi

{

vælg_værdi += 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_LEFT) //venstre

{

if(vælg_værdi % 2 == 1)

{

vælg_værdi -= 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) //right

{

if(vælg_værdi % 2 == 0)

{

vælg_værdi += 1;

}

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

}

}

 

void turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Sidevendende tilstand, 0 op, 1 ned, 2 til venstre, 3 til højre

uint16_t turning_count = 0; //Sidste antal sideskift

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

{

if(gesrure_value == GES_UP) //up

{

drejningstilstand = 0;

omdrejningstal = 48;

}

else if(gesrure_value == GES_DOWN) //ned

{

drejningstilstand = 1;

omdrejningstal = 48;

}

else if(gesrure_value == GES_LEFT) //venstre

{

drejningstilstand = 2;

omdrejningstal = 80;

}

else if(gesrure_value == GES_RIGHT) //right

{

drejningstilstand = 3;

omdrejningstal = 80;

}

if(turning_current_image == 0 || turning_current_image == 2)

{

turning_current_image = 1;

}

andet

{

turning_current_image = 2;

}

for(i = 0;i

{

switch (drejetilstand)

{

tilfælde 0:

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

t5l0_sys_delay_ms(20);

if(drejning_sidste_billede != 0)

{

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

}

pause;

tilfælde 1:

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

t5l0_sys_delay_ms(20);

if(drejning_sidste_billede != 0)

{

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

}

pause;

tilfælde 2:

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

t5l0_sys_delay_ms(20);

if(drejning_sidste_billede != 0)

{

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

}

pause;

tilfælde 3:

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

t5l0_sys_delay_ms(20);

if(drejning_sidste_billede != 0)

{

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

}

pause;

}

t5l0_sys_delay_ms(20);

}

dreje_sidste_billede = dreje_aktuelt_billede;

}

}


Indlægstid: 21. marts 2024