[اوارڊ کٽڻ وارو ڪيس] ذھني ٻلي فوڊ ڪنٽرول سسٽم

—— DWIN ڊولپر فورم کان

هن شماري ۾، اسان توهان کي متعارف ڪرائينداسين انعام کٽڻ وارو اوپن سورس ڪيس DWIN ڊولپر فورم کان: انٽيليجنٽ ڪيٽ فوڊ ڪنٽرول سسٽم.انجنيئرن DWIN سمارٽ اسڪرين کي استعمال ڪيو گرمي پد، نمي، ۽ ٻلي جي کاڌي جي باقي مقدار کي مانيٽر ڪرڻ، ۽ ٻلي جي کاڌي جي رڪارڊ کي بچائڻ لاء.انهن انڪ پينٽنگ اسٽائل UI جو هڪ سيٽ پڻ منفرد طور تي ڊزائين ڪيو آهي، انهي سان گڏ هڪ انڪ ڪلڪ اثر جڏهن آڱر سان ڇهيو ويندو آهي، رابطي جي راءِ جي بصري تصور کي وڌائڻ لاءِ.

تعارف:

1.UI تصويري مواد

DWIN سمارٽ اسڪرين UI ڊولپمينٽ مڪمل ڪري ٿي تصويرن، آڊيو ۽ ٻين مواد جي بنياد تي اسڪرين ڊسپلي مواد جي مطابق اڳ ۾ تيار ٿيڻ جي ضرورت آهي.

asv (2)

2.انٽرفيس جي ترقي

DGUS سافٽ ويئر UI اثر کي پرت اوورلي ذريعي بحال ڪري ٿو، تيار ڪيل مواد کي DGUS سافٽ ويئر ۾ مڪمل تصوير ۾ گڏ ڪري ٿو، ۽ ڊسپلي ۽ ٽچ افعال کي سيٽ ڪري ٿو.

asv (1)

3. ڪلڪ اثرات ۽ صوتي اثرات لاڳو ڪريو

رابطي جي پوزيشن 51 پروگرام ذريعي حاصل ڪئي وئي آهي، دٻاء جو اثر آڱر جي حرڪت جي پٺيان آهي، ۽ اهم گڏوگڏ آواز اثر پڻ حاصل ڪيو ويندو آهي.

(1) ڳولهيو ٽچ مقام ڪوڊ ۽ آڊيو کيڏيو:

void 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}؛

        ٽچ اينيميشن پرچم = 1؛

        touchAnimationCnt = 0؛

        touchPosX = Va[1]؛

        touchPosY = Va[2]؛

        write_dgus_vp(0x00A0، راند، 2)؛

    }

}

 

(2) ٽچ اثر ڊسپلي لاء ڪوڊ هن ريت آهي:

void TouchStart()

{

    جيڪڏهن (touch Animation Flag == 1)

    {

        جيڪڏهن (touchAnimationCnt == 0)

        {

            Write_Dgus(0x5011, touchPosX - 100);

            Write_Dgus(0x5012, touchPosY - 100);

        }

 

        Write_Dgus(0x5000, touchAnimationCnt)؛

        touchAnimationCnt++;

 

        جيڪڏهن (touchAnimationCnt == 6)

        {

            ٽچ اينيميشن پرچم = 0؛

            Write_Dgus(0x5011, 1024);

            لکو_Dgus(0x5012, 600);

        }

    }

    

}

 

4. ايندڙ قدم اسڪرين جي ذريعي لاڳاپيل پيٽرولن کي سيٽ ڪرڻ آهي، ۽ پوء ڊيٽا کي ESP32 ذريعي ٻلي فوڊ ڪنٽرولر ڏانهن منتقل ڪرڻ لاء ٻلي کاڌي جي خودڪار فيڊنگ فنڪشن کي محسوس ڪرڻ لاء.مخصوص ڪوڊ هن ريت آهي:

// بٽڻ جي حيثيت حاصل ڪريو

void get_key_status()

