[Open Source] Sistema di riconoscimento dei gesti a intervalli

——Dal forum degli sviluppatori DWIN

In questo numero presenteremo il pluripremiato caso open source del DWIN Developer Forum – Interval Gesture Recognition Test System. Gli ingegneri utilizzano uno schermo intelligente COF da 7 pollici per interagire con il sensore di riconoscimento dei gesti PAJ7620U2 attraverso il core del sistema operativo T5L. Non è necessario utilizzare alcun pulsante. Devi solo avvicinare la mano al sensore per accedere alla schermata di controllo del sistema di menu e realizzare 9 effetti gestuali su, giù, sinistra, destra, vicino, lontano, rotazione a sinistra, rotazione a destra e onda.

1.UIMMaterialeDdisplay

asd (2)
asd (1)

2.C51 Progettazione ingegneristica

Il core del sistema operativo T5L interagisce con il sensore di riconoscimento dei gesti PAJ7620U2 per l'interazione dei dati, rileva il gesto corrente, determina l'immagine attualmente visualizzata e l'immagine visualizzata girando la pagina e realizza la funzione di cambiare pagina utilizzando i gesti. Il codice di riferimento è il seguente:

void select_operate(uint16_t valore_gesrure)

{

if(gesrure_value == GES_UP) //up

{

if(valore_seleziona >= 2)

{

seleziona_valore -= 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) //giù

{

if(valore_seleziona

{

seleziona_valore += 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) //sinistra

{

if(valore_seleziona % 2 == 1)

{

seleziona_valore -= 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) //right

{

if(valore_seleziona % 2 == 0)

{

seleziona_valore += 1;

}

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

}

}

 

void turn_operate(uint16_t valore_gesrure)

{

uint16_t i = 0;

uint8_t modalità_tornitura = 0; //Modalità di rotazione delle pagine, 0 su, 1 giù, 2 a sinistra, 3 a destra

uint16_t conteggio_torniture = 0; //Ultimo numero di giri di pagina

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

{

if(gesrure_value == GES_UP) //su

{

modalità_tornitura = 0;

conteggio_giri = 48;

}

else if(gesrure_value == GES_DOWN) //giù

{

modalità_tornitura = 1;

conteggio_giri = 48;

}

else if(gesrure_value == GES_LEFT) //sinistra

{

modalità_tornitura = 2;

conteggio_giri = 80;

}

else if(gesrure_value == GES_RIGHT) //right

{

modalità_tornitura = 3;

conteggio_giri = 80;

}

if(immagine_corrente_tornata == 0 || immagine_corrente_tornata == 2)

{

immagine_corrente_tornata = 1;

}

altro

{

immagine_corrente_tornata = 2;

}

for(i = 0;i

{

interruttore(modalità_tornitura)

{

caso 0:

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

t5l0_sys_delay_ms(20);

if(ultima_immagine_tornata!= 0)

{

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

}

rottura;

caso 1:

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

t5l0_sys_delay_ms(20);

if(ultima_immagine_tornata!= 0)

{

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

}

rottura;

caso 2:

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

t5l0_sys_delay_ms(20);

if(ultima_immagine_tornata!= 0)

{

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

}

rottura;

caso 3:

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

t5l0_sys_delay_ms(20);

if(ultima_immagine_tornata!= 0)

{

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

}

rottura;

}

t5l0_sys_delay_ms(20);

}

ultima_immagine_tornitura = immagine_corrente_tornitura;

}

}


Orario di pubblicazione: 21 marzo 2024