[Nyílt forráskódú] Intervallum gesztusfelismerő tesztrendszer

——A DWIN fejlesztői fórumról

Ebben a számban bemutatjuk a DWIN Developer Forum díjnyertes nyílt forráskódú esetét – Intervall Gesture Recognition Test System. A mérnökök 7 hüvelykes COF intelligens képernyőt használnak a PAJ7620U2 gesztusfelismerő érzékelővel való interakcióhoz a T5L operációs rendszer magon keresztül. Nincs szükség gombok használatára. Csak közel kell tennie a kezét az érzékelőhöz, hogy belépjen a menürendszer vezérlőképernyőjére, és megvalósítsa a 9 gesztuseffektust: fel, le, balra, jobbra, közel, távol, balra, jobbra forgatás és hullám.

1. UIManyagDisplay

asd (2)
asd (1)

2.C51 Mérnöki tervezés

A T5L operációs rendszer magja kölcsönhatásba lép a PAJ7620U2 gesztusfelismerő érzékelővel az adatinterakció érdekében, érzékeli az aktuális gesztust, meghatározza az aktuálisan megjelenített képet és a megjelenített képet lapozással, valamint megvalósítja a gesztusok segítségével történő oldalváltás funkcióját. A hivatkozási kód a következő:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //fel

{

if(kiválasztott_érték >= 2)

{

select_value -= 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) //down

{

if(kiválasztott_érték

{

select_value += 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) //left

{

if(kiválasztás_érték % 2 == 1)

{

select_value -= 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) //jobbra

{

if(kiválasztás_érték % 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 turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Lapozási mód, 0 fel, 1 le, 2 balra, 3 jobbra

uint16_t fordulatszám = 0; //Az utolsó oldalfordulatok száma

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

{

if(gesrure_value == GES_UP) //fel

{

forgási_mód = 0;

fordulatszám = 48;

}

else if(gesrure_value == GES_DOWN) //down

{

forgási_mód = 1;

fordulatszám = 48;

}

else if(gesrure_value == GES_LEFT) //left

{

forgási_mód = 2;

forgási_szám = 80;

}

else if(gesrure_value == GES_RIGHT) //jobbra

{

forgási_mód = 3;

forgási_szám = 80;

}

if(forduló_aktuális_kép == 0 || forduló_aktuális_kép == 2)

{

forgó_aktuális_kép = 1;

}

más

{

forgó_aktuális_kép = 2;

}

for(i = 0;i

{

kapcsoló (fordulási_mód)

{

0. eset:

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

t5l0_sys_delay_ms(20);

if(forduló_utolsó_kép != 0)

{

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

}

szünet;

1. eset:

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

t5l0_sys_delay_ms(20);

if(forduló_utolsó_kép != 0)

{

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

}

szünet;

2. eset:

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

t5l0_sys_delay_ms(20);

if(forduló_utolsó_kép != 0)

{

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

}

szünet;

3. eset:

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

t5l0_sys_delay_ms(20);

if(forduló_utolsó_kép != 0)

{

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

}

szünet;

}

t5l0_sys_delay_ms(20);

}

forduló_utolsó_kép = forduló_aktuális_kép;

}

}


Feladás időpontja: 2024. március 21