2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Fonctions du système :
Une fois le système allumé, l'OLED affiche « Bienvenue dans le système d'alarme de surcharge, veuillez patienter » et il entrera dans la page normale après cinq secondes.
La première ligne affiche la valeur de poids obtenue
La deuxième ligne affiche la valeur de poids définie
La troisième ligne affiche les coordonnées GPS
La quatrième ligne affiche l'état du système, OK ou Alarme
Appuyez brièvement sur le bouton B3 pour augmenter le seuil de réglage du poids
Appuyez brièvement sur le bouton B4 pour réduire le seuil de réglage du poids
Après avoir appuyé sur le module capteur de pression, le système vibre et envoie un message d'alarme au numéro de téléphone portable.
Une fois le téléphone mobile connecté au système via le module Bluetooth, le système peut régulièrement signaler la valeur de poids obtenue et définir la valeur de poids sur le téléphone mobile.
et l'état du système.
Diagramme schématique des principaux modules fonctionnels :
Interface de gravure d'horloge de puissance :
Microcontrôleur et circuit d'entrée de clé :
Circuit d'acquisition du capteur :
Circuit de sortie d'affichage :
Lien de personnalisation des fonctions
Code du module de fonction principal du système
Code d'initialisation :
- /* 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 */
Lire la valeur du capteur ;
- //读传感器值,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;
-
- }
-
- }
Mettre à jour les données 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");
-
- }
-
- }
-
- }
Les matériaux fournis pour cette conception comprennent un PCB schématique (y compris les versions PDF, AD et EDA), le code source, le schéma fonctionnel du système, l'organigramme du programme principal, la nomenclature (y compris les manuels des appareils utilisés), les instructions de fonctionnement, etc.
Informations sur chaque module fonctionnel :