[Ҳолати барандаи ҷоиза] Системаи интеллектуалии назорати ғизои Cat

——Аз форуми таҳиягарони DWIN

Дар ин шумора, мо ба шумо парвандаи кушодаасоси барандаи ҷоизаро аз Форуми таҳиягарони DWIN: Системаи интеллектуалии назорати ғизои гурбаҳо муаррифӣ хоҳем кард.Муҳандисон экрани интеллектуалии DWIN-ро барои назорат кардани ҳарорат, намӣ ва миқдори боқимондаи ғизои гурбаҳо ва захира кардани сабтҳои хӯрдани ғизои гурба истифода бурданд.Онҳо инчунин маҷмӯи услуби рангкунии рангро ба таври беназир тарҳрезӣ карданд, инчунин эффекти кликро ҳангоми ламс кардани ангушт барои баланд бардоштани дарки визуалии фикру мулоҳизаҳо.

Муқаддима:

1.Маводи тасвирии UI

Экрани интеллектуалии DWIN таҳияи UI-ро дар асоси тасвирҳо, аудио ва дигар маводҳо бояд пешакӣ мувофиқи мундариҷаи намоиши экран омода карда шавад.

asv (2)

2. Таҳияи интерфейс

Нармафзори DGUS тавассути қабати қабати эффекти UI-ро барқарор мекунад, маводи омодашударо ба тасвири мукаммал дар нармафзори DGUS муттаҳид мекунад ва функсияҳои намоиш ва ламсро муқаррар мекунад.

asv (1)

3. Татбиқи эффектҳои клик ва эффектҳои садо

Мавқеи ламс тавассути барномаи 51 ба даст оварда мешавад, эффекти пахшкунӣ ҳаракати ангуштро пайгирӣ мекунад ва эффекти садои ҳамроҳии калидӣ низ ба даст меояд.

(1) Рамзи ҷойгиршавии ламсро муайян кунед ва аудиоро бозӣ кунед:

ботил TouchDetect ()

{

    u16 Va[3] = 0;

    u8 i = 0;

 

    барои(i = 0;i <3;i++)

    {

        Va[i] = Read_Dgus (0x0016 + i);

        агар(Va[0] == 0x5A01)

        {

        }

        дигар

        {

            шикастан;

        }

    }

    if(i != 0) //Аввал барои дохил шудан клик кунед

    {

        u16 бозӣ [2] = {0x0001, 0x4000};

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va[1];

        touchPosY = Va[2];

        write_dgus_vp (0x00A0, бозӣ, 2);

    }

}

 

(2) Рамзи намоиши эффекти ламсӣ чунин аст:

Бекор кардани TouchStart ()

{

    агар(touchAnimationFlag == 1)

    {

        агар(touchAnimationCnt == 0)

        {

            Write_Dgus (0x5011, touchPosX - 100);

            Write_Dgus (0x5012, touchPosY - 100);

        }

 

        Write_Dgus (0x5000, touchAnimationCnt);

        touchAnimationCnt++;

 

        агар(touchAnimationCnt == 6)

        {

            touchAnimationFlag = 0;

            Write_Dgus (0x5011, 1024);

            Write_Dgus (0x5012, 600);

        }

    }

    

}

 

4. Қадами навбатӣ ин аст, ки параметрҳои мувофиқро тавассути экран муқаррар кунед ва сипас маълумотро ба контролери ғизои гурба тавассути ESP32 интиқол диҳед, то функсияи ғизодиҳии худкори ғизои гурбаро амалӣ созед.Рамзи мушаххас чунин аст:

// Ҳолати тугмаро гиред

бекор кардани get_key_status()

