[Açıq Mənbə] Sement Çoxölçülü Ölçmə Aləti

——DWIN Developer Forumundan

DWIN forumunun tövsiyə etdiyi mükafata layiq görülmüş açıq mənbə qutusu sement komponentinin tərkibini aşkar etmək üçün tikinti sənayesində istifadə edilə bilər - T5L smart ekranına əsaslanan sement çoxmiqdarlı ölçmə cihazı.Mühəndislər bərk məhlulun və maye sement komponenti tərkibinin aşkarlanması funksiyasını həyata keçirmək üçün elektron çəki aşkarlama modulunu, temperatur ölçmə modulunu, istilik modulunu, nəm sensorunu və qarışdırma modulunu idarə etmək üçün T5L smart ekranından istifadə edir və sürətin real vaxt ekranını dəstəkləyir, temperatur ayarı, tarix qeydi, Mərhələ parametrinin qəbulu və digər funksiyalar.

1. Proqramın strukturu

acdsb (1)

2.UI Material Ekranı

acdsb (2)
acdsb (4)
acdsb (3)
acdsb (5)

3.UI İnkişaf Nümunəsi

acdsb (6)

4.C51 proqram təminatı dizaynı

T5L serial port 2-dən istifadə edərək mühəndisin idarəetmə lövhəsi ilə əlaqə saxlaması üçün işə salma əmr proqramı aşağıdakı kimidir:

app_init() ləğv edin

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

dövr1 = 0;

is_period1 = 0;

uart2_init(115200);

send_bayt("AT+INIT=0\r\n",sizeof("AT+INIT=0\r\n")-1);

sys_delay_ms(2500);

sys_pic(1);

send_bayt("AT+START\r\n",sizeof("AT+START\r\n")-1);

}

Sement tərkibinin aşkarlanması funksiyasını həyata keçirmək üçün idarəetmə lövhəsi ilə qarşılıqlı əlaqədə olan T5L ağıllı ekranının əsas proqramı aşağıdakılardır:

void btn_click_handler()

{

#BTN_VAL_ADDR 0x1000 təyin edin

u16 btn_val;

if(test olunur&&is_san)

{

is_sec = 0;

test_run_time++;

btn_val = sprintf(commbuff,"%02u:%02u",(u16)(test_run_time/60),(u16)(test_run_time%60));

commbuff[btn_val+1] = 0;

sys_write_vp(TEST_TIME_VP,commbuff,5);

əgər(uart2rxsta&UART2_PACKET_OK)

{

if(uart2buf[0]==0x01&&uart2buf[1]==0x02)

{

init_weight = *(float*)(uart2buf+2);

init_weight *= (*(float*)flashdat);

sys_write_vp(0x1178, (u8*)&init_weight, 2);

}else if(uart2buf[0]==0x02&&uart2buf[1]==0x05)

{

init_ml = *(float*)(uart2buf+2);

init_ml /= (*(float*)flashdat+20);

sys_write_vp(0x1180, (u8*)&init_ml, 2);

}else if(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

speed_val = *(float*)(uart2buf+2);

disp_val += (sürət_val*2.45f);

sys_write_vp(0x1180, (u8*)&disp_val, 2);

}else if(uart2buf[0]==0x04)

{

total_num = uart2buf[1]*256+uart2buf[2];

}else if(uart2buf[0]==0x05)

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

əgər(dövr1)

{

is_period1 = 0;

t_nümunə();

əgər(test edilir&&is_en_tmp)

sys_write_vp(0x1170,(u8*)&tmp,2);

}

if(is_btn_scan==0)

qayıtmaq;

is_btn_scan = 0;

sys_read_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

əgər(btn_val==0)

qayıtmaq;

if(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

sys_write_vp(BTN_VAL_ADDR,(u8*)&btn_val,1);

}

 

Daha çox məlumat üçün mənbə koduna baxın.


Göndərmə vaxtı: 02 dekabr 2023-cü il