[منبع باز] ابزار اندازه گیری چند مقدار سیمان

——از انجمن توسعه دهندگان DWIN

کیس منبع باز برنده جایزه توصیه شده توسط انجمن DWIN را می توان در صنعت ساخت و ساز برای تشخیص محتوای اجزای سیمانی استفاده کرد - یک ابزار اندازه گیری چند مقدار سیمانی بر اساس صفحه نمایش هوشمند T5L.مهندسان از صفحه نمایش هوشمند T5L برای کنترل ماژول تشخیص وزن الکترونیکی، ماژول اندازه گیری دما، ماژول گرمایش، سنسور رطوبت و ماژول مخلوط استفاده می کنند تا عملکرد تشخیص محلول جامد و محتوای اجزای سیمان مایع را درک کنند و از نمایش زمان واقعی نرخ پشتیبانی کنند. تنظیم دما، سابقه سابقه، تنظیم پارامتر مرحله و سایر عملکردها.

1. ساختار برنامه

acdsb (1)

2.UI Material Display

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

مثال توسعه UI

acdsb (6)

4.C51 طراحی نرم افزار

برنامه دستور اولیه برای برقراری ارتباط مهندس با برد کنترل با استفاده از پورت سریال T5L 2 به شرح زیر است:

void app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

دوره 1 = 0;

is_period1 = 0;

uart2_init(115200);

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

sys_delay_ms(2500);

sys_pic(1);

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

}

برنامه اصلی صفحه نمایش هوشمند T5L در تعامل با برد کنترل برای درک عملکرد تشخیص ترکیب سیمان به شرح زیر است:

void btn_click_handler()

{

#define BTN_VAL_ADDR 0x1000

u16 btn_val;

if(is_testing&&is_sec)

{

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);

if(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);

}دیگر 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);

}دیگر if(uart2buf[0]==0x03&&uart2buf[1]==0x07)

{

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

disp_val += (speed_val*2.45f);

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

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

{

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

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

{

is_en_tmp = uart2buf[2];

}

uart2rxsta = 0;

}

}

if (is_period1)

{

is_period1 = 0;

t_sample();

if(is_testing&&is_en_tmp)

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

}

if(is_btn_scan==0)

برگشت؛

is_btn_scan = 0;

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

if(btn_val==0)

برگشت؛

if(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

برای اطلاعات بیشتر به کد منبع مراجعه کنید.


زمان ارسال: دسامبر-02-2023