[Open Source] Interval Gesture Recognition Testy System

——Ti DWIN Forum pamekar

Dina masalah ieu, urang bakal ngenalkeun kasus open source anu meunang pangajén tina DWIN Developer Forum - Interval Gesture Recognition Test System. Insinyur ngagunakeun layar pinter COF 7 inci pikeun berinteraksi sareng sensor pangakuan gesture PAJ7620U2 ngaliwatan inti T5L OS. Henteu kedah nganggo tombol naon waé. Anjeun ngan perlu nempatkeun leungeun Anjeun deukeut sensor pikeun asup ka layar kontrol sistem menu, sarta sadar 9 épék gesture tina luhur, handap, kénca, katuhu, deukeut, jauh, rotasi kénca, rotasi katuhu, sarta gelombang.

1.UIMbahanDkaulinan

asd (2)
asd (1)

2.C51 Desain Téknik

Inti T5L OS berinteraksi sareng sensor pangakuan gesture PAJ7620U2 pikeun interaksi data, ngadeteksi gesture ayeuna, nangtukeun gambar ayeuna ditampilkeun jeung gambar dipintonkeun ku ngarobah kaca, sarta nyadar fungsi pindah kaca ngagunakeun sapuan. Kodeu rujukan nyaéta kieu:

void select_operate(uint16_t gesrure_value)

{

lamun (gesrure_value == GES_UP) //up

{

lamun (select_value >= 2)

{

pilih_nilai -= 2;

}

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

}

lain lamun (gesrure_value == GES_DOWN) // handap

{

lamun (select_value

{

pilih_nilai += 2;

}

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

}

lain lamun (gesrure_value == GES_LEFT) // ditinggalkeun

{

lamun(select_value% 2 == 1)

{

pilih_nilai -= 1;

}

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

}

lain lamun (gesrure_value == GES_RIGHT) // katuhu

{

lamun (select_value% 2 == 0)

{

pilih_nilai += 1;

}

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

}

}

 

batal turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Mode ngarobah halaman, 0 ka luhur, 1 ka handap, 2 ka kénca, 3 ka katuhu

uint16_t turning_count = 0; //Jumlah panungtungan péngkolan kaca

if(nilai_gesrure == GES_UP || nilai_gesrure == GES_TURUN || nilai_gesrure == GES_LEFT || nilai_gesrure == GES_RIGHT)

{

lamun (gesrure_value == GES_UP) //up

{

turning_mode = 0;

turning_count = 48;

}

lain lamun (gesrure_value == GES_DOWN) // handap

{

turning_mode = 1;

turning_count = 48;

}

lain lamun (gesrure_value == GES_LEFT) // ditinggalkeun

{

turning_mode = 2;

turning_count = 80;

}

lain lamun (gesrure_value == GES_RIGHT) // katuhu

{

turning_mode = 3;

turning_count = 80;

}

lamun (turning_current_image == 0 || turning_current_image == 2)

{

turning_current_image = 1;

}

lain

{

turning_current_image = 2;

}

pikeun(i = 0;i

{

switch (turning_mode)

{

kasus 0:

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

t5l0_sys_delay_ms(20);

lamun (turning_last_image! = 0)

{

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

}

megatkeun;

kasus 1:

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

t5l0_sys_delay_ms(20);

lamun (turning_last_image! = 0)

{

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

}

megatkeun;

kasus 2:

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

t5l0_sys_delay_ms(20);

lamun (turning_last_image! = 0)

{

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

}

megatkeun;

kasus 3:

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

t5l0_sys_delay_ms(20);

lamun (turning_last_image! = 0)

{

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

}

megatkeun;

}

t5l0_sys_delay_ms(20);

}

turning_last_image = turning_current_image;

}

}


waktos pos: Mar-21-2024