——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)](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f07846d9de96799.png)
![asd (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f07860ad7d49985.png)
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