Ziso rakangwara rakavakirwa paDWIN Circular Screen

——Kubva kuDWIN Developer Forum

Iyo DWIN yekuvandudza foramu yakavhurika sosi purojekiti inokurudzirwa kune wese munhu nguva ino inonakidza kwazvo tsika yekutevedzera kufamba kwemeso emunhu.Injiniya yakashandisa zviverengero zvemifananidzo yeziso remunhu kuona mabasa akadai sekufamba kwebhora reziso, kubwaira, kuzivikanwa kwechiso uye kutevera.

Nhanganyaya yekuvhura sosi mhinduro:

1. UI mufananidzo zvinhu

Chinyorwa chemupepeti: DWIN smart screen yakavakirwa pamifananidzo kupedzisa UI kuvandudza, iyo inogona kuona zviri nyore akasiyana ekuratidzira maitiro.

dytrgf (1)

2. Interface development

Zviri nyore kugadzira iyo interface kuburikidza neDGUS software, uye maviri chete magiraidhi ekudzora anodiwa.Muchiitiko ichi, injiniya akasarudza 2.1-inch round smart screen.

dytrgf (2)

3. Ziva blink animation

Rega mapikicha emazikope aonekwe panguva dzakasiyana:

//Blink animation

void blink_animat(isina)

{

kana(blink_flag == 0)

{

blink_cnt++;

kana(blink_cnt >= 4)

{

blink_flag = 1;

}

}

zvimwe

{

blink_cnt–;

kana(blink_cnt <= 0)

{

blink_flag = 0;

}

}

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

}

blink_run pasina ()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

kana(run_timer_cnt >= 2000000)

{

run_timer_cnt = 0;

blink_animat();

Kunonoka_ms(30);

blink_animat();

Kunonoka_ms(30);

blink_animat();

Kunonoka_ms(30);

blink_animat();

Kunonoka_ms(30);

blink_animat();

Kunonoka_ms(30);

blink_animat();

Kunonoka_ms(30);

blink_animat();

Kunonoka_ms(30);

blink_animat();

Kunonoka_ms(30);

}

}

4. Ziva maziso emeso anotarisa kuruboshwe uye kurudyi zvakasikwa.

Izvi zvakafanana nekubwaira, asi zvinoda kuenzanisa nguva yekristaro oscillator kudzora kufamba kweziso.Mushure menguva zhinji dzekugadzirisa, injiniya akagadzira inotevera seti yemakodhi.

//Eyeball animation

void eyeball_animat(isina)

{

eyeball_timer_cnt++;

kana(yeball_timer_cnt <50)

{

mboni_cnt = 20;

}

zvimwe kana(yeball_timer_cnt <51)

{

eyeball_cnt = 50;

}

zvimwe kana(yeball_timer_cnt <52)

{

mboni_cnt = 80;

}

zvimwe kana(yeball_timer_cnt <53)

{

mboni_cnt = 94;

}

zvimwe kana(yeball_timer_cnt <103)

{

mboni_cnt = 94;

}

zvimwe kana(yeball_timer_cnt <104)

{

mboni_cnt = 80;

}

zvimwe kana(yeball_timer_cnt <105)

{

eyeball_cnt = 50;

}

zvimwe kana(yeball_timer_cnt <106)

{

mboni_cnt = 20;

}

zvimwe kana( eyeball_timer_cnt < 107)

{

mboni_cnt = -10;

}

zvimwe kana(yeball_timer_cnt <108)

{

mboni_cnt = -40;

}

zvimwe kana(yeball_timer_cnt <158)

{

mboni_cnt = -54;

}

zvimwe kana(yeball_timer_cnt <159)

{

mboni_cnt = -40;

}

zvimwe kana(yeball_timer_cnt <160)

{

mboni_cnt = -10;

}

zvimwe kana(yeball_timer_cnt <161)

{

mboni_cnt = 20;

eyeball_timer_cnt = 0;

}

// Fambisa kuruboshwe uye kurudyi

// kana( bhora_ziso == 0)

// {

// mboni yeziso_cnt++;

// kana(bhora_cnt >= 94)

// {

// eyeball_flag = 1;

// }

// }

// zvimwe

// {

// eyeball_cnt–;

// kana(bhora_cnt <= -54)

// {

// eyeball_flag = 0;

// }

// }

kana( bhora_cnt >= 0)

{

mboni yeziso[0] = 0×00;

mboni yeziso[1] = mboni yeziso_cnt;

}

zvimwe

{

mboni yeziso[0] = 0xFF;

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

}

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

}

bhora reziso pasina_run()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

kana(run_timer_cnt >= 20000)

{

run_timer_cnt = 0;

eyeball_animat();

}

}

5. Wedzera ESP32 kuzivikanwa kwechiso kuti uone kufamba kwemaziso achitevera chiso.

Nzira yekugadzirisa pano ndeyokuti kana chiso chikaonekwa, maziso haafambi ega, uye shanduko inotsanangurwa kuwedzera mune iyo loop.Kana iyo increment inosvika pane imwe kukosha, ziso reziso rinofamba roga.Kana iyo serial port inogamuchira data, shanduko iyi inocheneswa, uye ipapo inongofambisa maziso zvichienderana nenzvimbo yechiso.Kodhi huru ndeiyi inotevera:

kana(rec_data_timer_cnt <1000000)

{

rec_data_timer_cnt++;

}

zvimwe

{

eyeball_run();

}

extern u32 rec_data_timer_cnt;

extern u16 eyeball_timer_cnt;

void Communication_CMD(u8 st)

{

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

{

rec_data_timer_cnt = 0;

eyeball_timer_cnt = 0;

#kana(Type_Communication==1)

Describe_8283(st);

#elif(Type_Communication==2)

Describe_Modbus(st);

#endif

uart[st].Rx_F=0;

uart[st].Rx_Num=0;

}

}


Nguva yekutumira: Jun-26-2023