私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
システム機能:
システムの電源がオンになると、OLED に「過負荷警報システムへようこそ。お待ちください」と表示され、5 秒後に通常のページに入ります。
1行目は取得した重量値を表示します。
2行目には設定された重量値が表示されます
3行目はGPS座標を表示します。
4 行目は、システムのステータス (OK またはアラーム) を示します。
B3 ボタンを短く押すと、重量設定のしきい値が増加します。
B4 ボタンを短く押すと、重量設定のしきい値が下がります。
圧力センサーモジュールを押すと、システムがブザー音を鳴らし、携帯電話番号にアラームメッセージを送信します。
携帯電話が Bluetooth モジュールを通じてシステムに接続されると、システムは取得した重量値と設定重量値を携帯電話に定期的に報告できます。
そしてシステムステータス。
主な機能モジュールの概略図:
パワークロック書き込みインターフェース:
マイコンとキー入力回路:
センサー取得回路:
表示出力回路:
システムメイン機能モジュールコード
初期化コード:
- /* 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 */
センサー値を読み取ります。
- //读传感器值,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;
-
- }
-
- }
BLE データを更新します。
- 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");
-
- }
-
- }
-
- }
この設計のために提供される資料には、回路図 PCB (PDF、AD、EDA バージョンを含む)、ソース コード、システム ブロック図、メイン プログラム フローチャート、部品表 (使用デバイスのマニュアルを含む)、機能操作説明書などが含まれます。
各機能モジュールに関する情報: