[ପୁରସ୍କାର ପ୍ରାପ୍ତ ମାମଲା] ଇଣ୍ଟେଲିଜେଣ୍ଟ୍ କ୍ୟାଟ୍ ଫୁଡ୍ କଣ୍ଟ୍ରୋଲ୍ ସିଷ୍ଟମ୍ |

—— DWIN ଡେଭଲପର୍ ଫୋରମ୍ ରୁ |

ଏହି ପ୍ରସଙ୍ଗରେ, ଆମେ ଆପଣଙ୍କୁ DWIN ଡେଭଲପର୍ ଫୋରମ୍: ଇଣ୍ଟେଲିଜେଣ୍ଟ୍ କ୍ୟାଟ୍ ଫୁଡ୍ କଣ୍ଟ୍ରୋଲ୍ ସିଷ୍ଟମରୁ ପୁରସ୍କାର ପ୍ରାପ୍ତ ମୁକ୍ତ ଉତ୍ସ ମାମଲା ବିଷୟରେ ଜଣାଇବୁ |ଇଞ୍ଜିନିୟରମାନେ ତାପମାତ୍ରା, ଆର୍ଦ୍ରତା ଏବଂ ଅବଶିଷ୍ଟ ପରିମାଣର ବିଲେଇ ଖାଦ୍ୟ ଉପରେ ନଜର ରଖିବା ଏବଂ ବିଲେଇଙ୍କ ଖାଦ୍ୟ ଖାଇବା ରେକର୍ଡକୁ ସଂରକ୍ଷଣ କରିବା ପାଇଁ DWIN ସ୍ମାର୍ଟ ସ୍କ୍ରିନ ବ୍ୟବହାର କରିଥିଲେ |ସ୍ପର୍ଶ ଫିଡବ୍ୟାକ୍ ର ଭିଜୁଆଲ୍ ଧାରଣାକୁ ବ to ାଇବା ପାଇଁ ସେମାନେ ଏକ ସ୍ ink ତନ୍ତ୍ର ଭାବରେ ଇଙ୍କି ପେଣ୍ଟିଂ ଶ style ଳୀ UI ର ଏକ ସେଟ୍ ଡିଜାଇନ୍ କରିଥିଲେ, ଏବଂ ଆଙ୍ଗୁଠି ଦ୍ୱାରା ସ୍ପର୍ଶ ହେଲେ ଏକ ଇଙ୍କି କ୍ଲିକ୍ ଇଫେକ୍ଟ |

ପରିଚୟ:

1.UI ଚିତ୍ର ସାମଗ୍ରୀ |

ଚିତ୍ର, ଅଡିଓ ଏବଂ ଅନ୍ୟାନ୍ୟ ସାମଗ୍ରୀ ଉପରେ ଆଧାର କରି DWIN ସ୍ମାର୍ଟ ସ୍କ୍ରିନ୍ UI ବିକାଶ ସମାପ୍ତ କରେ, ସ୍କ୍ରିନ୍ ପ୍ରଦର୍ଶନ ବିଷୟବସ୍ତୁ ଅନୁଯାୟୀ ଆଗୁଆ ପ୍ରସ୍ତୁତ ହେବା ଆବଶ୍ୟକ |

asv (2)

2. ଇଣ୍ଟରଫେସ୍ ବିକାଶ

DGUS ସଫ୍ଟୱେର୍ ଲେୟାର୍ ଓଭରଲେଜ୍ ମାଧ୍ୟମରେ UI ପ୍ରଭାବକୁ ପୁନ ores ସ୍ଥାପନ କରେ, ପ୍ରସ୍ତୁତ ସାମଗ୍ରୀକୁ 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)

        {

        }

        ଅନ୍ୟ

        {

            ବିରତି;

        }

    }

    ଯଦି (i! = 0) // ପ୍ରବେଶ କରିବାକୁ ପ୍ରଥମେ କ୍ଲିକ୍ କରନ୍ତୁ |

    {

        u16 ଖେଳ [2] = {0x0001, 0x4000};

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va [1];

        touchPosY = Va [2];

        write_dgus_vp (0x00A0, ଖେଳ, 2);

    }

}

 

(୨) ଟଚ୍ ଇଫେକ୍ଟ ପ୍ରଦର୍ଶନ ପାଇଁ କୋଡ୍ ନିମ୍ନଲିଖିତ ଅଟେ:

