[ಮುಕ್ತ ಮೂಲ] ಸಿಮೆಂಟ್ ಬಹು-ಪ್ರಮಾಣದ ಅಳತೆ ಸಾಧನ

——DWIN ಡೆವಲಪರ್ ಫೋರಮ್‌ನಿಂದ

DWIN ವೇದಿಕೆಯಿಂದ ಶಿಫಾರಸು ಮಾಡಲಾದ ಪ್ರಶಸ್ತಿ ವಿಜೇತ ಓಪನ್ ಸೋರ್ಸ್ ಪ್ರಕರಣವನ್ನು ನಿರ್ಮಾಣ ಉದ್ಯಮದಲ್ಲಿ ಸಿಮೆಂಟ್ ಘಟಕ ಅಂಶವನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಬಳಸಬಹುದು - T5L ಸ್ಮಾರ್ಟ್ ಪರದೆಯನ್ನು ಆಧರಿಸಿದ ಸಿಮೆಂಟ್ ಬಹು-ಪ್ರಮಾಣದ ಅಳತೆ ಸಾಧನ. ಘನ ದ್ರಾವಣ ಮತ್ತು ದ್ರವ ಸಿಮೆಂಟ್ ಘಟಕ ವಿಷಯದ ಪತ್ತೆ ಕಾರ್ಯವನ್ನು ಅರಿತುಕೊಳ್ಳಲು ಮತ್ತು ದರ, ತಾಪಮಾನ ಸೆಟ್ಟಿಂಗ್, ಇತಿಹಾಸ ದಾಖಲೆ, ಹಂತದ ನಿಯತಾಂಕ ಸೆಟ್ಟಿಂಗ್ ಮತ್ತು ಇತರ ಕಾರ್ಯಗಳ ನೈಜ-ಸಮಯದ ಪ್ರದರ್ಶನವನ್ನು ಬೆಂಬಲಿಸಲು ಎಂಜಿನಿಯರ್‌ಗಳು ಎಲೆಕ್ಟ್ರಾನಿಕ್ ತೂಕ ಪತ್ತೆ ಮಾಡ್ಯೂಲ್, ತಾಪಮಾನ ಮಾಪನ ಮಾಡ್ಯೂಲ್, ತಾಪನ ಮಾಡ್ಯೂಲ್, ತೇವಾಂಶ ಸಂವೇದಕ ಮತ್ತು ಮಿಶ್ರಣ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು T5L ಸ್ಮಾರ್ಟ್ ಪರದೆಯನ್ನು ಬಳಸುತ್ತಾರೆ.

1. ಕಾರ್ಯಕ್ರಮದ ರಚನೆ

ಎಸಿಡಿಎಸ್‌ಬಿ (1)

2.UI ಮೆಟೀರಿಯಲ್ ಡಿಸ್ಪ್ಲೇ

ಎಸಿಡಿಎಸ್‌ಬಿ (2)
ಎಸಿಡಿಎಸ್‌ಬಿ (4)
ಎಸಿಡಿಎಸ್‌ಬಿ (3)
ಎಸಿಡಿಎಸ್‌ಬಿ (5)

3.UI ಅಭಿವೃದ್ಧಿ ಉದಾಹರಣೆ

ಎಸಿಡಿಎಸ್‌ಬಿ (6)

4.C51 ಸಾಫ್ಟ್‌ವೇರ್ ವಿನ್ಯಾಸ

T5L ಸೀರಿಯಲ್ ಪೋರ್ಟ್ 2 ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಿಯಂತ್ರಣ ಮಂಡಳಿಯೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಎಂಜಿನಿಯರ್‌ಗೆ ಇನಿಶಿಯಲೈಸೇಶನ್ ಕಮಾಂಡ್ ಪ್ರೋಗ್ರಾಂ ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

ಅನೂರ್ಜಿತ app_init()