{

    int i = 0؛

    //u16 Va=Read_Dgus(addr)؛

    u16 Va=Read_Dgus(0x1000)؛

    جيڪڏھن (Va ! = 0x0000)

    {

        //Status صفحو

        جيڪڏهن (Va == 0x0103) // ج جو تعداد رکو

        {

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

            setNum = placeGramNum;

            پوئتي صفحو = 1؛// اسٽيٽس پيج ڏانھن واپس وڃو

            Write_Dgus(0x4000 + 0, setNum % 10);

            لکو_Dgus(0x4000 + 2, setNum / 10% 10);

            لکو_Dgus(0x4000 + 4, setNum / 100% 10);

            لکو_Dgus(0x4000 + 6, setNum / 1000% 10);

            write_dgus_vp(0x0084, switchpage, 2)؛

        }

        ٻيو جيڪڏهن (Va == 0x0102)

        {

            OneSendData3 (placeGramNum)؛//جاءِٻلي جو کاڌوهڪ دفعو

        }

        ٻيو جيڪڏهن (Va == 0x0101) // سيٽنگ جو صفحو

        {

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

            لاءِ (i = 0؛ i <6؛ i++)

            {

                جيڪڏهن (i == 0)

                {

                    Write_Dgus(0x3070 + i * 0x10 + 0، موجوده وقت[i] % 10)؛

                    Write_Dgus(0x3070 + i * 0x10 + 2، موجوده وقت[i] / 10 % 10)؛

                    Write_Dgus(0x3070 + i * 0x10 + 4، موجوده وقت[i] / 100 % 10)؛

                    Write_Dgus(0x3070 + i * 0x10 + 6، موجوده وقت[i] / 1000 % 10)؛

                }

                ٻيو

                {

                    Write_Dgus(0x3070 + i * 0x10 + 0، موجوده وقت[i] % 10)؛

                    Write_Dgus(0x3070 + i * 0x10 + 2، موجوده وقت[i] / 10 % 10)؛

                }

            }

            write_dgus_vp(0x0084, switchpage, 2)؛// داخل ڪريو سيٽنگون صفحي

        }

        ٻيو جيڪڏهن (Va == 0x0100) //Record صفحو

        {

            u16 switchpage[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, switchpage, 2)؛// داخل ڪريو رڪارڊ صفحو

        }

        //Record صفحو

        ٻيو جيڪڏهن (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);

                    }

                }

            }

        }

        ٻيو جيڪڏهن (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)

            {

                ٽائيم موڊ = 0؛

                Write_Dgus(0x3A12, 139);

            }

        }

        ٻيو جيڪڏهن (Va == 0x0303)

        {

            جيڪڏهن (ٽائم موڊ == 0)

            {

                ٽائيم موڊ = 1؛

                Write_Dgus(0x3A12, 242);

            }

        }

        ٻيو جيڪڏهن (Va >= 0x0304 && Va <= 0x0309)

        {

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

            backpage = 3؛

            backNum = Va؛

            setNum = timrIntervalHour[Va - 0x0304]؛

            Write_Dgus(0x4000 + 0, setNum % 10);

            لکو_Dgus(0x4000 + 2, setNum / 10% 10);

            لکو_Dgus(0x4000 + 4, setNum / 100% 10);

            لکو_Dgus(0x4000 + 6, setNum / 1000% 10);

            write_dgus_vp(0x0084, switchpage, 2)؛

        }

        ٻيو جيڪڏهن (Va >= 0x030A && Va <= 0x030F)

        {

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

            backpage = 3؛

            backNum = Va؛

            setNum = موجوده وقت[Va - 0x030A]؛

            Write_Dgus(0x4000 + 0, setNum % 10);

            لکو_Dgus(0x4000 + 2, setNum / 10% 10);

            لکو_Dgus(0x4000 + 4, setNum / 100% 10);

            لکو_Dgus(0x4000 + 6, setNum / 1000% 10);

            write_dgus_vp(0x0084, switchpage, 2)؛

        }

        //Adjust ڊيٽا صفحو

        ٻيو جيڪڏهن (Va == 0x0400) //تصديق ڪريو

        {

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

            switchpage[1] = پوئتي صفحو؛

            جيڪڏھن (backPage == 1) // اسٽيٽس پيج ڏانھن واپس وڃو

            {

                placeGramNum = setNum؛

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

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

            }

            ٻيو جيڪڏهن (backPage == 3)

            {

                جيڪڏهن (backNum >= 0x0304 && backNum <= 0x0309)

                {

                    u16 چونڊيو = 0؛

                    Select = (backNum - 0x0304) * 0x10؛

                    timrIntervalHour [backNum - 0x0304] = setNum؛

                    لکو_Dgus(0x3010 + چونڊيو + 0، سيٽ نمبر % 10)؛

                    لکو_Dgus(0x3010 + چونڊيو + 2، سيٽ نمبر / 10٪ 10)؛

                }

                ٻيو جيڪڏهن (backNum >= 0x030A && backNum <= 0x030F)

                {

                    u16 چونڊيو = 0؛

                    Select = (backNum - 0x0304) * 0x10؛

                    موجوده وقت [backNum - 0x030A] = setNum؛

                    

                    جيڪڏهن (backNum == 0x030A)

                    {

                        لکو_Dgus(0x3010 + چونڊيو + 0، سيٽ نمبر % 10)؛

                        لکو_Dgus(0x3010 + چونڊيو + 2، سيٽ نمبر / 10٪ 10)؛

                        لکو_Dgus(0x3010 + چونڊيو + 4، سيٽ نمبر / 100٪ 10)؛

                        لکو_Dgus(0x3010 + چونڊيو + 6، سيٽ نمبر / 1000٪ 10)؛

                    }

                    ٻيو

                    {

                        لکو_Dgus(0x3010 + چونڊيو + 0، سيٽ نمبر % 10)؛

                        لکو_Dgus(0x3010 + چونڊيو + 2، سيٽ نمبر / 10٪ 10)؛

                    }

                }

            }

            write_dgus_vp(0x0084, switchpage, 2)؛

        }

        ٻيو جيڪڏهن (Va == 0x0401) //پوئتي

        {

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

            switchpage[1] = پوئتي صفحو؛

            write_dgus_vp(0x0084, switchpage, 2)؛

        }

        ٻيو جيڪڏهن (Va == 0x0402) // عددي واڌ

        {

            setNum ++;

            Write_Dgus(0x4000 + 0, setNum % 10);

            لکو_Dgus(0x4000 + 2, setNum / 10% 10);

            لکو_Dgus(0x4000 + 4, setNum / 100% 10);

            لکو_Dgus(0x4000 + 6, setNum / 1000% 10);

        }

        ٻيو جيڪڏهن (Va == 0x0403) // عددي گهٽتائي

        {

            جيڪڏهن (سيٽ نمبر > 0)

                setNum--؛

            Write_Dgus(0x4000 + 0, setNum % 10);

            لکو_Dgus(0x4000 + 2, setNum / 10% 10);

            لکو_Dgus(0x4000 + 4, setNum / 100% 10);

            لکو_Dgus(0x4000 + 6, setNum / 1000% 10);

        }

        

        لکو_Dgus(0x1000, 0);

    }

}


پوسٽ جو وقت: سيپٽمبر-19-2023