[Отворен код] Система за интервално разпознаване на жестове

——От форума за разработчици на DWIN

В този брой ще представим наградения случай с отворен код на форума за разработчици на DWIN – система за тестване на интервално разпознаване на жестове. Инженерите използват 7-инчов COF смарт екран, за да взаимодействат със сензора за разпознаване на жестове PAJ7620U2 чрез ядрото на T5L OS. Няма нужда да използвате никакви бутони. Трябва само да поставите ръката си близо до сензора, за да влезете в екрана за управление на системата от менюта и да реализирате 9 ефекта на жестове нагоре, надолу, наляво, надясно, близо, далеч, ляво въртене, дясно въртене и вълна.

1.UIМматериалдisplay

asd (2)
asd (1)

2.C51 Инженерен дизайн

Ядрото на операционната система T5L взаимодейства със сензора за разпознаване на жестове PAJ7620U2 за взаимодействие с данни, открива текущия жест, определя текущо показаната картина и картината, показана чрез обръщане на страницата, и реализира функцията за превключване на страници с помощта на жестове. Референтният код е както следва:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //нагоре

{

if(select_value >= 2)

{

изберете_стойност -= 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) //надолу

{

ако (изберете стойност

{

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) //ляво

{

if(select_value % 2 == 1)

{

изберете_стойност -= 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) //правилно

{

if(select_value % 2 == 0)

{

изберете_стойност += 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; //Режим на обръщане на страници, 0 нагоре, 1 надолу, 2 наляво, 3 надясно

uint16_t turning_count = 0; //Последен брой обръщания на страници

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

{

if(gesrure_value == GES_UP) //нагоре

{

режим_завъртане = 0;

брой_завъртания = 48;

}

else if(gesrure_value == GES_DOWN) //надолу

{

режим_завъртане = 1;

брой_завъртания = 48;

}

else if(gesrure_value == GES_LEFT) //ляво

{

режим_завъртане = 2;

брой_завъртания = 80;

}

else if(gesrure_value == GES_RIGHT) //правилно

{

режим_завъртане = 3;

брой_завъртания = 80;

}

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

{

обръщащо_текущо_изображение = 1;

}

друго

{

обръщане_текущо_изображение = 2;

}

for(i = 0;i

{

превключвател (режим на въртене)

{

случай 0:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

прекъсване;

случай 1:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

прекъсване;

случай 2:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

прекъсване;

случай 3:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

прекъсване;

}

t5l0_sys_delay_ms(20);

}

обръщане_последно_изображение = обръщане_текущо_изображение;

}

}


Време на публикуване: 21 март 2024 г