——Kuchokera ku DWIN Developer Forum
M'magazini ino, tikudziwitsani nkhani yotseguka yopambana mphoto kuchokera ku DWIN Developer Forum: Intelligent Cat Food Control System.Mainjiniya adagwiritsa ntchito pulogalamu yanzeru ya DWIN kuyang'anira kutentha, chinyezi, komanso kuchuluka kwa zakudya zamphaka, ndikusunga mbiri yakudya kwa mphaka.Adapanganso mwapadera mtundu wa UI wopenta wa inki, komanso kudina kwa inki kukakhudza chala, kuti apititse patsogolo malingaliro okhudza kukhudza.
Chiyambi:
1.UI chithunzi zakuthupi
DWIN smart screen imamaliza kukula kwa UI kutengera zithunzi, zomvera ndi zida zina ziyenera kukonzekera pasadakhale malinga ndi zomwe zikuwonetsedwa pazenera.
2.Kukula kwa mawonekedwe
Pulogalamu ya DGUS imabwezeretsa zotsatira za UI kupyolera muzitsulo zosanjikiza, kuphatikiza zipangizo zokonzekera kukhala chithunzi chathunthu mu pulogalamu ya DGUS, ndikuyika ntchito zowonetsera ndi kukhudza.
3. Kukhazikitsa zotsatira dinani ndi zomveka
Kukhudza kumapezedwa kudzera mu pulogalamu ya 51, kukanikiza kumatsatira kusuntha kwa chala, ndipo fungulo lotsatizana ndi mawu limakwaniritsidwanso.
(1) Dziwani nambala yamalo okhudza ndikusewera mawu:
opanda TouchDetect ()
{
u16 Va[3] = 0;
u8 ndi =0;
kwa(i = 0;i <3;i++)
{
Va[i] = Read_Dgus(0x0016 + i);
ngati(Va[0] == 0x5A01)
{
}
zina
{
kupuma;
}
}
ngati(i!= 0) //Choyamba dinani kuti mulowe
{
u16 play[2] = {0x0001, 0x4000};
touchAnimationFlag = 1;
touchAnimationCnt = 0;
touchPosX = Va[1];
touchPosY = Va[2];
write_dgus_vp(0x00A0, play, 2);
}
}
(2) Khodi ya touch effect kuwonetsera ndi motere:
opanda TouchStart ()
{
ngati(touchAnimationFlag == 1)
{
ngati(touchAnimationCnt == 0)
{
Write_Dgus(0x5011, touchPosX - 100);
Write_Dgus(0x5012, touchPosY - 100);
}
Write_Dgus(0x5000, touchAnimationCnt);
touchAnimationCnt++;
ngati(touchAnimationCnt == 6)
{
touchAnimationFlag = 0;
Write_Dgus(0x5011, 1024);
Write_Dgus(0x5012, 600);
}
}
}
4. Chotsatira ndikukhazikitsa magawo ofananira kudzera pazenera, ndiyeno kutumiza deta kwa wowongolera chakudya cha mphaka kudzera mu ESP32 kuti azindikire ntchito yodyetsa yokha ya chakudya cha mphaka.Code yeniyeni ndi iyi:
//Pezani mawonekedwe a batani
void get_key_status()
{
ine = 0;
//u16 Va=Read_Dgus(addr);
u16 Va=Read_Dgus(0x1000);
ngati (Va!= 0x0000)
{
//Stsamba lachitatu
ngati(Va == 0x0103) //Ikani nambala ya g
{
u16 switchpage[2] = {0x5A01, 19};
setNum = placeGramNum;
Tsamba lakumbuyo = 1;// Bwererani ku tsamba lachidziwitso
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, switchpage, 2);
}
ngati (Va == 0x0102)
{
OneSendData3(placeGramNum);//Malomphaka chakudyakamodzi
}
china ngati(Va == 0x0101) //Kukhazikitsa tsamba
{
u16 switchpage[2] = {0x5A01, 3};
kwa(i = 0;i <6;i++)
{
ngati (i == 0)
{
Write_Dgus(0x3070 + i * 0x10 + 0, currentTime[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, currentTime[i] / 10 % 10);
Write_Dgus(0x3070 + i * 0x10 + 4, currentTime[i] / 100 % 10);
Write_Dgus(0x3070 + i * 0x10 + 6, currentTime[i] / 1000 % 10);
}
zina
{
Write_Dgus(0x3070 + i * 0x10 + 0, currentTime[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, currentTime[i] / 10 % 10);
}
}
write_dgus_vp(0x0084, switchpage, 2);//Lowetsani tsamba la zoikamo
}
ngati (Va == 0x0100) //Record tsamba
{
u16 switchpage[2] = {0x5A01, 2};
kwa(i = 0;i <6;i++)
{
ngati (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);
}
zina
{
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, switchpage, 2);//Lowetsani tsamba lolembera
}
//Record tsamba
china ngati (Va == 0x0201) // Lembani tsamba lapitalo
{
ngati(lookEatCnt> 0)
{
lookEatCnt--;
kwa(i = 0;i <6;i++)
{
ngati (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);
}
zina
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
china ngati (Va == 0x0202) // Lembani tsamba lotsatira
{
if(lookEatCnt <eatCnt - 1)
{
lookEatCnt++;
kwa(i = 0;i <6;i++)
{
ngati (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);
}
zina
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
//Kukhazikitsa tsamba
ngati (Va == 0x0302)
{
ngati (nthawiMode == 1)
{
timemode = 0;
Write_Dgus(0x3A12, 139);
}
}
ngati (Va == 0x0303)
{
ngati (nthawiMode == 0)
{
nthawi = 1;
Write_Dgus(0x3A12, 242);
}
}
china ngati(Va >= 0x0304 && Va <= 0x0309)
{
u16 switchpage[2] = {0x5A01, 19};
Tsamba lakumbuyo = 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, switchpage, 2);
}
china ngati(Va >= 0x030A && Va <= 0x030F)
{
u16 switchpage[2] = {0x5A01, 19};
Tsamba lakumbuyo = 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, switchpage, 2);
}
//Asinthani tsamba la data
ngati (Va == 0x0400) //Tsimikizani
{
u16 switchpage[2] = {0x5A01, 0x0000};
switchpage[1] =backPage;
ngati(backPage == 1) //Bwererani kutsamba lachiwonetsero
{
placeGramNum = setNum;
Lembani_Dgus(0x1140 + 0, maloGramNum % 10);
Write_Dgus(0x1140 + 2, placeGramNum / 10% 10);
}
china ngati(backPage == 3)
{
ngati(backNum >= 0x0304 && backNum <= 0x0309)
{
u16 kusankha = 0;
sankhani = (backNum - 0x0304) * 0x10;
timrIntervalHour[backNum - 0x0304] = setNum;
Write_Dgus(0x3010 + sankhani + 0, setNum % 10);
Write_Dgus(0x3010 + sankhani + 2, setNum / 10% 10);
}
china ngati(backNum>= 0x030A && backNum <= 0x030F)
{
u16 kusankha = 0;
sankhani = (backNum - 0x0304) * 0x10;
currentTime[backNum - 0x030A] = setNum;
ngati(backNum == 0x030A)
{
Write_Dgus(0x3010 + sankhani + 0, setNum % 10);
Write_Dgus(0x3010 + sankhani + 2, setNum / 10% 10);
Write_Dgus(0x3010 + sankhani + 4, setNum / 100% 10);
Write_Dgus(0x3010 + sankhani + 6, setNum / 1000% 10);
}
zina
{
Write_Dgus(0x3010 + sankhani + 0, setNum % 10);
Write_Dgus(0x3010 + sankhani + 2, setNum / 10% 10);
}
}
}
write_dgus_vp(0x0084, switchpage, 2);
}
ngati (Va == 0x0401) //Kubwerera
{
u16 switchpage[2] = {0x5A01, 0x0000};
switchpage[1] =backPage;
write_dgus_vp(0x0084, switchpage, 2);
}
china ngati(Va == 0x0402) //Kuwonjezeka kwa manambala
{
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);
}
china ngati(Va == 0x0403) //kuchepa kwachiwerengero
{
ngati (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);
}
Lembani_Dgus(0x1000, 0);
}
}
Nthawi yotumiza: Sep-19-2023