[Cùis a choisinn duaisean] Siostam smachd bìdh cat tùrail

——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.

Na Stàitean Aonaichte (2)

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.

Na Stàitean Aonaichte (1)

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 Agus[3] = 0;

    u8 i = 0;

 

    airson(i = 0; 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 biadhaidh 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 falaichte

        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

            {

                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

            {

                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

                {

                    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

            {

                coimheadEatCnt++;

                airson(i = 0; 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

        {

            suidse u16[2] = {0x5A01, 19};

            aisDuilleag = 3;

            backNum = Agus;

            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

        {

            suidse u16[2] = {0x5A01, 19};

            aisDuilleag = 3;

            backNum = Agus;

            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

                {

                    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

                {

                    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