[Open Source] Semen Multi-Jumlah Alat Ukur

——Saka DWIN Developer Forum

Kasus open source sing menang penghargaan sing disaranake dening forum DWIN bisa digunakake ing industri konstruksi kanggo ndeteksi konten komponen semen - alat ukur multi-jumlah semen adhedhasar layar cerdas T5L.Insinyur nggunakake layar pinter T5L kanggo ngontrol modul deteksi bobot elektronik, modul pangukuran suhu, modul pemanasan, sensor kelembapan, lan modul pencampur kanggo nyadari fungsi deteksi solusi sing padhet lan konten komponen semen cair, lan ndhukung tampilan tingkat wektu nyata, setelan suhu, cathetan sajarah, setelan paramèter Stage lan fungsi liyane.

1. Struktur Program

acdsb (1)

2. Tampilan Material UI

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

3. Tuladha Pangembangan UI

acdsb (6)

4. Desain piranti lunak C51

Program printah initialization kanggo insinyur kanggo komunikasi karo papan kontrol nggunakake port serial T5L 2 minangka nderek:

void app_init()

{

is_testing = 0;

test_run_time = 0;

is_sec = 0;

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

}

Program utama layar cerdas T5L sesambungan karo papan kontrol kanggo mujudake fungsi deteksi komposisi semen minangka nderek:

batal btn_click_handler()

{

#define BTN_VAL_ADDR 0x1000

u16 btn_val;

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

combuff[btn_val+1] = 0;

sys_write_vp(TEST_TIME_VP,commbuff,5);

yen (uart2rxsta&UART2_PACKET_OK)

{

yen(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 += (kacepetan_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;

}

}

yen (punika_periode1)

{

is_period1 = 0;

t_sampel();

if(is_testing&&is_en_tmp)

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

}

yen (is_btn_scan==0)

bali;

is_btn_scan = 0;

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

yen(btn_val==0)

bali;

yen(btn_val<=0x10)

start_win_btn_click_handler(btn_val);

 

btn_val = 0;

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

}

 

Deleng kode sumber kanggo luwih akeh.


Wektu kirim: Dec-02-2023