ଶୂନ୍ୟ ଟଚ୍ ଷ୍ଟାର୍ଟ ()

{

    ଯଦି (touchAnimationFlag == 1)

    {

        ଯଦି (touchAnimationCnt == 0)

        {

            ଲେଖ_ଡିଗସ୍ (0x5011, touchPosX - 100);

            ଲେଖ_ଡିଗସ୍ (0x5012, touchPosY - 100);

        }

 

        ଲେଖ_ଡିଗସ୍ (0x5000, touchAnimationCnt);

        touchAnimationCnt ++;

 

        ଯଦି (touchAnimationCnt == 6)

        {

            touchAnimationFlag = 0;

            ଲେଖ_ଡିଗସ୍ (0x5011, 1024);

            ଲେଖ_ଡିଗସ୍ (0x5012, 600);

        }

    }

    

}

 

4. ପରବର୍ତ୍ତୀ ପଦକ୍ଷେପ ହେଉଛି ପରଦା ମାଧ୍ୟମରେ ସଂପୃକ୍ତ ପାରାମିଟରଗୁଡିକ ସେଟ୍ କରିବା, ଏବଂ ତାପରେ ବିଲେଇ ଖାଦ୍ୟର ସ୍ୱୟଂଚାଳିତ ଖାଇବା କାର୍ଯ୍ୟକୁ ହୃଦୟଙ୍ଗମ କରିବା ପାଇଁ ESP32 ମାଧ୍ୟମରେ ବିଲେଇ ଖାଦ୍ୟ ନିୟନ୍ତ୍ରକକୁ ତଥ୍ୟ ପଠାନ୍ତୁ |ନିର୍ଦ୍ଦିଷ୍ଟ କୋଡ୍ ନିମ୍ନଲିଖିତ ଅଟେ:

// ବଟନ୍ ସ୍ଥିତି ପ୍ରାପ୍ତ କରନ୍ତୁ |

ଶୂନ୍ୟ get_key_status ()

