2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Järjestelmän toiminnot:
Kun järjestelmä on käynnistetty, OLED-näytössä näkyy "Tervetuloa ylikuormitushälytysjärjestelmään, ole hyvä ja odota", ja se siirtyy normaalille sivulle viiden sekunnin kuluttua.
Ensimmäinen rivi näyttää saadun painoarvon
Toisella rivillä näkyy asetettu painoarvo
Kolmas rivi näyttää GPS-koordinaatit
Neljännellä rivillä näkyy järjestelmän tila, OK tai Hälytys
Paina lyhyesti B3-painiketta nostaaksesi painon asetuskynnystä
Paina lyhyesti B4-painiketta vähentääksesi painon asetuskynnystä
Paineanturimoduulin painamisen jälkeen järjestelmä piippaa ja lähettää hälytysviestin matkapuhelinnumeroon.
Kun matkapuhelin on yhdistetty järjestelmään Bluetooth-moduulin kautta, järjestelmä voi säännöllisesti raportoida saadun painoarvon ja asettaa painoarvon matkapuhelimeen.
ja järjestelmän tila.
Tärkeimpien toiminnallisten moduulien kaavio:
Virtakellon polttoliittymä:
Mikro-ohjain ja avaimen syöttöpiiri:
Anturin hankintapiiri:
Näytön lähtöpiiri:
Järjestelmän päätoimintomoduulin koodi
Alustuskoodi:
- /* USER CODE BEGIN 1 */
-
-
- /* USER CODE END 1 */
-
-
- /* MCU Configuration--------------------------------------------------------*/
-
-
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-
- HAL_Init();
-
-
- /* USER CODE BEGIN Init */
-
- InitVar();
-
-
- /* USER CODE END Init */
-
-
- /* Configure the system clock */
-
- SystemClock_Config();
-
-
- /* USER CODE BEGIN SysInit */
-
-
- /* USER CODE END SysInit */
-
-
- /* Initialize all configured peripherals */
-
- MX_GPIO_Init();
-
- MX_USART1_UART_Init();
-
- MX_USART2_UART_Init();
-
- MX_USART3_UART_Init();
-
- MX_ADC1_Init();
-
- /* USER CODE BEGIN 2 */
-
- //uart2打开接收中断
-
- HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);
-
- //uart3打开接收中断
-
- HAL_UART_Receive_IT(&huart3, (uint8_t*)&uart3RecBuff, 1);
-
- InitOled();
-
- InitOledDisp();
-
- //初始化ESP8266
-
- ESP8266_Init();
-
- HAL_Delay(100);
-
- OledFill(0x00); //全屏熄灭
-
- RELAY1_ON();
-
- /* USER CODE END 2 */
Lue anturin arvo;
- //读传感器值,AD值
-
- void ReadSensorVal(void)
-
- {
-
- getWeightVal = ReadADCChannel(ADC_CHANNEL_0);
-
- if(getWeightVal>setWeightVal)
-
- {
-
- BUZZER_ON();
-
- sysAlarm = true;
-
- if(sendMessage==false)
-
- {
-
- sendMessage = true;
-
- sim900a_SendMessage();
-
- }
-
- }
-
- else
-
- {
-
- BUZZER_OFF();
-
- sysAlarm = false;
-
- sendMessage = false;
-
- }
-
- }
Päivitä BLE-tiedot:
- void UpdateBleData(void)
-
- {
-
- static uint8_t bleCnt = 0;
-
-
- bleCnt++;
-
- if(bleCnt>=BLE_UPDATE_INTER)
-
- {
-
- bleCnt = 0;
-
- printf("GetWeight:%04drn", getWeightVal);
-
- printf("SetWeight:%04drn", setWeightVal);
-
- if(sysAlarm==false)
-
- {
-
- printf("System is OK!rn");
-
- }
-
- else
-
- {
-
- printf("System is NG!rn");
-
- }
-
- }
-
- }
Tätä suunnittelua varten toimitetut materiaalit sisältävät kaavamaisen piirilevyn (mukaan lukien PDF-, AD- ja EDA-versiot), lähdekoodin, järjestelmän lohkokaavion, pääohjelman vuokaavion, materiaaliluettelot (mukaan lukien käytettyjen laitteiden käyttöohjeet), toiminnalliset käyttöohjeet jne.
Tietoja jokaisesta toiminnallisesta moduulista: