[Mlandu wopambana mphoto] Intelligent Cat Food Control System

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

av (2)

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.

av (1)

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