[โอเพ่นซอร์ส] ระบบทดสอบการจดจำท่าทางแบบช่วงเวลา

——จากฟอรัมนักพัฒนา DWIN

ในฉบับนี้ เราจะแนะนำกรณีโอเพ่นซอร์สที่ได้รับรางวัลของฟอรัมนักพัฒนา DWIN – ระบบทดสอบการรู้จำท่าทางแบบช่วง วิศวกรใช้หน้าจออัจฉริยะ COF ขนาด 7 นิ้วเพื่อโต้ตอบกับเซ็นเซอร์จดจำท่าทาง PAJ7620U2 ผ่านทางแกนระบบปฏิบัติการ T5L ไม่จำเป็นต้องใช้ปุ่มใดๆ คุณเพียงแค่ต้องวางมือไว้ใกล้กับเซ็นเซอร์เพื่อเข้าสู่หน้าจอควบคุมระบบเมนู และรับเอฟเฟกต์ท่าทาง 9 แบบ ได้แก่ ขึ้น, ลง, ซ้าย, ขวา, ปิด, ห่างไกล, หมุนซ้าย, หมุนขวา และโบกมือ

1.UIวัสดุดีกำลังเล่น

เอเอสดี (2)
เอเอสดี (1)

2.C51 การออกแบบทางวิศวกรรม

แกนระบบปฏิบัติการ T5L โต้ตอบกับเซ็นเซอร์รู้จำท่าทาง PAJ7620U2 สำหรับการโต้ตอบข้อมูล ตรวจจับท่าทางปัจจุบัน กำหนดรูปภาพที่แสดงอยู่ในปัจจุบันและรูปภาพที่แสดงโดยการเปลี่ยนหน้า และตระหนักถึงฟังก์ชันการสลับหน้าโดยใช้ท่าทาง รหัสอ้างอิงมีดังนี้:

โมฆะ select_operate (uint16_t gesrure_value)

-

ถ้า (gesrure_value == GES_UP) //up

-

ถ้า(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]);

-

อื่นถ้า (gesrure_value == GES_DOWN) //down

-

ถ้า (select_value

-

select_value += 2;

-

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

-

อื่นถ้า (gesrure_value == GES_LEFT) //left

-

ถ้า(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]);

-

อื่นถ้า (gesrure_value == GES_RIGHT) //right

-

ถ้า(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]);

-

-

 

โมฆะ Turn_operate (uint16_t gesrure_value)

-

uint16_t ฉัน = 0;

uint8_t เปลี่ยนโหมด = 0; -โหมดเปลี่ยนหน้า 0 ขึ้น 1 ลง 2 ซ้าย 3 ขวา

uint16_t จำนวนการหมุน = 0; -จำนวนหน้าสุดท้ายที่เปลี่ยน

ถ้า (gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)

-

ถ้า (gesrure_value == GES_UP) //up

-

เปลี่ยน_โหมด = 0;

เทิร์น_นับ = 48;

-

อื่นถ้า (gesrure_value == GES_DOWN) //down

-

เปลี่ยน_โหมด = 1;

เทิร์น_นับ = 48;

-

อื่นถ้า (gesrure_value == GES_LEFT) //left

-

เปลี่ยน_โหมด = 2;

Turn_count = 80;

-

อื่นถ้า (gesrure_value == GES_RIGHT) //right

-

เปลี่ยน_โหมด = 3;

Turn_count = 80;

-

ถ้า (turning_current_image == 0 || Turning_current_image == 2)

-

Turn_current_image = 1;

-

อื่น

-

Turn_current_image = 2;

-

สำหรับ(i = 0;i

-

สวิตช์ (เปลี่ยนโหมด)

-

กรณีที่ 0:

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

t5l0_sys_delay_ms(20);

ถ้า (turn_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);

ถ้า (turn_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);

ถ้า (turn_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);

ถ้า (turn_last_image != 0)

-

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

-

หยุดพัก;

-

t5l0_sys_delay_ms(20);

-

Turn_last_image = Turn_current_image;

-

-


เวลาโพสต์: 21 มี.ค. 2024