Isha Wacan ee Ku Salaysan Shaashada Wareega ee DWIN

——Waxaa laga soo qaatay Madasha Horumarinta ee DWIN

Golaha horumarinta DWIN mashruuca isha furan ee lagula taliyay qof kasta wakhtigan waa nidaam aad u xiiso badan oo loogu talagalay jilitaanka dhaqdhaqaaqa indhaha aadanaha.Ingineerku waxa uu isticmaalay dhawr qalab oo sawirka indhaha biniaadmiga ah si uu u ogaado hawlaha ay ka midka yihiin dhaqdhaqaaqa kubbadda isha, libiqsiga, aqoonsiga wejiga iyo raacitaanka.

Hordhac xalal il furan:

1. Qalabka sawirka UI

Xusuusin tifaftiraha: Shaashadda smart DWIN waxay ku salaysan tahay sawirro si loo dhammaystiro horumarinta UI, taas oo si fudud u xaqiijin karta saamaynta bandhigga ee kala duwan.

dytrgf (1)

2. Horumarinta Interface

Way fududahay in la horumariyo interface-ka iyada oo loo marayo software DGUS, waxaana loo baahan yahay laba kontarool oo garaaf ah oo keliya.Sida caadiga ah, injineerku wuxuu doortay shaashad 2.1-inji ah oo wareeg ah.

dytrgf (2)

3. Aqoonso animation biligluuq ah

Ha loo soo bandhigo sawirada indho-furka marba qaar:

// animation indho la'aan

blink_animat (wax madhan)

{

haddii (calanka biligleeyey = 0)

{

blink_cnt++;

haddii (blink_cnt >= 4)

{

blink_flag = 1;

}

}

kale

{

blink_cnt–;

haddii (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++;

haddii (run_timer_cnt> = 2000000)

{

run_timer_cnt = 0;

blink_animat ();

Dib u dhac_ms(30);

blink_animat ();

Dib u dhac_ms(30);

blink_animat ();

Dib u dhac_ms(30);

blink_animat ();

Dib u dhac_ms(30);

blink_animat ();

Dib u dhac_ms(30);

blink_animat ();

Dib u dhac_ms(30);

blink_animat ();

Dib u dhac_ms(30);

blink_animat ();

Dib u dhac_ms(30);

}

}

4. Ogow in kubbadaha isha ay si dabiici ah u eegaan bidix iyo midig.

Tani waxay la mid tahay libiqsiga, laakiin waxay u baahan tahay in la barbardhigo wakhtiga oscillator-ka crystal si loo xakameeyo dhaqdhaqaaqa indhaha.Marar badan oo qalad ah ka dib, injineerku waxa uu naqshadeeyay nidaamka soo socda.

// animation-ka Isha

kubbadda isha oo madhan

{

Saacadaha kubbadda isha_cnt++;

haddii (eyeball_timer_cnt <50)

{

kubbadda isha_cnt = 20;

}

Haddii kale (eyeball_timer_cnt <51)

{

kubbadda isha_cnt = 50;

}

Haddii kale (eyeball_timer_cnt <52)

{

kubbadda isha_cnt = 80;

}

Haddii kale (eyeball_timer_cnt <53)

{

kubbadda isha_cnt = 94;

}

Haddii kale (eyeball_timer_cnt <103)

{

kubbadda isha_cnt = 94;

}

Haddii kale (eyeball_timer_cnt <104)

{

kubbadda isha_cnt = 80;

}

Haddii kale (eyeball_timer_cnt <105)

{

kubbadda isha_cnt = 50;

}

haddii kale (eyeball_timer_cnt <106)

{

kubbadda isha_cnt = 20;

}

Haddii kale (eyeball_timer_cnt <107)

{

kubbadda isha_cnt = -10;

}

Haddii kale (eyeball_timer_cnt <108)

{

kubbadda isha_cnt = -40;

}

Haddii kale (eyeball_timer_cnt <158)

{

kubbadda isha_cnt = -54;

}

Haddii kale (eyeball_timer_cnt <159)

{

kubbadda isha_cnt = -40;

}

Haddii kale (eyeball_timer_cnt <160)

{

kubbadda isha_cnt = -10;

}

haddii kale (eyeball_timer_cnt <161)

{

kubbadda isha_cnt = 20;

kubbadda isha_timer_cnt = 0;

}

// U dhaqaaq bidix iyo midig

// haddii (calanka_balka isha = 0)

// {

// kubbadda isha_cnt++;

// haddii (kubbada isha_cnt>= 94)

// {

// Calan_kubbada isha = 1;

//}

//}

//kale

// {

// kubbadda isha_cnt–;

// haddi (kubbada isha <= -54)

// {

// Calan_kubbada isha = 0;

//}

//}

haddii (kubbada isha_cnt >> 0)

{

kubbadda isha[0] = 0×00;

eyeball_pos[1] = kubbadda isha_cnt;

}

kale

{

kubbadda isha[0] = 0xFF;

eyeball_pos[1] = (kubbada isha_cnt & 0xFF);

}

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

}

kubad isha oo maran_run()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

haddii (run_timer_cnt>= 20000)

{

run_timer_cnt = 0;

kubbadda isha ();

}

}

5. Ku dar ESP32 aqoonsiga wejiga si aad u ogaato dhaqdhaqaaqa indhaha ee raacaya wejiga.

Habka habaynta halkan ayaa ah in marka wejiga la ogaado, indhuhu iskood isuma dhaqaaqaan, doorsoome ayaa lagu qeexaa inuu kordho muddada wareegga.Marka korodhku gaadho qiimo gaar ah, kubbadaha indhaha ayaa iskood u dhaqaaqi doona.Marka dekada taxanaha ahi hesho xogta, doorsoomiyahan waa la nadiifin doonaa, ka dibna kaliya indhaha u dhaqdhaqaaji sida booska wajiga.Koodhka ugu muhiimsan waa sida soo socota:

haddii (rec_data_timer_cnt <1000000)

{

rec_data_timer_cnt++;

}

kale

{

kubbadda isha ();

}

dibadda u32 rec_data_timer_cnt;

dibadda u16 eyeball_timer_cnt;

Isgaarsiinta madhan_CMD (u8 st)

{

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

{

rec_data_timer_cnt = 0;

kubbadda isha_timer_cnt = 0;

#haddii (Nooca_Isgaarsiinta==1)

Sharax_8283(st);

#elif(Nooca_Isgaarsiinta==2)

Sharax_Modbus (st);

#dhammaan

uart[st].Rx_F=0;

uart[st].Rx_Num=0;

}

}


Waqtiga boostada: Juun-26-2023