{

    int i = 0;

    //u16 Va=Read_Dgus(addr);

    u16 Va=Read_Dgus(0x1000);

    агар(Va != 0x0000)

    {

        //Sсаҳифаи тотус

        if(Va == 0x0103) //Рақами g-ро ҷойгир кунед

        {

            u16 гузариш [2] = {0x5A01, 19};

            setNum = placeGramNum;

            Саҳифаи бозгашт = 1;//Бозгашт ба саҳифаи вазъият

            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, гузариш, 2);

        }

        дигаре агар (Va == 0x0102)

        {

            OneSendData3 (placeGramNum);//Ҷойгирғизои гурбаяк бор

        }

        else if(Va == 0x0101) //Саҳифаи танзим

        {

            u16 гузариш[2] = {0x5A01, 3};

            барои(i = 0;i < 6;i++)

            {

                агар (i == 0)

                {

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

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

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

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

                }

                дигар

                {

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

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

                }

            }

            write_dgus_vp (0x0084, гузариш, 2);// Саҳифаи танзимотро ворид кунед

        }

        дигар агар (Va == 0x0100) //Rсаҳифаи ecord

        {

            u16 гузариш[2] = {0x5A01, 2};

            барои(i = 0;i < 6;i++)

            {

                агар (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);

                }

                дигар

                {

                    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, гузариш, 2);//Саҳифаи сабтро ворид кунед

        }

        //Rсаҳифаи ecord

        else if(Va == 0x0201) //Саҳифаи қаблиро сабт кунед

        {

            агар(lookEatCnt> 0)

            {

                lookEatCnt--;

                барои(i = 0;i < 6;i++)

                {

                    агар (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);

                    }

                    дигар

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                    }

                }

            }

        }

        else if(Va == 0x0202) //Саҳифаи дигарро сабт кунед

        {

            агар(lookEatCnt < eatCnt - 1)

            {

                lookEatCnt++;

                барои(i = 0;i < 6;i++)

                {

                    агар (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);

                    }

                    дигар

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                    }

                }

            }

        }

        // Саҳифаи танзим

        дигаре агар (Va == 0x0302)

        {

            агар (режими вақт == 1)

            {

                TimeMode = 0;

                Write_Dgus (0x3A12, 139);

            }

        }

        дигаре агар (Va == 0x0303)

        {

            агар (режими вақт == 0)

            {

                TimeMode = 1;

                Write_Dgus (0x3A12, 242);

            }

        }

        дигаре агар(Va >= 0x0304 && Va <= 0x0309)

        {

            u16 гузариш [2] = {0x5A01, 19};

            Саҳифаи бозгашт = 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, гузариш, 2);

        }

        дигаре агар(Va >= 0x030A && Va <= 0x030F)

        {

            u16 гузариш [2] = {0x5A01, 19};

            Саҳифаи бозгашт = 3;

            backNum = Va;

            setNum = Вақти ҷорӣ [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, гузариш, 2);

        }

        //Aсаҳифаи маълумотро танзим кунед

        дигар агар (Va == 0x0400) //Тасдиқ кунед

        {

            u16 гузариш[2] = {0x5A01, 0x0000};

            гузариш[1] = саҳифаи бозгашт;

            if(backPage == 1) //Бозгашт ба саҳифаи ҳолат

            {

                placeGramNum = setNum;

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

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

            }

            дигаре агар (саҳифаи паси == 3)

            {

                агар(backNum >= 0x0304 && backNum <= 0x0309)

                {

                    u16 интихоб = 0;

                    интихоб кунед = (backNum - 0x0304) * 0x10;

                    timrIntervalHour[backNum - 0x0304] = setNum;

                    Write_Dgus(0x3010 + интихоб + 0, setNum % 10);

                    Write_Dgus (0x3010 + интихоб + 2, setNum / 10 % 10);

                }

                дигаре агар (backNum >= 0x030A && backNum <= 0x030F)

                {

                    u16 интихоб = 0;

                    интихоб кунед = (backNum - 0x0304) * 0x10;

                    currentTime[backNum - 0x030A] = setNum;

                    

                    агар (backNum == 0x030A)

                    {

                        Write_Dgus(0x3010 + интихоб + 0, setNum % 10);

                        Write_Dgus (0x3010 + интихоб + 2, setNum / 10 % 10);

                        Write_Dgus (0x3010 + интихоб + 4, setNum / 100 % 10);

                        Write_Dgus (0x3010 + интихоб + 6, setNum / 1000 % 10);

                    }

                    дигар

                    {

                        Write_Dgus(0x3010 + интихоб + 0, setNum % 10);

                        Write_Dgus (0x3010 + интихоб + 2, setNum / 10 % 10);

                    }

                }

            }

            write_dgus_vp (0x0084, гузариш, 2);

        }

        дигаре агар (Va == 0x0401) //Бозгашт

        {

            u16 гузариш[2] = {0x5A01, 0x0000};

            гузариш[1] = саҳифаи бозгашт;

            write_dgus_vp (0x0084, гузариш, 2);

        }

        else if(Va == 0x0402) // Афзоиши ададӣ

        {

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

        }

        else if(Va == 0x0403) //Коҳиши ададӣ

        {

            агар (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);

        }

        

        Write_Dgus (0x1000, 0);

    }

}


Вақти фиристодан: сентябр-19-2023