[Cás a bhuaigh duaiseanna] Córas Rialaithe Bia Cat Chliste

——Ó Fhóram Forbróirí DWIN

San eagrán seo, tabharfaimid isteach duit an cás foinse oscailte a bhuaigh duaiseanna ó Fhóram Forbróirí DWIN: Córas Rialaithe Bia Chliste Cat.Bhain innealtóirí úsáid as scáileán cliste DWIN chun monatóireacht a dhéanamh ar theocht, ar thaise, agus ar an méid bia cat atá fágtha, agus chun taifid itheacháin bia an chait a shábháil.Dhear siad freisin sraith chomhéadain stíl péintéireachta dúigh go huathúil, chomh maith le héifeacht cliceáil dúigh nuair a bhíonn méar i dteagmháil léi, chun an dearcadh amhairc ar aiseolas tadhaill a fheabhsú.

Réamhrá:

Ábhar pictiúr 1.UI

Críochnaíonn scáileán cliste DWIN forbairt Chomhéadain bunaithe ar phictiúir, is gá fuaime agus ábhair eile a ullmhú roimh ré de réir ábhar taispeána an scáileáin.

asv (2)

Forbairt 2.Interface

Athchóiríonn bogearraí DGUS an éifeacht Chomhéadain trí fhorleagan ciseal, comhcheanglaíonn sé na hábhair ullmhaithe i bpictiúr iomlán i mbogearraí DGUS, agus socraíonn sé na feidhmeanna taispeána agus tadhaill.

asv (1)

3. Éifeachtaí cliceáil agus maisíochtaí fuaime a chur i bhfeidhm

Faightear an suíomh tadhaill tríd an gclár 51, leanann an éifeacht brú ar ghluaiseacht an mhéar, agus baintear amach an éifeacht fuaime tionlacain eochair freisin.

(1) Braith cód suímh tadhaill agus seinn fuaime:

neamhní TouchDetect()

{

    u16 Va[3] = 0;

    u8 i = 0;

 

    le haghaidh(i = 0; i < 3; i++)

    {

        Va[i] = Léigh_Dgus(0x0016 + i);

        má(VA[0] == 0x5A01)

        {

        }

        eile

        {

            briseadh ;

        }

    }

    if(i!= 0) //An chéad cliceáil chun dul isteach

    {

        u16 imirt[2] = {0x0001, 0x4000};

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va[1];

        touchPosY = Va[2];

        write_dgus_vp(0x00A0, imirt, 2);

    }

}

 

(2) Is é seo a leanas an cód le haghaidh taispeáint éifeacht tadhaill:

neamhní 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. Is é an chéad chéim eile ná na paraiméadair chomhfhreagracha a shocrú tríd an scáileán, agus ansin na sonraí a tharchur chuig an rialtóir bia cat trí ESP32 chun feidhm bheathú uathoibríoch bia cat a bhaint amach.Is é seo a leanas an cód sonrach:

// Faigh stádas cnaipe

ar neamhní get_key_status()

