I-Smart Eye Ngokusekelwe ku-DWIN Circular Screen

——Kusuka ku-DWIN Developer Forum

Iphrojekthi yomthombo ovulekile yenkundla yonjiniyela ye-DWIN enconyelwe wonke umuntu kulokhu iyinkambiso ejabulisa kakhulu yokulingisa ukunyakaza kwamehlo abantu.Unjiniyela usebenzise izinto ezimbalwa zezithombe zeso lomuntu ukuze abone imisebenzi efana nokunyakaza kwenhlamvu yeso, ukucwayiza, ukubona ubuso nokulandela.

Isingeniso sezixazululo zomthombo ovulekile:

1. Impahla yesithombe se-UI

Inothi lomhleli: Isikrini esihlakaniphile se-DWIN sisekelwe ezithombeni ukuze kuqedelwe ukuthuthukiswa kwe-UI, engabona kalula imiphumela ehlukahlukene yokubonisa.

i-dytrgf (1)

2. Ukuthuthukiswa kwesixhumi esibonakalayo

Kulula kakhulu ukuthuthukisa isixhumi esibonakalayo ngesoftware ye-DGUS, futhi izilawuli ezimbili kuphela ezidingekayo.Kulo mkhuba, unjiniyela ukhethe isikrini esihlakaniphile esiyindilinga esingu-2.1-intshi.

i-dytrgf (2)

3. Qaphela ukucwayiza okucwayizayo

Vumela izithombe zamajwabu amehlo ziboniswe ngokushintshana ngezikhathi ezithile:

//Blink izithombe

i-void blink_animat(okungenalutho)

{

uma(blink_flag == 0)

{

blink_cnt++;

uma(blink_cnt >= 4)

{

blink_flag = 1;

}

}

okunye

{

blink_cnt–;

uma(blink_cnt <= 0)

{

blink_flag = 0;

}

}

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

}

blink_run okuyize()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

uma(run_timer_cnt >= 2000000)

{

run_timer_cnt = 0;

blink_animat();

Ukubambezeleka_ms(30);

blink_animat();

Ukubambezeleka_ms(30);

blink_animat();

Ukubambezeleka_ms(30);

blink_animat();

Ukubambezeleka_ms(30);

blink_animat();

Ukubambezeleka_ms(30);

blink_animat();

Ukubambezeleka_ms(30);

blink_animat();

Ukubambezeleka_ms(30);

blink_animat();

Ukubambezeleka_ms(30);

}

}

4. Qaphela ukuthi ama-eyeballs abukeka kwesokunxele nakwesokudla ngokwemvelo.

Lokhu kufana nokucwayiza, kodwa kudinga ukuqhathanisa isikhathi se-crystal oscillator ukulawula ukunyakaza kwamehlo.Ngemva kwezikhathi eziningi zokulungisa iphutha, unjiniyela uklame isethi elandelayo yamakhodi.

//Opopayi bebhola leso

inhlamvu yeso_engenalutho(ingenalutho)

{

eyeball_timer_cnt++;

uma(i-eyeball_timer_cnt <50)

{

iso_cnt = 20;

}

okunye uma(i-eyeball_timer_cnt <51)

{

iso_cnt = 50;

}

okunye uma(i-eyeball_timer_cnt <52)

{

iso_cnt = 80;

}

okunye uma(i-eyeball_timer_cnt <53)

{

iso_cnt = 94;

}

okunye uma (i-eyeball_timer_cnt < 103)

{

iso_cnt = 94;

}

okunye uma (i-eyeball_timer_cnt < 104)

{

iso_cnt = 80;

}

okunye uma (i-eyeball_timer_cnt < 105)

{

iso_cnt = 50;

}

okunye uma (i-eyeball_timer_cnt < 106)

{

iso_cnt = 20;

}

okunye uma (i-eyeball_timer_cnt < 107)

{

iso_cnt = -10;

}

okunye uma (i-eyeball_timer_cnt < 108)

{

iso_cnt = -40;

}

okunye uma (i-eyeball_timer_cnt < 158)

{

iso_cnt = -54;

}

okunye uma (i-eyeball_timer_cnt < 159)

{

iso_cnt = -40;

}

okunye uma (i-eyeball_timer_cnt < 160)

{

iso_cnt = -10;

}

okunye uma (i-eyeball_timer_cnt < 161)

{

iso_cnt = 20;

eyeball_timer_cnt = 0;

}

//Hambisa kwesokunxele nakwesokudla

// uma(ifulegi_leso == 0)

// {

// inhlamvu yeso_cnt++;

// uma(i-eyeball_cnt >= 94)

// {

// ifulegi_leso = 1;

// }

// }

// okunye

// {

// inhlamvu yeso_cnt–;

// uma(i-eyeball_cnt <= -54)

// {

// ifulegi_leso = 0;

// }

// }

uma(i-eyeball_cnt >= 0)

{

inhlamvu yeso[0] = 0×00;

imbobo_yeso[1] = inhlamvu yeso_cnt;

}

okunye

{

imbobo_yeso[0] = 0xFF;

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

}

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

}

inhlamvu yeso engenalutho()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

uma(run_timer_cnt >= 20000)

{

run_timer_cnt = 0;

i-eyeball_animat();

}

}

5. Engeza ukubonakala kobuso kwe-ESP32 ukuze ubone ukunyakaza kwamehlo alandela ubuso.

Indlela yokucubungula lapha ukuthi lapho ubuso butholwa, amehlo awazinyakazi ngokwawo, futhi okuguquguqukayo kuchazwa ukukhuphuka ku-loop ngenkathi.Lapho ukukhuphuka kufinyelela inani elithile, ama-eyeballs azohamba ngokwawo.Uma imbobo ye-serial ithola idatha, lokhu kuhluka kuzosulwa, bese kuhambisa amehlo kuphela ngokuya ngokuma kobuso.Ikhodi eyinhloko imi kanje:

uma(rec_data_timer_cnt < 1000000)

{

rec_data_timer_cnt++;

}

okunye

{

i-eyeball_run();

}

extern u32 rec_data_timer_cnt;

extern u16 eyeball_timer_cnt;

i-void Communication_CMD(u8 st)

{

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

{

rec_data_timer_cnt = 0;

eyeball_timer_cnt = 0;

#uma(Type_Communication==1)

Describe_8283(st);

#elif(Type_Communication==2)

Describe_Modbus(st);

#endif

uart[st].Rx_F=0;

uart[st].Rx_Num=0;

}

}


Isikhathi sokuthumela: Jun-26-2023