[Open Source] Intervall-Gestenerkennungssystem

——Vom DWIN-Entwicklerforum

In dieser Ausgabe stellen wir den preisgekrönten Open-Source-Fall des DWIN Developer Forum – Interval Gesture Recognition Test System vor.Ingenieure verwenden einen 7-Zoll-COF-Smart-Screen, um über den T5L-Betriebssystemkern mit dem Gestenerkennungssensor PAJ7620U2 zu interagieren.Es besteht keine Notwendigkeit, irgendwelche Tasten zu verwenden.Sie müssen nur Ihre Hand in die Nähe des Sensors bringen, um den Menüsystem-Steuerungsbildschirm aufzurufen, und können die 9 Gesteneffekte „oben“, „unten“, „links“, „rechts“, „nah“, „weit weg“, „linksdrehend“, „rechtsdrehend“ und „winken“ nutzen.

1.BenutzeroberflächeMMaterialDAnzeige

asd (2)
asd (1)

2.C51 Ingenieurdesign

Der T5L-Betriebssystemkern interagiert mit dem Gestenerkennungssensor PAJ7620U2 für die Dateninteraktion, erkennt die aktuelle Geste, bestimmt das aktuell angezeigte Bild und das angezeigte Bild durch Umblättern und realisiert die Funktion des Seitenwechsels mithilfe von Gesten.Der Referenzcode lautet wie folgt:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //up

{

if(select_value >= 2)

{

select_value -= 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) //down

{

if(select_value <= 1)

{

select_value += 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)

{

select_value -= 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(select_value % 2 == 0)

{

select_value += 1;

}

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

}

}

 

void turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turn_mode = 0;//Umblättermodus: 0 nach oben, 1 nach unten, 2 nach links, 3 nach rechts

uint16_t turning_count = 0;//Letzte Anzahl der Seitenwechsel

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

{

if(gesrure_value == GES_UP) //up

{

turning_mode = 0;

turning_count = 48;

}

else if(gesrure_value == GES_DOWN) //down

{

turn_mode = 1;

turning_count = 48;

}

else if(gesrure_value == GES_LEFT) //left

{

turning_mode = 2;

turning_count = 80;

}

else if(gesrure_value == GES_RIGHT) //right

{

turning_mode = 3;

turning_count = 80;

}

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

{

turning_current_image = 1;

}

anders

{

turning_current_image = 2;

}

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

{

switch(turning_mode)

{

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

}

brechen;

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

}

brechen;

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

}

brechen;

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

}

brechen;

}

t5l0_sys_delay_ms(20);

}

Turning_last_image = Turning_current_image;

}

}


Zeitpunkt der Veröffentlichung: 21. März 2024