——Bho Fòram Luchd-leasachaidh DWIN
Anns an iris seo, bheir sinn a-steach dhut a’ chùis stòr fosgailte a choisinn duaisean bho Fhòram Luchd-leasachaidh DWIN: Siostam Smachd Bidhe Cat Inntleachdail.Chleachd innleadairean an scrion smart DWIN gus sùil a chumail air an teòthachd, an taiseachd, agus an ìre de bhiadh cat a bha air fhàgail, agus gus clàran ithe bìdh a’ chait a shàbhaladh.Dhealbhaich iad cuideachd seata de UI stoidhle peantaidh inc, a bharrachd air buaidh cliog inc nuair a bhuaileas meur e, gus cur ris a’ bheachd lèirsinneach air fios air ais suathadh.
Ro-ràdh:
Stuth dealbh 1.UI
Bidh scrion smart DWIN a ’crìochnachadh leasachadh UI stèidhichte air dealbhan, feumar claisneachd agus stuthan eile ullachadh ro-làimh a rèir susbaint taisbeanaidh an sgrion.
2.Interface leasachadh
Bidh bathar-bog DGUS ag ath-nuadhachadh buaidh UI tro ath-chòmhdach còmhdach, a ’cothlamadh na stuthan ullaichte gu dealbh iomlan ann am bathar-bog DGUS, agus a’ suidheachadh na gnìomhan taisbeanaidh is suathaidh.
3. Cuir an gnìomh buaidhean cliog agus buadhan fuaim
Gheibhear an suidheachadh suathaidh tron phrògram 51, tha a ’bhuaidh brùthaidh a’ leantainn gluasad a ’mheur, agus tha prìomh bhuaidh fuaim na taic cuideachd air a choileanadh.
(1) Lorg còd àite suathaidh agus cluich claisneachd:
falamh TouchDetect()
{
u16 Va[3] = 0;
u8 i = 0;
airson(i = 0; i <3;i++)
{
Va[i] = Leugh_Dgus(0x0016+i);
ma tha(Va[0] == 0x5A01)
{
}
eile
{
briseadh;
}
}
ma tha(i! = 0) // Cliog an toiseach gus a dhol a-steach
{
u16 cluich[2] = {0x0001, 0x4000};
touchAnimationFlag = 1;
touchAnimationCnt = 0;
touchPosX = Va[1];
touchPosY = Va[2];
write_dgus_vp(0x00A0, cluich, 2);
}
}
(2) Tha an còd airson taisbeanadh buaidh suathaidh mar a leanas:
falamh TouchStart()
{
ma tha(touchAnimationFlag == 1)
{
ma tha(touchAnimationCnt == 0)
{
Write_Dgus (0x5011, touchPosX - 100);
Write_Dgus (0x5012, touchPosY - 100);
}
Write_Dgus(0x5000, touchAnimationCnt);
touchAnimationCnt++;
ma tha(touchAnimationCnt == 6)
{
touchAnimationFlag = 0;
Write_Dgus(0x5011, 1024);
Write_Dgus(0x5012, 600);
}
}
}
4. Is e an ath cheum na paramadairean co-fhreagarrach a shuidheachadh tron sgrion, agus an uairsin an dàta a chuir gu rianadair biadh cat tro ESP32 gus gnìomh beathachaidh fèin-ghluasadach biadh cat a thoirt gu buil.Tha an còd sònraichte mar a leanas:
// Faigh inbhe putan
falamh get_key_status()
{
int i = 0;
//u16 Va=Leugh_Dgus(addr);
u16 Va=Leugh_Dgus(0x1000);
ma tha (Va! = 0x0000)
{
//Sduilleag tatus
ma tha (Va == 0x0103) // Cuir an àireamh de g
{
suidse u16[2] = {0x5A01, 19};
setNum = àiteGramNum;
aisDuilleag = 1;// Till gu duilleag inbhe
Write_Dgus(0x4000 + 0, seataNum % 10);
Write_Dgus(0x4000 + 2, seataNum / 10% 10);
Write_Dgus(0x4000 + 4, seataNum / 100% 10);
Write_Dgus(0x4000 + 6, seataNum / 1000% 10);
write_dgus_vp(0x0084, suidse, 2);
}
eile ma tha(Va == 0x0102)
{
OneSendData3(àiteGramNum);//Àitebiadh cataon uair
}
eile ma tha(Va == 0x0101) // A’ suidheachadh duilleag
{
suidse u16[2] = {0x5A01, 3};
airson(i = 0; i <6;i++)
{
ma tha(i == 0)
{
Write_Dgus(0x3070 + i * 0x10 + 0, an t-àm làithreach[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, an t-àm làithreach[i] / 10 % 10);
Write_Dgus(0x3070 + i * 0x10 + 4, an t-àm làithreach[i] / 100 % 10);
Write_Dgus(0x3070 + i * 0x10 + 6, an-dràsta[i] / 1000% 10);
}
eile
{
Write_Dgus(0x3070 + i * 0x10 + 0, an t-àm làithreach[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, an t-àm làithreach[i] / 10 % 10);
}
}
write_dgus_vp(0x0084, suidse, 2);// Cuir a-steach duilleag nan roghainnean
}
eile ma tha(Va == 0x0100) //Rduilleag clàr
{
suidse u16[2] = {0x5A01, 2};
airson(i = 0; i <6;i++)
{
ma tha(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);
}
eile
{
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, suidse, 2);// Cuir a-steach duilleag clàraidh
}
//Rduilleag clàr
eile ma tha(Va == 0x0201) // Clàraich an duilleag roimhe
{
ma tha (lookEatCnt > 0)
{
seallEatCnt--;
airson(i = 0; i <6;i++)
{
ma tha(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);
}
eile
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
eile ma tha(Va == 0x0202) // Clàraich duilleag an ath dhuilleig
{
ma tha(lookEatCnt < eatCnt - 1)
{
coimheadEatCnt++;
airson(i = 0; i <6;i++)
{
ma tha(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);
}
eile
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
// A’ suidheachadh duilleag
eile ma tha(Va == 0x0302)
{
ma tha(timeMode == 1)
{
timeMode = 0;
Write_Dgus(0x3A12, 139);
}
}
eile ma tha(Va == 0x0303)
{
ma tha(timeMode == 0)
{
timeMode = 1;
Write_Dgus(0x3A12, 242);
}
}
eile ma tha(Va>= 0x0304 && Va <= 0x0309)
{
suidse u16[2] = {0x5A01, 19};
aisDuilleag = 3;
aisNum = Va;
setNum = timrIntervalHour[Va - 0x0304];
Write_Dgus(0x4000 + 0, seataNum % 10);
Write_Dgus(0x4000 + 2, seataNum / 10% 10);
Write_Dgus(0x4000 + 4, seataNum / 100% 10);
Write_Dgus(0x4000 + 6, seataNum / 1000% 10);
write_dgus_vp(0x0084, suidse, 2);
}
eile ma tha(Va>= 0x030A && Va <= 0x030F)
{
suidse u16[2] = {0x5A01, 19};
aisDuilleag = 3;
aisNum = Va;
setNum = an t-àm làithreach[Va - 0x030A];
Write_Dgus(0x4000 + 0, seataNum % 10);
Write_Dgus(0x4000 + 2, seataNum / 10% 10);
Write_Dgus(0x4000 + 4, seataNum / 100% 10);
Write_Dgus(0x4000 + 6, seataNum / 1000% 10);
write_dgus_vp(0x0084, suidse, 2);
}
//Aduilleag dàta djust
eile ma tha(Va == 0x0400) //Dearbhaich
{
suidse u16[2] = {0x5A01, 0x0000};
switchpage[1] = duilleag cùil;
ma tha(backPage == 1) // Till gu duilleag inbhe
{
àiteGramNum = setNum;
Write_Dgus(0x1140 + 0, àiteGramNum % 10);
Write_Dgus(0x1140 + 2, àiteGramNum / 10 % 10);
}
eile ma tha(backPage == 3)
{
ma tha (backNum>= 0x0304 && backNum <= 0x0309)
{
u16 tagh = 0;
tagh = (backNum - 0x0304) * 0x10;
timrIntervalHour[backNum - 0x0304] = seataNum;
Write_Dgus(0x3010 + tagh + 0, seataNum % 10);
Write_Dgus (0x3010 + tagh + 2, seataNum / 10% 10);
}
eile ma tha (backNum>= 0x030A && backNum <= 0x030F)
{
u16 tagh = 0;
tagh = (backNum - 0x0304) * 0x10;
currentTime[backNum - 0x030A] = seataNum;
ma tha (backNum == 0x030A)
{
Write_Dgus(0x3010 + tagh + 0, seataNum % 10);
Write_Dgus (0x3010 + tagh + 2, seataNum / 10% 10);
Write_Dgus (0x3010 + tagh + 4, seataNum / 100% 10);
Write_Dgus(0x3010 + tagh + 6, seataNum / 1000% 10);
}
eile
{
Write_Dgus(0x3010 + tagh + 0, seataNum % 10);
Write_Dgus (0x3010 + tagh + 2, seataNum / 10% 10);
}
}
}
write_dgus_vp(0x0084, suidse, 2);
}
eile ma tha(Va == 0x0401) //Air ais
{
suidse u16[2] = {0x5A01, 0x0000};
switchpage[1] = duilleag cùil;
write_dgus_vp(0x0084, suidse, 2);
}
eile ma tha(Va == 0x0402) // Àrdachadh àireamhach
{
seataNum++;
Write_Dgus(0x4000 + 0, seataNum % 10);
Write_Dgus(0x4000 + 2, seataNum / 10% 10);
Write_Dgus(0x4000 + 4, seataNum / 100% 10);
Write_Dgus(0x4000 + 6, seataNum / 1000% 10);
}
eile ma tha(Va == 0x0403) // Lùghdachadh àireamhach
{
ma tha (setNum> 0)
seataNum--;
Write_Dgus(0x4000 + 0, seataNum % 10);
Write_Dgus(0x4000 + 2, seataNum / 10% 10);
Write_Dgus(0x4000 + 4, seataNum / 100% 10);
Write_Dgus(0x4000 + 6, seataNum / 1000% 10);
}
Write_Dgus(0x1000, 0);
}
}
Ùine puist: Sultain 19-2023