[Sumber Terbuka] Sistem Testy Pengecaman Gerak Isyarat Selang

——Dari Forum Pembangun DWIN

Dalam isu ini, kami akan memperkenalkan kes sumber terbuka yang memenangi anugerah Forum Pembangun DWIN – Sistem Ujian Pengecaman Gerak Isyarat Selang.Jurutera menggunakan skrin pintar COF 7-inci untuk berinteraksi dengan sensor pengecaman gerak isyarat PAJ7620U2 melalui teras OS T5L.Tidak perlu menggunakan sebarang butang.Anda hanya perlu mendekatkan tangan anda pada penderia untuk memasuki skrin kawalan sistem menu, dan menyedari 9 kesan gerak isyarat atas, bawah, kiri, kanan, dekat, jauh, putaran kiri, putaran kanan dan gelombang.

1.UIMaterialDisplay

asd (2)
asd (1)

2.C51 Reka Bentuk Kejuruteraan

Teras OS T5L berinteraksi dengan penderia pengecaman gerak isyarat PAJ7620U2 untuk interaksi data, mengesan gerak isyarat semasa, menentukan gambar yang sedang dipaparkan dan gambar yang dipaparkan dengan membelek halaman, dan merealisasikan fungsi menukar halaman menggunakan gerak isyarat.Kod rujukan adalah seperti berikut:

batal pilih_operasi(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //up

{

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

}

else if(gesrure_value == GES_DOWN) //bawah

{

if(select_value <= 1)

{

pilih_nilai += 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(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]);

}

else if(gesrure_value == GES_RIGHT) //kanan

{

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

}

}

 

batalkan turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0;//Mod membelok halaman, 0 ke atas, 1 ke bawah, 2 ke kiri, 3 ke kanan

uint16_t turning_count = 0;//Jumlah pusingan halaman terakhir

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

{

if(gesrure_value == GES_UP) //up

{

mod_pusing = 0;

kiraan_balik = 48;

}

else if(gesrure_value == GES_DOWN) //bawah

{

mod_pusing = 1;

kiraan_balik = 48;

}

else if(gesrure_value == GES_LEFT) //left

{

mod_pusing = 2;

kiraan_balik = 80;

}

else if(gesrure_value == GES_RIGHT) //kanan

{

mod_pusing = 3;

kiraan_balik = 80;

}

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

{

turning_current_image = 1;

}

lain

{

turning_current_image = 2;

}

untuk(i = 0;i <= turning_count;i++)

{

suis(turning_mode)

{

kes 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);

}

pecah;

kes 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);

}

pecah;

kes 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);

}

pecah;

kes 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);

}

pecah;

}

t5l0_sys_delay_ms(20);

}

turning_last_image = turning_current_image;

}

}


Masa siaran: Mac-21-2024