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

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

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

Муқаддима:

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

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

ИМА (2)

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

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

ИМА (1)

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

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

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

ботил TouchDetect ()

{

    u16 Ва [3] = 0;

    u8 i = 0;

 

    барои(i = 0;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)

    {

        //Ссаҳифаи пинҳон

        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

            {

                агар (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) //Рсаҳифаи ecord

        {

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

            барои(i = 0;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); //Саҳифаи сабтро ворид кунед

        }

        //Рсаҳифаи ecord

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

        {

            агар (lookEatCnt > 0)

            {

                lookEatCnt--;

                барои(i = 0;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

            {

                lookEatCnt++;

                барои(i = 0;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

        {

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

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

            backNum = Ва;

            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

        {

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

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

            backNum = Ва;

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

        }

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

        дигар агар (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

                {

                    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

                {

                    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