سمارټ سترګې د DWIN سرکلر سکرین پراساس

—— د DWIN پراختیا کونکي فورم څخه

د DWIN پراختیا کونکي فورم خلاصې سرچینې پروژه دا ځل د هرچا لپاره وړاندیز شوې د انسان د سترګو حرکت سمولو لپاره خورا په زړه پوري معمول دی.انجینر د انسان د سترګو عکسونو ډیری توکي کارولي ترڅو دندو درک کولو لپاره لکه د سترګو حرکت ، ټوخی کول ، د مخ پیژندنه او تعقیب.

د خلاصې سرچینې حلونو پیژندنه:

1. د UI انځور مواد

د مدیر یادونه: د DWIN سمارټ سکرین د UI پراختیا بشپړولو لپاره د عکسونو پراساس دی ، کوم چې کولی شي په اسانۍ سره د مختلف ښودنې اغیزې احساس کړي.

dytrgf (1)

2. د انٹرفیس پراختیا

د DGUS سافټویر له لارې د انٹرفیس رامینځته کول نسبتا ساده دي ، او یوازې دوه ګرافیک کنټرولونو ته اړتیا ده.په دې معمول کې، انجنیر د 2.1 انچ ګردي سمارټ سکرین غوره کړ.

dytrgf (2)

3. د سترګو د حرکت حرکت احساس کړئ

اجازه راکړئ چې د سترګو عکسونه په وقفو سره ښکاره شي:

// ړنګ حرکت

void blink_animat( باطل)

{

که (ټپکی_بیرغ == 0)

{

blink_cnt++;

که (blink_cnt >= 4)

{

blink_flag = 1 ;

}

}

بل

{

blink_cnt-;

که (blink_cnt <= 0)

{

blink_flag = 0 ;

}

}

write_dgus_vp(0×3000, (u8 *)&blink_cnt, 2);

}

باطل blink_run()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

که (run_timer_cnt >= 2000000)

{

run_timer_cnt = 0;

blink_animat();

ځنډ_ms(30);

blink_animat();

ځنډ_ms(30);

blink_animat();

ځنډ_ms(30);

blink_animat();

ځنډ_ms(30);

blink_animat();

ځنډ_ms(30);

blink_animat();

ځنډ_ms(30);

blink_animat();

ځنډ_ms(30);

blink_animat();

ځنډ_ms(30);

}

}

4. پوه شئ چې د سترګو ګولۍ په طبیعي توګه چپ او ښي خوا ته ګوري.

دا د ړنګولو سره ورته دی، مګر دا اړتیا لري چې د سترګو حرکت کنټرولولو لپاره د کرسټال اوسیلیټر وخت پرتله کړي.د ډیری وخت ډیبګ کولو وروسته ، انجینر د کوډونو لاندې سیټ ډیزاین کړ.

// د سترګو حرکت حرکت

void eyeball_animat ( باطل)

{

eyeball_timer_cnt++;

که (د سترګو_ټیمر_cnt <50)

{

eyeball_cnt = 20;

}

نور که (د سترګو_ټیمر_cnt <51)

{

eyeball_cnt = 50;

}

نور که (د سترګو_ټیمر_cnt <52)

{

eyeball_cnt = 80;

}

نور که (د سترګو_ټیمر_cnt <53)

{

eyeball_cnt = 94 ;

}

نور که (د سترګو_ټیمر_cnt <103)

{

eyeball_cnt = 94 ;

}

نور که (د سترګو_ټیمر_cnt <104)

{

eyeball_cnt = 80;

}

نور که (د سترګو_ټیمر_cnt <105)

{

eyeball_cnt = 50;

}

نور که (د سترګو_ټیمر_cnt <106)

{

eyeball_cnt = 20;

}

نور که (د سترګو_ټیمر_cnt <107)

{

eyeball_cnt = -10;

}

نور که (د سترګو_ټیمر_cnt <108)

{

eyeball_cnt = -40;

}

نور که (د سترګو_ټیمر_cnt <158)

{

eyeball_cnt = -54 ;

}

نور که (د سترګو_ټیمر_cnt <159)

{

eyeball_cnt = -40;

}

نور که (د سترګو_ټیمر_cnt <160)

{

eyeball_cnt = -10;

}

نور که (د سترګو_ټیمر_cnt <161)

{

eyeball_cnt = 20;

eyeball_timer_cnt = 0;

}

// کیڼ او ښي خوا ته حرکت وکړئ

// که (د سترګو_بیرغ == 0)

// {

// eyeball_cnt++;

// که (د سترګو بال_cnt >= 94)

// {

// سترګې_پرچم = 1 ;

// }

// }

// نور

// {

// eyeball_cnt–;

// که (eyeball_cnt <= -54)

// {

// سترګې_پرچم = 0 ;

// }

// }

که (د سترګو بال_cnt >= 0)

{

د سترګو بال_پوز[0] = 0×00؛

eyeball_pos[1] = eyeball_cnt;

}

بل

{

eyeball_pos[0] = 0xFF؛

eyeball_pos[1] = (eyeball_cnt & 0xFF);

}

write_dgus_vp(0×3111, (u8 *)&eyeball_pos, 2);

}

باطل د سترګو بال_رن ()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

که (run_timer_cnt >= 20000)

{

run_timer_cnt = 0;

eyeball_animat();

}

}

5. د مخ په تعقیب د سترګو حرکت احساس کولو لپاره د ESP32 مخ پیژندنه اضافه کړئ.

دلته د پروسس کولو طریقه دا ده چې کله چې مخ کشف شي، سترګې پخپله حرکت نه کوي، او یو متغیر د وخت لوپ کې زیاتوالي لپاره تعریف شوی.کله چې زیاتوالی یو ټاکلي ارزښت ته ورسیږي، د سترګو ګولۍ به پخپله حرکت وکړي.کله چې سیریل پورټ ډاټا ترلاسه کړي، دا متغیر به پاک شي، او بیا یوازې د مخ د موقعیت سره سم سترګې حرکت کوي.اصلي کوډ په لاندې ډول دی:

که (rec_data_timer_cnt <1000000)

{

rec_data_timer_cnt++;

}

بل

{

eyeball_run();

}

extern u32 rec_data_timer_cnt;

extern u16 eyeball_timer_cnt;

void Communication_CMD(u8 st)

{

که ((uart[st].Rx_F==1 )&&(uart[st].Rx_T==0))

{

rec_data_timer_cnt = 0;

eyeball_timer_cnt = 0;

#if(Type_communication==1)

تشریح_8283(st);

#elif(Type_communication==2)

تشريح_Modbus(st);

#endif

uart[st].Rx_F=0;

uart[st].Rx_Num=0;

}

}


د پوسټ وخت: جون-26-2023