[Otevřený zdroj] Cement Multi-amount Measuring Instrument

——Z DWIN Developer Forum

Oceňované pouzdro s otevřeným zdrojovým kódem doporučené fórem DWIN může být použito ve stavebnictví k detekci obsahu cementové složky - cementový měřicí přístroj pro více množství založený na chytré obrazovce T5L.Inženýři používají inteligentní obrazovku T5L k ovládání modulu elektronické detekce hmotnosti, modulu měření teploty, topného modulu, senzoru vlhkosti a směšovacího modulu, aby realizovali funkci detekce obsahu pevných roztoků a tekutých cementových složek a podporovali zobrazování rychlosti v reálném čase, nastavení teploty, záznam historie, nastavení parametrů Stage a další funkce.

1. Struktura programu

acdsb (1)

2. Zobrazení materiálu uživatelského rozhraní

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

3. Příklad vývoje uživatelského rozhraní

acdsb (6)

4. Návrh softwaru C51

Inicializační příkazový program pro inženýra pro komunikaci s řídicí deskou pomocí sériového portu T5L 2 je následující:

void app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

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

}

Hlavní program inteligentní obrazovky T5L spolupracující s řídicí deskou pro realizaci funkce detekce složení cementu je následující:

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)(doba_testu/60),(u16)(doba_testu%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);

}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 += (speed_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;

}

}

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)

vrátit se;

is_btn_scan = 0;

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

if(btn_val==0)

vrátit se;

if(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

Více viz zdrojový kód.


Čas odeslání: prosinec-02-2023