[مۇكاپاتقا ئېرىشكەن دېلو] ئەقلىي ئىقتىدارلىق مۈشۈك يېمەكلىك كونترول سىستېمىسى

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

 

    for (i = 0; i <3; i ++)

    {

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

        if (Va [0] == 0x5A01)

        {

        }

        else

        {

            break;

        }

    }

    if (i! = 0) // ئالدى بىلەن چېكىڭ

    {

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

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va [1];

        touchPosY = Va [2];

        write_dgus_vp (0x00A0 ، ئويناش ، 2);

    }

}

 

(2) سېزىمچان ئۈنۈم كۆرسىتىش كودى تۆۋەندىكىچە:

void 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. كېيىنكى قەدەمدە ئېكران ئارقىلىق مۇناسىپ پارامېتىرلارنى تەڭشەش ، ئاندىن سانلىق مەلۇماتنى ESP32 ئارقىلىق مۈشۈك يېمەكلىك كونتروللىغۇچقا يەتكۈزۈپ ، مۈشۈك يېمەكلىكلىرىنىڭ ئاپتوماتىك ئوزۇقلىنىش ئىقتىدارىنى ئەمەلگە ئاشۇرۇش.كونكرېت كود تۆۋەندىكىچە:

// كۇنۇپكا ھالىتىگە ئېرىشىش

void get_key_status ()

{

    int i = 0;

    // u16 Va = Read_Dgus (addr);

    u16 Va = Read_Dgus (0x1000);

    if (Va! = 0x0000)

    {

        //Status page

        if (Va == 0x0103) // g نىڭ سانىنى قويۇڭ

        {

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

            setNum = placeGramNum;

            backPage = 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);//ئورۇنمۈشۈك يېمەكلىكلىرىبىر قېتىم

        }

        بولمىسا (Va == 0x0101) // بەت تەڭشەش

        {

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

            for (i = 0; i <6; i ++)

            {

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

                }

                else

                {

                    Write_Dgus (0x3070 + i * 0x10 + 0, نۆۋەتتىكى ۋاقىت [i]% 10);

                    Write_Dgus (0x3070 + i * 0x10 + 2 ، نۆۋەتتىكى ۋاقىت [i] / 10% 10);

                }

            }

            write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);// تەڭشەك بېتىنى كىرگۈزۈڭ

        }

        بولمىسا (Va == 0x0100) //Record page

        {

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

            for (i = 0; i <6; i ++)

            {

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

                }

                else

                {

                    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);// خاتىرە بېتىنى كىرگۈزۈڭ

        }

        //Record page

        بولمىسا (Va == 0x0201) // ئالدىنقى بەتنى خاتىرىلەڭ

        {

            if (lookEatCnt> 0)

            {

                lookEatCnt--;

                for (i = 0; i <6; i ++)

                {

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

                    }

                    else

                    {

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

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

                    }

                }

            }

        }

        بولمىسا (Va == 0x0202) // كېيىنكى بەتنى خاتىرىلەڭ

        {

            if (lookEatCnt <eatCnt - 1)

            {

                lookEatCnt ++;

                for (i = 0; i <6; i ++)

                {

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

                    }

                    else

                    {

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

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

                    }

                }

            }

        }

        // بەت تەڭشەش

        بولمىسا (Va == 0x0302)

        {

            if (timeMode == 1)

            {

                timeMode = 0;

                Write_Dgus (0x3A12, 139);

            }

        }

        بولمىسا (Va == 0x0303)

        {

            if (timeMode == 0)

            {

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

            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 switchpage [2] = {0x5A01, 19};

            backPage = 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 ، ئالماشتۇرغۇچ ، 2);

        }

        //Aسانلىق مەلۇمات بېتى

        بولمىسا (Va == 0x0400) //جەزملەشتۈرۈڭ

        {

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

            switchpage [1] = backPage;

            if (backPage == 1) // ھالەت بېتىگە قايتىڭ

            {

                placeGramNum = setNum;

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

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

            }

            بولمىسا (backPage == 3)

            {

                if (backNum> = 0x0304 && backNum <= 0x0309)

                {

                    u16 select = 0;

                    select = (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 select = 0;

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

                    currentTime [backNum - 0x030A] = setNum;

                    

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

                    }

                    else

                    {

                        Write_Dgus (0x3010 + تاللاڭ + 0 ، setNum% 10);

                        Write_Dgus (0x3010 + تاللاڭ + 2 ، setNum / 10% 10);

                    }

                }

            }

            write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);

        }

        بولمىسا (Va == 0x0401) //قايتىش

        {

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

            switchpage [1] = backPage;

            write_dgus_vp (0x0084 ، ئالماشتۇرغۇچ ، 2);

        }

        بولمىسا (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);

        }

        بولمىسا (Va == 0x0403) // سان ئازىيىدۇ

        {

            if (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-يىلغىچە