{(

ಪರೀಕ್ಷೆ_ಆಗುತ್ತಿದೆ = 0;

ಪರೀಕ್ಷೆ_ರನ್_ಸಮಯ = 0;

is_sec = 0;

ಅವಧಿ1 = 0;

ಅವಧಿ_1 = 0;

ಆರ್ಟ್2_ಇನಿಟ್(115200);

send_bytes("AT+INIT=0\r\n",ಗಾತ್ರ("AT+INIT=0\r\n")-1);

ಸಿಸ್_ಡೆಲೇ_ಎಂಎಸ್(2500);

ಸಿಸ್_ಪಿಕ್(1);

send_bytes("AT+START\r\n",ಗಾತ್ರ("AT+START\r\n")-1);

}

ಸಿಮೆಂಟ್ ಸಂಯೋಜನೆ ಪತ್ತೆ ಕಾರ್ಯವನ್ನು ಅರಿತುಕೊಳ್ಳಲು ನಿಯಂತ್ರಣ ಮಂಡಳಿಯೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ T5L ಬುದ್ಧಿವಂತ ಪರದೆಯ ಮುಖ್ಯ ಕಾರ್ಯಕ್ರಮ ಹೀಗಿದೆ:

btn_click_handler() ಅನ್ನು ರದ್ದುಗೊಳಿಸಿ

{(

#BTN_VAL_ADDR 0x1000 ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ

u16 ಬಟನ್_ವಾಲ್;

(ಪರೀಕ್ಷೆ_ಆಗಿದ್ದರೆ&&ಸೆಕೆಂಡ್_ಆಗಿದ್ದರೆ)

{(

is_sec = 0;

ಟೆಸ್ಟ್_ರನ್_ಟೈಮ್++;

btn_val = ಸ್ಪ್ರಿಂಟ್‌ಎಫ್(ಕಾಂಬಫ್,"%02u:%02u",(u16)(ಪರೀಕ್ಷೆ_ರನ್_ಸಮಯ/60),(u16)(ಪರೀಕ್ಷೆ_ರನ್_ಸಮಯ%60));

ಕಾಂಬಫ್[btn_val+1] = 0;

sys_write_vp(TEST_TIME_VP,ಸಂಯೋಜನೆ,5);

(uart2rxsta&UART2_PACKET_OK) ಆಗಿದ್ದರೆ

{(

(uart2buf[0]==0x01&&uart2buf[1]==0x02) ಆಗಿದ್ದರೆ

{(

init_weight = *(ಫ್ಲೋಟ್*)(uart2buf+2);

init_weight *= (*(float*)flashdata);

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

}ಇಲ್ಲದಿದ್ದರೆ (uart2buf[0]==0x02&&uart2buf[1]==0x05)

{(

init_ml = *(ಫ್ಲೋಟ್*)(uart2buf+2);

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

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

}ಇಲ್ಲದಿದ್ದರೆ (uart2buf[0]==0x03&&uart2buf[1]==0x07) ಆಗಿದ್ದರೆ

{(

ವೇಗ_ವಾಲ್ = *(ಫ್ಲೋಟ್*)(uart2buf+2);

ಡಿಸ್ಪ್_ವಾಲ್ += (ವೇಗ_ವಾಲ್*2.45f);

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

}ಇಲ್ಲದಿದ್ದರೆ (uart2buf[0]==0x04) ಆಗಿದ್ದರೆ

{(

ಒಟ್ಟು_ಸಂಖ್ಯೆ = uart2buf[1]*256+uart2buf[2];

}ಇಲ್ಲದಿದ್ದರೆ (uart2buf[0]==0x05) ಆಗಿದ್ದರೆ

{(

is_en_tmp = uart2buf[2];

}

ಆರ್ಟ್2ಆರ್ಎಕ್ಸ್‌ಸ್ಟಾ = 0;

}

}

ಅವಧಿ 1 ಆಗಿದ್ದರೆ

{(

ಅವಧಿ_1 = 0;

t_ಮಾದರಿ();

(is_testing&&is_en_tmp) ಆಗಿದ್ದರೆ

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

}

(is_btn_scan==0) ಆಗಿದ್ದರೆ

ಹಿಂತಿರುಗಿ;

is_btn_scan = 0;

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

(btn_val==0) ಆಗಿದ್ದರೆ

ಹಿಂತಿರುಗಿ;

(btn_val

ಸ್ಟಾರ್ಟ್_ವಿನ್_ಬಿಟಿಎನ್_ಕ್ಲಿಕ್_ಹ್ಯಾಂಡ್ಲರ್(ಬಿಟಿಎನ್_ವಾಲ್);

 

btn_val = 0;

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

}

 

ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಮೂಲ ಕೋಡ್ ಅನ್ನು ನೋಡಿ.


ಪೋಸ್ಟ್ ಸಮಯ: ಡಿಸೆಂಬರ್-02-2023