моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Системные функции:
После включения системы на OLED-дисплее отображается «Добро пожаловать в систему сигнализации перегрузки, пожалуйста, подождите», и через пять секунд она перейдет на обычную страницу.
В первой строке отображается полученное значение веса.
Во второй строке отображается установленное значение веса.
В третьей строке отображаются координаты GPS.
Четвертая строка показывает состояние системы: «ОК» или «Тревога».
Коротко нажмите кнопку 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");
-
- }
-
- }
-
- }
Материалы, предоставленные для этого проекта, включают схему печатной платы (включая версии PDF, AD и EDA), исходный код, блок-схему системы, основную блок-схему программы, спецификацию материалов (включая руководства для бывших в употреблении устройств), инструкции по функциональной эксплуатации и т. д.
Информация о каждом функциональном модуле: