Diso Lanzeru Lotengera DWIN Circular Screen

——Kuchokera ku DWIN Developer Forum

Pulojekiti yotsegulira ya DWIN yotsegulira gwero yomwe ikulimbikitsidwa kwa aliyense nthawi ino ndi njira yosangalatsa kwambiri yotsanzira kayendedwe ka maso a anthu.Katswiriyu adagwiritsa ntchito zida zingapo zazithunzi zamunthu kuti azindikire ntchito monga kuyenda kwa diso, kuphethira, kuzindikira nkhope ndi kutsatira.

Chiyambi cha mayankho a Open source:

1. Zithunzi za UI

Zolemba za mkonzi: DWIN smart screen idakhazikitsidwa pazithunzi kuti mumalize kukonza UI, yomwe imatha kuzindikira mawonekedwe osiyanasiyana.

dytrgf (1)

2. Kukula kwa mawonekedwe

Ndikosavuta kupanga mawonekedwe kudzera pa pulogalamu ya DGUS, ndipo maulamuliro awiri okha amafunikira.Mwachizoloŵezi ichi, mainjiniya adasankha chophimba chanzeru cha 2.1-inch.

dytrgf (2)

3. Zindikirani makanema ojambula pakhungu

Lolani zithunzi za m'zikope ziwonetsedwe motsatira nthawi:

//Kutulutsa makanema

void blink_animat(zopanda)

{

ngati (blink_flag == 0)

{

blink_cnt++;

ngati(blink_cnt >= 4)

{

blink_flag = 1;

}

}

zina

{

blink_cnt-;

ngati(blink_cnt <= 0)

{

+ mbendera = 0;

}

}

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

}

palibe blink_run()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

ngati(run_timer_cnt >= 2000000)

{

run_timer_cnt = 0;

blink_animat();

Kuchedwa_ms(30);

blink_animat();

Kuchedwa_ms(30);

blink_animat();

Kuchedwa_ms(30);

blink_animat();

Kuchedwa_ms(30);

blink_animat();

Kuchedwa_ms(30);

blink_animat();

Kuchedwa_ms(30);

blink_animat();

Kuchedwa_ms(30);

blink_animat();

Kuchedwa_ms(30);

}

}

4. Zindikirani kuti maso akuyang'ana kumanzere ndi kumanja mwachibadwa.

Izi ndizofanana ndi kuthwanima, koma zimafunika kufananiza nthawi ya kristalo oscillator kuti muwongolere kayendetsedwe ka maso.Pambuyo pakukonza zolakwika nthawi zambiri, mainjiniya adapanga ma code otsatirawa.

// Makanema a diso

diso lopanda_animat(zopanda)

{

eyeball_timer_cnt++;

ngati(eyeball_timer_cnt <50)

{

diso_cnt = 20;

}

china ngati (eyeball_timer_cnt <51)

{

diso_cnt = 50;

}

china ngati (eyeball_timer_cnt <52)

{

diso_cnt = 80;

}

china ngati (eyeball_timer_cnt <53)

{

diso_cnt = 94;

}

china ngati (eyeball_timer_cnt <103)

{

diso_cnt = 94;

}

china ngati (eyeball_timer_cnt <104)

{

diso_cnt = 80;

}

china ngati (eyeball_timer_cnt <105)

{

diso_cnt = 50;

}

china ngati (eyeball_timer_cnt <106)

{

diso_cnt = 20;

}

china ngati (eyeball_timer_cnt <107)

{

diso_cnt = -10;

}

china ngati (eyeball_timer_cnt <108)

{

diso_cnt = -40;

}

china ngati (eyeball_timer_cnt <158)

{

diso_cnt = -54;

}

china ngati (eyeball_timer_cnt <159)

{

diso_cnt = -40;

}

china ngati (eyeball_timer_cnt <160)

{

diso_cnt = -10;

}

china ngati (eyeball_timer_cnt <161)

{

diso_cnt = 20;

eyeball_timer_cnt = 0;

}

// Pitani kumanzere ndi kumanja

// ngati(bendera_yadiso == 0)

// {

// diso_cnt++;

// ngati(diso_cnt>= 94)

// {

// diso_mbendera = 1;

// }

// }

// zina

// {

// diso_cnt–;

// ngati(diso_cnt <= -54)

// {

// diso_mbendera = 0;

// }

// }

ngati(diso_cnt>= 0)

{

diso_pos[0] = 0×00;

diso_pos[1] = diso_cnt;

}

zina

{

diso_pos[0] = 0xFF;

diso_pos[1] = (diso_cnt & 0xFF);

}

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

}

diso lopanda diso_kuthamanga()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

ngati(run_timer_cnt >= 20000)

{

run_timer_cnt = 0;

diso_animat();

}

}

5. Onjezani kuzindikira kwa nkhope kwa ESP32 kuti muzindikire kusuntha kwa maso kutsatira nkhope.

Njira yopangira pano ndi yakuti pamene nkhope yadziwika, maso sasuntha okha, ndipo kusinthika kumatanthauzidwa kuti kuwonjezereka mu nthawi yozungulira.Pamene increment ifika pamtengo wina, diso lidzasuntha palokha.Pamene doko lachinsinsi lilandira deta, kusintha kumeneku kudzachotsedwa, ndiyeno kungosuntha maso molingana ndi malo a nkhope.Khodi yayikulu ndi iyi:

ngati(rec_data_timer_cnt <1000000)

{

rec_data_timer_cnt++;

}

zina

{

diso_kuthamanga ();

}

extern u32 rec_data_timer_cnt;

extern u16 eyeball_timer_cnt;

void Communication_CMD(u8 st)

{

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

{

rec_data_timer_cnt = 0;

eyeball_timer_cnt = 0;

#ngati(Type_Communication==1)

Describe_8283(st);

#elif(Type_Communication==2)

Describe_Modbus(st);

#ndif

luso[st].Rx_F=0;

uart[st].Rx_Num=0;

}

}


Nthawi yotumiza: Jun-26-2023