[Open Source] Testy-systeem voor intervalgebaarherkenning

——Van het DWIN-ontwikkelaarsforum

In dit nummer introduceren we de bekroonde open source-case van het DWIN Developer Forum – Interval Gesture Recognition Test System. Ingenieurs gebruiken een 7-inch COF smart-scherm om te communiceren met de PAJ7620U2-sensor voor bewegingsherkenning via de T5L OS-kern. Het is niet nodig om knoppen te gebruiken. U hoeft alleen maar uw hand dicht bij de sensor te houden om het bedieningsscherm van het menusysteem te openen en 9 bewegingseffecten te realiseren: omhoog, omlaag, links, rechts, dichtbij, ver weg, links draaien, rechts draaien en zwaaien.

1.UIMmateriaalDafspelen

asd (2)
asd (1)

2.C51 Technisch ontwerp

De T5L OS-kern werkt samen met de PAJ7620U2-gebarenherkenningssensor voor gegevensinteractie, detecteert het huidige gebaar, bepaalt de momenteel weergegeven afbeelding en de afbeelding die wordt weergegeven door de pagina om te slaan, en realiseert de functie van het schakelen tussen pagina's met behulp van gebaren. De referentiecode is als volgt:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //up

{

als(selecteer_waarde >= 2)

{

selecteer_waarde -= 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) //naar beneden

{

als(selecteer_waarde

{

selecteer_waarde += 2;

}

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

}

anders if(gesrure_value == GES_LEFT) //links

{

als(selecteer_waarde % 2 == 1)

{

selecteer_waarde -= 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) //rechts

{

als(selecteer_waarde % 2 == 0)

{

selecteer_waarde += 1;

}

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

}

}

 

voidturning_operate(uint16_t gesrure_value)

{

uint16_t ik = 0;

uint8_t draaimodus = 0; //Modus voor het omslaan van pagina's, 0 omhoog, 1 omlaag, 2 links, 3 rechts

uint16_t draai_telling = 0; //Laatste aantal paginaomslagen

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

{

if(gesrure_value == GES_UP) //up

{

draaimodus = 0;

draai_telling = 48;

}

else if(gesrure_value == GES_DOWN) //naar beneden

{

draaimodus = 1;

draai_telling = 48;

}

anders if(gesrure_value == GES_LEFT) //links

{

draaimodus = 2;

draai_telling = 80;

}

else if(gesrure_value == GES_RIGHT) //rechts

{

draaimodus = 3;

draai_telling = 80;

}

if(draaiende_huidige_afbeelding == 0 || draaiende_huidige_afbeelding == 2)

{

draai_huidige_afbeelding = 1;

}

anders

{

draai_huidige_afbeelding = 2;

}

for(i = 0;i

{

schakelaar(draaimodus)

{

geval 0:

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

t5l0_sys_delay_ms(20);

if(draai_laatste_afbeelding != 0)

{

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

}

pauze;

zaak 1:

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

t5l0_sys_delay_ms(20);

if(draai_laatste_afbeelding != 0)

{

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

}

pauze;

geval 2:

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

t5l0_sys_delay_ms(20);

als(draai_laatste_afbeelding != 0)

{

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

}

pauze;

geval 3:

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

t5l0_sys_delay_ms(20);

if(draai_laatste_afbeelding != 0)

{

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

}

pauze;

}

t5l0_sys_delay_ms(20);

}

draaiende_laatste_afbeelding = draaiende_huidige_afbeelding;

}

}


Posttijd: 21 maart 2024