Teknologian jakaminen

[Yksisirun mikrotietokoneen valmistumisprojekti aihe 24048] - Yksisiruiseen mikrotietokoneeseen perustuvan kuorma-auton ylikuormitushälytysjärjestelmän suunnittelu

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:

Toiminnon mukautuslinkki

Järjestelmän päätoimintomoduulin koodi

Alustuskoodi:

  1. /* USER CODE BEGIN 1 */
  2. /* USER CODE END 1 */
  3. /* MCU Configuration--------------------------------------------------------*/
  4. /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  5. HAL_Init();
  6. /* USER CODE BEGIN Init */
  7. InitVar();
  8. /* USER CODE END Init */
  9. /* Configure the system clock */
  10. SystemClock_Config();
  11. /* USER CODE BEGIN SysInit */
  12. /* USER CODE END SysInit */
  13. /* Initialize all configured peripherals */
  14. MX_GPIO_Init();
  15. MX_USART1_UART_Init();
  16. MX_USART2_UART_Init();
  17. MX_USART3_UART_Init();
  18. MX_ADC1_Init();
  19. /* USER CODE BEGIN 2 */
  20. //uart2打开接收中断
  21. HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);
  22. //uart3打开接收中断
  23. HAL_UART_Receive_IT(&huart3, (uint8_t*)&uart3RecBuff, 1);
  24. InitOled();
  25. InitOledDisp();
  26. //初始化ESP8266
  27. ESP8266_Init();
  28. HAL_Delay(100);
  29. OledFill(0x00); //全屏熄灭
  30. RELAY1_ON();
  31. /* USER CODE END 2 */

Lue anturin arvo;

  1. //读传感器值,AD值
  2. void ReadSensorVal(void)
  3. {
  4. getWeightVal = ReadADCChannel(ADC_CHANNEL_0);
  5. if(getWeightVal>setWeightVal)
  6. {
  7. BUZZER_ON();
  8. sysAlarm = true;
  9. if(sendMessage==false)
  10. {
  11. sendMessage = true;
  12. sim900a_SendMessage();
  13. }
  14. }
  15. else
  16. {
  17. BUZZER_OFF();
  18. sysAlarm = false;
  19. sendMessage = false;
  20. }
  21. }

Päivitä BLE-tiedot:

  1. void UpdateBleData(void)
  2. {
  3. static uint8_t bleCnt = 0;
  4. bleCnt++;
  5. if(bleCnt>=BLE_UPDATE_INTER)
  6. {
  7. bleCnt = 0;
  8. printf("GetWeight:%04drn", getWeightVal);
  9. printf("SetWeight:%04drn", setWeightVal);
  10. if(sysAlarm==false)
  11. {
  12. printf("System is OK!rn");
  13. }
  14. else
  15. {
  16. printf("System is NG!rn");
  17. }
  18. }
  19. }

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: