2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Systemfunktionen:
Nach dem Einschalten des Systems zeigt das OLED „Willkommen beim Überlastalarmsystem, bitte warten“ an und wechselt nach fünf Sekunden zur normalen Seite.
In der ersten Zeile wird der ermittelte Gewichtswert angezeigt
In der zweiten Zeile wird der eingestellte Gewichtswert angezeigt
In der dritten Zeile werden die GPS-Koordinaten angezeigt
Die vierte Zeile zeigt den Systemstatus, OK oder Alarm
Drücken Sie kurz die Taste B3, um den Schwellenwert für die Gewichtseinstellung zu erhöhen
Drücken Sie kurz die Taste B4, um den Schwellenwert für die Gewichtseinstellung zu verringern
Nach Drücken des Drucksensormoduls summt das System und sendet eine Alarmmeldung an die Mobiltelefonnummer.
Nachdem das Mobiltelefon über das Bluetooth-Modul mit dem System verbunden ist, kann das System regelmäßig den erhaltenen Gewichtswert melden und den Gewichtswert an das Mobiltelefon einstellen.
und Systemstatus.
Schematische Darstellung der wichtigsten Funktionsmodule:
Power-Clock-Burning-Schnittstelle:
Mikrocontroller und Tasteneingangsschaltung:
Sensorerfassungsschaltung:
Ausgangsschaltung des Displays:
Code des Hauptfunktionsmoduls des Systems
Initialisierungscode:
- /* 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 */
Sensorwert lesen;
- //读传感器值,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-Daten aktualisieren:
- 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");
-
- }
-
- }
-
- }
Zu den für diesen Entwurf bereitgestellten Materialien gehören schematische Leiterplatten (einschließlich PDF-, AD- und EDA-Versionen), Quellcode, Systemblockdiagramm, Hauptprogrammablaufdiagramm, Stücklisten (einschließlich Handbücher für gebrauchte Geräte), funktionale Betriebsanweisungen usw.
Informationen zu jedem Funktionsmodul: