Berbagi teknologi

[Topik proyek kelulusan komputer mikro chip tunggal 24048] - Desain sistem alarm kelebihan beban truk berdasarkan komputer mikro chip tunggal

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Fungsi sistem:

Setelah sistem dihidupkan, OLED menampilkan "Selamat datang di sistem alarm kelebihan beban, harap tunggu", dan akan masuk ke halaman normal setelah lima detik.

Baris pertama menampilkan nilai bobot yang diperoleh

Baris kedua menampilkan nilai bobot yang ditetapkan

Baris ketiga menampilkan koordinat GPS

Baris keempat menunjukkan status sistem, OK atau Alarm

Tekan sebentar tombol B3 untuk meningkatkan ambang batas pengaturan berat

Tekan sebentar tombol B4 untuk mengurangi ambang batas pengaturan berat

Setelah menekan modul sensor tekanan, sistem berbunyi dan mengirimkan pesan alarm ke nomor ponsel.

Setelah ponsel terhubung ke sistem melalui modul Bluetooth, sistem dapat secara teratur melaporkan nilai bobot yang diperoleh dan menetapkan nilai bobot ke ponsel.

dan status sistem.

Diagram skema modul fungsional utama:

Antarmuka pembakaran jam daya:

Mikrokontroler dan rangkaian input kunci:

Sirkuit akuisisi sensor:

Menampilkan rangkaian keluaran:

Tautan penyesuaian fungsi

Kode modul fungsi utama sistem

Kode inisialisasi:

  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 */

Baca nilai sensor;

  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. }

Perbarui data BLE:

  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. }

Materi yang disediakan untuk desain ini meliputi skema PCB (termasuk versi PDF, AD, dan EDA), kode sumber, diagram blok sistem, diagram alir program utama, bill of material (termasuk manual perangkat bekas), instruksi pengoperasian fungsional, dll.

Informasi tentang setiap modul fungsional: