[منبع باز] سیستم تست تشخیص ژست فاصله

——از انجمن توسعه دهندگان DWIN

در این شماره، کیس منبع باز برنده جایزه انجمن توسعه دهندگان DWIN – سیستم تست تشخیص حرکت فاصله زمانی را معرفی می کنیم. مهندسان از یک صفحه نمایش هوشمند 7 اینچی COF برای تعامل با سنسور تشخیص حرکت PAJ7620U2 از طریق هسته سیستم عامل T5L استفاده می کنند. نیازی به استفاده از هیچ دکمه ای نیست. فقط باید دست خود را به سنسور نزدیک کنید تا وارد صفحه کنترل سیستم منو شوید و 9 اثر حرکتی بالا، پایین، چپ، راست، نزدیک، دور، چرخش چپ، چرخش راست و موج را متوجه شوید.

1.UIممواددیisplay

asd (2)
asd (1)

2.C51 طراحی مهندسی

هسته سیستم عامل T5L با سنسور تشخیص حرکت PAJ7620U2 برای تعامل داده تعامل دارد، ژست فعلی را تشخیص می دهد، تصویر نمایش داده شده در حال حاضر و تصویر نمایش داده شده را با چرخاندن صفحه تعیین می کند و عملکرد تعویض صفحات را با استفاده از حرکات تشخیص می دهد. کد مرجع به شرح زیر است:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //up

{

if (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]);

}

else if(gesrure_value == GES_DOWN) //down

{

if (select_value

{

select_value += 2;

}

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

}

other if(gesrure_value == GES_LEFT) //left

{

if (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]);

}

other if(gesrure_value == GES_RIGHT) //right

{

if (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 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) //up

{

حالت_چرخش = 0;

تعداد_عطف = 48;

}

else if(gesrure_value == GES_DOWN) //down

{

حالت_چرخش = 1;

تعداد_عطف = 48;

}

other if(gesrure_value == GES_LEFT) //left

{

حالت_چرخش = 2;

تعداد_عطف = 80;

}

other if(gesrure_value == GES_RIGHT) //right

{

حالت_چرخش = 3;

تعداد_عطف = 80;

}

if(تصویر_جریان_عطف == 0 || تصویر_جریان_چرخش == 2)

{

turning_current_image = 1;

}

دیگر

{

turning_current_image = 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