{

    int i = 0;

    //u16 Va=Léigh_Dgus(addr);

    u16 Va=Léamh_Dgus(0x1000);

    má(Va!= 0x0000)

    {

        //Sleathanach tatus

        más(Va == 0x0103) // Cuir uimhir g

        {

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

            setNum = áitGramNum;

            cúlPage = 1;// Fill ar an leathanach stádais

            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, lasc-leathanach, 2);

        }

        eile má(Va == 0x0102)

        {

            OneSendData3(placeGramNum);//Áitbia catuair

        }

        eile más rud é(Va == 0x0101) // Leathanach socrú

        {

            lasc leathanach u16[2] = {0x5A01, 3};

            le haghaidh(i = 0; i < 6; i++)

            {

                má(i == 0)

                {

                    Write_Dgus(0x3070+ i * 0x10 + 0, Am reatha[i] % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 2, Am reatha[i] / 10 % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 4, Am reatha[i] / 100 % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 6, Am reatha[i] / 1000 % 10);

                }

                eile

                {

                    Write_Dgus(0x3070+ i * 0x10 + 0, Am reatha[i] % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 2, Am reatha[i] / 10 % 10);

                }

            }

            write_dgus_vp(0x0084, lasc-leathanach, 2);//Cuir isteach an leathanach socruithe

        }

        eile más rud é(Va == 0x0100) //Rleathanach ceirníní

        {

            lasc leathanach u16[2] = {0x5A01, 2};

            le haghaidh(i = 0; i < 6; i++)

            {

                má(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, lasc-leathanach, 2);//Cuir isteach leathanach taifid

        }

        //Rleathanach ceirníní

        eile más rud é(Va == 0x0201) // Taifead an leathanach roimhe seo

        {

            má(lookEatCnt > 0)

            {

                cumaEatCnt--;

                le haghaidh(i = 0; i < 6; i++)

                {

                    má(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 más rud é(Va == 0x0202) // Taifead an leathanach seo chugainn

        {

            if(lookEatCnt < eatCnt - 1)

            {

                cumaEatCnt++;

                le haghaidh(i = 0; i < 6; i++)

                {

                    má(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);

                    }

                }

            }

        }

        // Leathanach a shocrú

        eile má(Va == 0x0302)

        {

            má(timeMode == 1)

            {

                timeMode = 0;

                Write_Dgus(0x3A12, 139);

            }

        }

        eile má(Va == 0x0303)

        {

            má(timeMode == 0)

            {

                timeMode = 1;

                Write_Dgus(0x3A12, 242);

            }

        }

        eile má(Va >= 0x0304 && Va <= 0x0309)

        {

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

            cúlPage = 3;

            aisNum = 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, lasc-leathanach, 2);

        }

        eile más rud é(Va >= 0x030A && Va <= 0x030F)

        {

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

            cúlPage = 3;

            aisNum = Va;

            setNum = Am reatha[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, lasc-leathanach, 2);

        }

        //Aleathanach sonraí djust

        eile más rud é(Va == 0x0400) //Deimhnigh

        {

            lasc leathanach u16[2] = {0x5A01, 0x0000};

            switchpage[1] = leathanach cúil;

            if(backPage == 1) // Fill ar an leathanach stádais

            {

                áitGramNum = setNum;

                Write_Dgus(0x1140 + 0, placeGramNum % 10);

                Write_Dgus(0x1140 + 2, placeGramNum / 10 % 10);

            }

            eile más rud é(backPage == 3)

            {

                má(aisNum >= 0x0304 && aisNum <= 0x0309)

                {

                    u16 roghnaigh = 0;

                    roghnaigh = (backNum - 0x0304) * 0x10;

                    timrIntervalHour[backNum - 0x0304] = setNum;

                    Write_Dgus(0x3010 + roghnaigh + 0, socraighNum % 10);

                    Write_Dgus(0x3010 + roghnaigh + 2, setNum / 10 % 10);

                }

                eile más rud é(backNum >= 0x030A && backNum <= 0x030F)

                {

                    u16 roghnaigh = 0;

                    roghnaigh = (backNum - 0x0304) * 0x10;

                    currentTime[backNum - 0x030A] = setNum;

                    

                    má(aisNum == 0x030A)

                    {

                        Write_Dgus(0x3010 + roghnaigh + 0, socraighNum % 10);

                        Write_Dgus(0x3010 + roghnaigh + 2, setNum / 10 % 10);

                        Write_Dgus(0x3010 + roghnaigh + 4, setNum / 100 % 10);

                        Write_Dgus(0x3010 + roghnaigh + 6, setNum / 1000 % 10);

                    }

                    eile

                    {

                        Write_Dgus(0x3010 + roghnaigh + 0, socraighNum % 10);

                        Write_Dgus(0x3010 + roghnaigh + 2, setNum / 10 % 10);

                    }

                }

            }

            write_dgus_vp(0x0084, lasc-leathanach, 2);

        }

        eile más rud é(Va == 0x0401) //Ar ais

        {

            lasc leathanach u16[2] = {0x5A01, 0x0000};

            switchpage[1] = leathanach cúil;

            write_dgus_vp(0x0084, lasc-leathanach, 2);

        }

        eile más rud é(Va == 0x0402) // Méadú uimhriúil

        {

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

        }

        eile más rud é(Va == 0x0403) // Laghdú uimhriúil

        {

            má (Uimhir socraithe > 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);

    }

}


Am postála: Meán Fómhair-19-2023