—— DWIN ئاچقۇچىلار مۇنبىرىدىن
بۇ ساندا بىز سىزگە DWIN ئاچقۇچىلار مۇنبىرى: ئەقلىي ئىقتىدارلىق مۈشۈك يېمەكلىكلىرىنى كونترول قىلىش سىستېمىسىدىن مۇكاپاتقا ئېرىشكەن ئوچۇق كودنى تونۇشتۇرىمىز.ئىنژېنېرلار DWIN ئەقلىي ئىقتىدارلىق ئېكران ئارقىلىق مۈشۈك يېمەكلىكلىرىنىڭ تېمپېراتۇرىسى ، نەملىكى ۋە ئېشىپ قالغان مىقدارىنى نازارەت قىلىپ ، مۈشۈكنىڭ يېمەكلىك يېيىش خاتىرىسىنى ساقلاپ قالدى.ئۇلار يەنە بىر يۈرۈش سىياھ بوياش ئۇسلۇبى UI ، شۇنداقلا بارماققا تەگكەندە سىياھ چېكىش ئۈنۈمىنى ئۆزگىچە لايىھەلەپ ، سېزىمچان ئىنكاسلارنىڭ كۆرۈش سېزىمىنى يۇقىرى كۆتۈردى.
تونۇشتۇرۇش:
1.UI رەسىم ماتېرىيالى
DWIN ئەقلىي ئىقتىدارلىق ئېكران رەسىم ، ئاۋاز ۋە باشقا ماتېرىياللارغا ئاساسەن UI تەرەققىياتىنى تاماملايدۇ ، ئېكران كۆرسىتىش مەزمۇنىغا ئاساسەن ئالدىن تەييارلىق قىلىش كېرەك.
2. كۆرۈنمە يۈزى ئېچىش
DGUS يۇمشاق دېتالى قەۋەت قاپلاش ئارقىلىق UI ئۈنۈمىنى ئەسلىگە كەلتۈرىدۇ ، تەييارلانغان ماتېرىياللارنى DGUS يۇمشاق دېتالىدىكى مۇكەممەل رەسىمگە بىرلەشتۈرۈپ ، كۆرسىتىش ۋە چەكمە ئىقتىدارنى بەلگىلەيدۇ.
3. چېكىش ئۈنۈمى ۋە ئاۋاز ئۈنۈمىنى يولغا قويۇڭ
سېزىمچان ئورۇن 51 پروگرامما ئارقىلىق ئېرىشىدۇ ، بېسىش ئۈنۈمى بارماقنىڭ ھەرىكىتىگە ئەگىشىدۇ ، ئاچقۇچلۇق قوشۇمچە ئاۋاز ئۈنۈمىمۇ ئەمەلگە ئاشىدۇ.
(1) سېزىمچان ئورۇن كودىنى بايقاش ۋە ئاۋاز قويۇش:
void TouchDetect ()
{
u16 Va [3] = 0;
u8 i = 0;
for (i = 0; i <3; i ++)
{
Va [i] = Read_Dgus (0x0016 + i);
if (Va [0] == 0x5A01)
{
}
else
{
break;
}
}
if (i! = 0) // ئالدى بىلەن چېكىڭ
{
u16 play [2] = {0x0001, 0x4000};
touchAnimationFlag = 1;
touchAnimationCnt = 0;
touchPosX = Va [1];
touchPosY = Va [2];
write_dgus_vp (0x00A0 ، ئويناش ، 2);
}
}
(2) سېزىمچان ئۈنۈم كۆرسىتىش كودى تۆۋەندىكىچە:
void TouchStart ()
{
if (touchAnimationFlag == 1)
{
if (touchAnimationCnt == 0)
{
Write_Dgus (0x5011, touchPosX - 100);
Write_Dgus (0x5012, touchPosY - 100);
}
Write_Dgus (0x5000, touchAnimationCnt);
touchAnimationCnt ++;
if (touchAnimationCnt == 6)
{
touchAnimationFlag = 0;
Write_Dgus (0x5011 ، 1024);
Write_Dgus (0x5012, 600);
}
}
}
4. كېيىنكى قەدەمدە ئېكران ئارقىلىق مۇناسىپ پارامېتىرلارنى تەڭشەش ، ئاندىن سانلىق مەلۇماتنى ESP32 ئارقىلىق مۈشۈك يېمەكلىك كونتروللىغۇچقا يەتكۈزۈپ ، مۈشۈك يېمەكلىكلىرىنىڭ ئاپتوماتىك ئوزۇقلىنىش ئىقتىدارىنى ئەمەلگە ئاشۇرۇش.كونكرېت كود تۆۋەندىكىچە:
// كۇنۇپكا ھالىتىگە ئېرىشىش
void get_key_status ()
{
int i = 0;
// u16 Va = Read_Dgus (addr);
u16 Va = Read_Dgus (0x1000);
if (Va! = 0x0000)
{
//Status page
if (Va == 0x0103) // g نىڭ سانىنى قويۇڭ
{
u16 switchpage [2] = {0x5A01, 19};
setNum = placeGramNum;
backPage = 1;// ھالەت بېتىگە قايتىڭ
Write_Dgus (0x4000 + 0, setNum% 10);
Write_Dgus (0x4000 + 2, setNum / 10% 10);
Write_Dgus (0x4000 + 4, setNum / 100% 10);
Write_Dgus (0x4000 + 6, setNum / 1000% 10);
write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);
}
بولمىسا (Va == 0x0102)
{
OneSendData3 (placeGramNum);//ئورۇنمۈشۈك يېمەكلىكلىرىبىر قېتىم
}
بولمىسا (Va == 0x0101) // بەت تەڭشەش
{
u16 switchpage [2] = {0x5A01, 3};
for (i = 0; i <6; i ++)
{
if (i == 0)
{
Write_Dgus (0x3070 + i * 0x10 + 0, نۆۋەتتىكى ۋاقىت [i]% 10);
Write_Dgus (0x3070 + i * 0x10 + 2 ، نۆۋەتتىكى ۋاقىت [i] / 10% 10);
Write_Dgus (0x3070 + i * 0x10 + 4 ، نۆۋەتتىكى ۋاقىت [i] / 100% 10);
Write_Dgus (0x3070 + i * 0x10 + 6 ، نۆۋەتتىكى ۋاقىت [i] / 1000% 10);
}
else
{
Write_Dgus (0x3070 + i * 0x10 + 0, نۆۋەتتىكى ۋاقىت [i]% 10);
Write_Dgus (0x3070 + i * 0x10 + 2 ، نۆۋەتتىكى ۋاقىت [i] / 10% 10);
}
}
write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);// تەڭشەك بېتىنى كىرگۈزۈڭ
}
بولمىسا (Va == 0x0100) //Record page
{
u16 switchpage [2] = {0x5A01, 2};
for (i = 0; i <6; i ++)
{
if (i == 0)
{
Write_Dgus (0x2000 + i * 0x10 + 0, eatFeedList [0] [i]% 10);
Write_Dgus (0x2000 + i * 0x10 + 2, eatFeedList [0] [i] / 10% 10);
Write_Dgus (0x2000 + i * 0x10 + 4, eatFeedList [0] [i] / 100% 10);
Write_Dgus (0x2000 + i * 0x10 + 6, eatFeedList [0] [i] / 1000% 10);
}
else
{
Write_Dgus (0x2000 + i * 0x10 + 0, eatFeedList [0] [i]% 10);
Write_Dgus (0x2000 + i * 0x10 + 2, eatFeedList [0] [i] / 10% 10);
}
}
write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);// خاتىرە بېتىنى كىرگۈزۈڭ
}
//Record page
بولمىسا (Va == 0x0201) // ئالدىنقى بەتنى خاتىرىلەڭ
{
if (lookEatCnt> 0)
{
lookEatCnt--;
for (i = 0; i <6; i ++)
{
if (i == 0)
{
Write_Dgus (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);
Write_Dgus (0x2000 + i * 0x10 + 2, eatFeedList [lookEatCnt] [i] / 10% 10);
Write_Dgus (0x2000 + i * 0x10 + 4, eatFeedList [lookEatCnt] [i] / 100% 10);
Write_Dgus (0x2000 + i * 0x10 + 6, eatFeedList [lookEatCnt] [i] / 1000% 10);
}
else
{
Write_Dgus (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);
Write_Dgus (0x2000 + i * 0x10 + 2, eatFeedList [lookEatCnt] [i] / 10% 10);
}
}
}
}
بولمىسا (Va == 0x0202) // كېيىنكى بەتنى خاتىرىلەڭ
{
if (lookEatCnt <eatCnt - 1)
{
lookEatCnt ++;
for (i = 0; i <6; i ++)
{
if (i == 0)
{
Write_Dgus (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);
Write_Dgus (0x2000 + i * 0x10 + 2, eatFeedList [lookEatCnt] [i] / 10% 10);
Write_Dgus (0x2000 + i * 0x10 + 4, eatFeedList [lookEatCnt] [i] / 100% 10);
Write_Dgus (0x2000 + i * 0x10 + 6, eatFeedList [lookEatCnt] [i] / 1000% 10);
}
else
{
Write_Dgus (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);
Write_Dgus (0x2000 + i * 0x10 + 2, eatFeedList [lookEatCnt] [i] / 10% 10);
}
}
}
}
// بەت تەڭشەش
بولمىسا (Va == 0x0302)
{
if (timeMode == 1)
{
timeMode = 0;
Write_Dgus (0x3A12, 139);
}
}
بولمىسا (Va == 0x0303)
{
if (timeMode == 0)
{
timeMode = 1;
Write_Dgus (0x3A12, 242);
}
}
بولمىسا (Va> = 0x0304 && Va <= 0x0309)
{
u16 switchpage [2] = {0x5A01, 19};
backPage = 3;
backNum = Va;
setNum = timrIntervalHour [Va - 0x0304];
Write_Dgus (0x4000 + 0, setNum% 10);
Write_Dgus (0x4000 + 2, setNum / 10% 10);
Write_Dgus (0x4000 + 4, setNum / 100% 10);
Write_Dgus (0x4000 + 6, setNum / 1000% 10);
write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);
}
بولمىسا (Va> = 0x030A && Va <= 0x030F)
{
u16 switchpage [2] = {0x5A01, 19};
backPage = 3;
backNum = Va;
setNum = currentTime [Va - 0x030A];
Write_Dgus (0x4000 + 0, setNum% 10);
Write_Dgus (0x4000 + 2, setNum / 10% 10);
Write_Dgus (0x4000 + 4, setNum / 100% 10);
Write_Dgus (0x4000 + 6, setNum / 1000% 10);
write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);
}
//Aسانلىق مەلۇمات بېتى
بولمىسا (Va == 0x0400) //جەزملەشتۈرۈڭ
{
u16 switchpage [2] = {0x5A01, 0x0000};
switchpage [1] = backPage;
if (backPage == 1) // ھالەت بېتىگە قايتىڭ
{
placeGramNum = setNum;
Write_Dgus (0x1140 + 0, placeGramNum% 10);
Write_Dgus (0x1140 + 2, placeGramNum / 10% 10);
}
بولمىسا (backPage == 3)
{
if (backNum> = 0x0304 && backNum <= 0x0309)
{
u16 select = 0;
select = (backNum - 0x0304) * 0x10;
timrIntervalHour [backNum - 0x0304] = setNum;
Write_Dgus (0x3010 + تاللاڭ + 0 ، setNum% 10);
Write_Dgus (0x3010 + تاللاڭ + 2 ، setNum / 10% 10);
}
بولمىسا (backNum> = 0x030A && backNum <= 0x030F)
{
u16 select = 0;
select = (backNum - 0x0304) * 0x10;
currentTime [backNum - 0x030A] = setNum;
if (backNum == 0x030A)
{
Write_Dgus (0x3010 + تاللاڭ + 0 ، setNum% 10);
Write_Dgus (0x3010 + تاللاڭ + 2 ، setNum / 10% 10);
Write_Dgus (0x3010 + تاللاڭ + 4 ، setNum / 100% 10);
Write_Dgus (0x3010 + تاللاڭ + 6 ، setNum / 1000% 10);
}
else
{
Write_Dgus (0x3010 + تاللاڭ + 0 ، setNum% 10);
Write_Dgus (0x3010 + تاللاڭ + 2 ، setNum / 10% 10);
}
}
}
write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);
}
بولمىسا (Va == 0x0401) //قايتىش
{
u16 switchpage [2] = {0x5A01, 0x0000};
switchpage [1] = backPage;
write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);
}
بولمىسا (Va == 0x0402) // سان كۆپىيىش
{
setNum ++;
Write_Dgus (0x4000 + 0, setNum% 10);
Write_Dgus (0x4000 + 2, setNum / 10% 10);
Write_Dgus (0x4000 + 4, setNum / 100% 10);
Write_Dgus (0x4000 + 6, setNum / 1000% 10);
}
بولمىسا (Va == 0x0403) // سان ئازىيىدۇ
{
if (setNum> 0)
setNum--;
Write_Dgus (0x4000 + 0, setNum% 10);
Write_Dgus (0x4000 + 2, setNum / 10% 10);
Write_Dgus (0x4000 + 4, setNum / 100% 10);
Write_Dgus (0x4000 + 6, setNum / 1000% 10);
}
Write_Dgus (0x1000, 0);
}
}
يوللانغان ۋاقتى: 19-سېنتەبىردىن 2023-يىلغىچە