{

    int i = 0;

    // u16 Va = Read_Dgus (addr);

    u16 Va = Read_Dgus (0x1000);

    ଯଦି (Va! = 0x0000)

    {

        //Sଟାଟସ୍ ପୃଷ୍ଠା |

        ଯଦି (Va == 0x0103) // g ର ସଂଖ୍ୟା ରଖ |

        {

            u16 ସୁଇଚ୍ ପେଜ୍ [2] = {0x5A01, 19};

            setNum = placeGramNum;

            backPage = 1;// ସ୍ଥିତି ପୃଷ୍ଠାକୁ ଫେରନ୍ତୁ |

            ଲେଖ_ଡିଗସ୍ (0x4000 + 0, ସେଟ୍ ନମ୍% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 2, setNum / 10% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 4, setNum / 100% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 6, setNum / 1000% 10);

            write_dgus_vp (0x0084, ସୁଇଚ୍ ପେଜ୍, 2);

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0102)

        {

            OneSendData3 (placeGramNum);//ସ୍ଥାନବିଲେଇ ଖାଦ୍ୟଥରେ |

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0101) // ପୃଷ୍ଠା ସେଟିଂ |

        {

            u16 ସୁଇଚ୍ ପେଜ୍ [2] = {0x5A01, 3};

            ପାଇଁ (i = 0; i <6; i ++)

            {

                ଯଦି (i == 0)

                {

                    ଲେଖ_ଡିଗସ୍ (0x3070 + i * 0x10 + 0, କରେଣ୍ଟ ଟାଇମ୍ [i]% 10);

                    ଲେଖ_ଡିଗସ୍ (0x3070 + i * 0x10 + 2, କରେଣ୍ଟ ଟାଇମ୍ [i] / 10% 10);

                    ଲେଖ_ଡିଗସ୍ (0x3070 + i * 0x10 + 4, କରେଣ୍ଟ ଟାଇମ୍ [i] / 100% 10);

                    ଲେଖ_ଡିଗସ୍ (0x3070 + i * 0x10 + 6, ସାମ୍ପ୍ରତିକ ସମୟ [i] / 1000% 10);

                }

                ଅନ୍ୟ

                {

                    ଲେଖ_ଡିଗସ୍ (0x3070 + i * 0x10 + 0, କରେଣ୍ଟ ଟାଇମ୍ [i]% 10);

                    ଲେଖ_ଡିଗସ୍ (0x3070 + i * 0x10 + 2, କରେଣ୍ଟ ଟାଇମ୍ [i] / 10% 10);

                }

            }

            write_dgus_vp (0x0084, ସୁଇଚ୍ ପେଜ୍, 2);// ସେଟିଂ ପୃଷ୍ଠା ପ୍ରବେଶ କରନ୍ତୁ |

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0100) //Record ପୃଷ୍ଠା |

        {

            u16 ସୁଇଚ୍ ପେଜ୍ [2] = {0x5A01, 2};

            ପାଇଁ (i = 0; i <6; i ++)

            {

                ଯଦି (i == 0)

                {

                    ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 0, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [0] [i]% 10);

                    ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 2, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [0] [i] / 10% 10);

                    ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 4, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [0] [i] / 100% 10);

                    ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 6, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [0] [i] / 1000% 10);

                }

                ଅନ୍ୟ

                {

                    ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 0, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [0] [i]% 10);

                    ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 2, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [0] [i] / 10% 10);

                }

            }

            write_dgus_vp (0x0084, ସୁଇଚ୍ ପେଜ୍, 2);// ରେକର୍ଡ ପୃଷ୍ଠା ପ୍ରବେଶ କରନ୍ତୁ |

        }

        //Record ପୃଷ୍ଠା |

        ଅନ୍ୟଥା ଯଦି (Va == 0x0201) // ପୂର୍ବ ପୃଷ୍ଠା ରେକର୍ଡ କରନ୍ତୁ |

        {

            ଯଦି (lookEatCnt> 0)

            {

                lookEatCnt--;

                ପାଇଁ (i = 0; i <6; i ++)

                {

                    ଯଦି (i == 0)

                    {

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 2, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 10% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 4, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 100% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 6, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 1000% 10);

                    }

                    ଅନ୍ୟ

                    {

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 2, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 10% 10);

                    }

                }

            }

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0202) // ପରବର୍ତ୍ତୀ ପୃଷ୍ଠା ରେକର୍ଡ କରନ୍ତୁ |

        {

            if (lookEatCnt <eatCnt - 1)

            {

                lookEatCnt ++;

                ପାଇଁ (i = 0; i <6; i ++)

                {

                    ଯଦି (i == 0)

                    {

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 2, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 10% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 4, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 100% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 6, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 1000% 10);

                    }

                    ଅନ୍ୟ

                    {

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 0, eatFeedList [lookEatCnt] [i]% 10);

                        ଲେଖ_ଡିଗସ୍ (0x2000 + i * 0x10 + 2, ଖାଇବା ଫିଡ୍ ଲିଷ୍ଟ [lookEatCnt] [i] / 10% 10);

                    }

                }

            }

        }

        // ପୃଷ୍ଠା ସେଟିଂ

        ଅନ୍ୟଥା ଯଦି (Va == 0x0302)

        {

            if (timeMode == 1)

            {

                timeMode = 0;

                ଲେଖ_ଡିଗସ୍ (0x3A12, 139);

            }

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0303)

        {

            if (timeMode == 0)

            {

                timeMode = 1;

                ଲେଖ_ଡିଗସ୍ (0x3A12, 242);

            }

        }

        ଅନ୍ୟଥା ଯଦି (Va> = 0x0304 && Va <= 0x0309)

        {

            u16 ସୁଇଚ୍ ପେଜ୍ [2] = {0x5A01, 19};

            backPage = 3;

            backNum = Va;

            setNum = timrIntervalHour [Va - 0x0304];

            ଲେଖ_ଡିଗସ୍ (0x4000 + 0, ସେଟ୍ ନମ୍% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 2, setNum / 10% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 4, setNum / 100% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 6, setNum / 1000% 10);

            write_dgus_vp (0x0084, ସୁଇଚ୍ ପେଜ୍, 2);

        }

        ଅନ୍ୟଥା ଯଦି (Va> = 0x030A && Va <= 0x030F)

        {

            u16 ସୁଇଚ୍ ପେଜ୍ [2] = {0x5A01, 19};

            backPage = 3;

            backNum = Va;

            setNum = currentTime [Va - 0x030A];

            ଲେଖ_ଡିଗସ୍ (0x4000 + 0, ସେଟ୍ ନମ୍% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 2, setNum / 10% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 4, setNum / 100% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 6, setNum / 1000% 10);

            write_dgus_vp (0x0084, ସୁଇଚ୍ ପେଜ୍, 2);

        }

        //Adjust ଡାଟା ପୃଷ୍ଠା |

        ଅନ୍ୟଥା ଯଦି (Va == 0x0400) //ନିଶ୍ଚିତ କରନ୍ତୁ |

        {

            u16 ସୁଇଚ୍ ପେଜ୍ [2] = {0x5A01, 0x0000};

            ସୁଇଚ୍ ପେଜ୍ [1] = ବ୍ୟାକ୍ ପେଜ୍;

            if (backPage == 1) // ସ୍ଥିତି ପୃଷ୍ଠାକୁ ଫେରନ୍ତୁ |

            {

                placeGramNum = setNum;

                ଲେଖ_ଡିଗସ୍ (0x1140 + 0, ସ୍ଥାନଗ୍ରାମ% 10);

                ଲେଖ_ଡିଗସ୍ (0x1140 + 2, ସ୍ଥାନଗ୍ରାମମ୍ / 10% 10);

            }

            ଅନ୍ୟଥା ଯଦି (backPage == 3)

            {

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

                {

                    u16 ଚୟନ = 0;

                    ଚୟନ କରନ୍ତୁ ((ବ୍ୟାକନମ୍ - 0x0304) * 0x10;

                    timrIntervalHour [backNum - 0x0304] = setNum;

                    ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 0, ସେଟ୍ନାମ୍% 10);

                    ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 2, ସେଟ୍ ନମ୍ / 10% 10);

                }

                ଅନ୍ୟଥା ଯଦି (backNum> = 0x030A && backNum <= 0x030F)

                {

                    u16 ଚୟନ = 0;

                    ଚୟନ କରନ୍ତୁ ((ବ୍ୟାକନମ୍ - 0x0304) * 0x10;

                    currentTime [backNum - 0x030A] = setNum;

                    

                    ଯଦି (backNum == 0x030A)

                    {

                        ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 0, ସେଟ୍ନାମ୍% 10);

                        ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 2, ସେଟ୍ ନମ୍ / 10% 10);

                        ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 4, ସେଟ୍ ନମ୍ / 100% 10);

                        ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 6, ସେଟ୍ ନମ୍ / 1000% 10);

                    }

                    ଅନ୍ୟ

                    {

                        ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 0, ସେଟ୍ନାମ୍% 10);

                        ଲେଖ_ଡିଗସ୍ (0x3010 + ଚୟନ + 2, ସେଟ୍ ନମ୍ / 10% 10);

                    }

                }

            }

            write_dgus_vp (0x0084, ସୁଇଚ୍ ପେଜ୍, 2);

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0401) //ପଛକୁ

        {

            u16 ସୁଇଚ୍ ପେଜ୍ [2] = {0x5A01, 0x0000};

            ସୁଇଚ୍ ପେଜ୍ [1] = ବ୍ୟାକ୍ ପେଜ୍;

            write_dgus_vp (0x0084, ସୁଇଚ୍ ପେଜ୍, 2);

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0402) // ସାଂଖ୍ୟିକ ବୃଦ୍ଧି |

        {

            setNum ++;

            ଲେଖ_ଡିଗସ୍ (0x4000 + 0, ସେଟ୍ ନମ୍% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 2, setNum / 10% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 4, setNum / 100% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 6, setNum / 1000% 10);

        }

        ଅନ୍ୟଥା ଯଦି (Va == 0x0403) // ସାଂଖ୍ୟିକ ହ୍ରାସ |

        {

            ଯଦି (setNum> 0)

                setNum--;

            ଲେଖ_ଡିଗସ୍ (0x4000 + 0, ସେଟ୍ ନମ୍% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 2, setNum / 10% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 4, setNum / 100% 10);

            ଲେଖ_ଡିଗସ୍ (0x4000 + 6, setNum / 1000% 10);

        }

        

        ଲେଖ_ଡିଗସ୍ (0x1000, 0);

    }

}


ପୋଷ୍ଟ ସମୟ: ସେପ୍ଟେମ୍ବର -19-2023 |