내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
시스템 기능:
시스템 전원을 켜면 OLED에 "과부하 경보 시스템에 오신 것을 환영합니다. 잠시 기다려 주십시오."라는 메시지가 표시되고 5초 후에 일반 페이지로 들어갑니다.
첫 번째 라인에는 획득된 중량 값이 표시됩니다.
두 번째 라인에는 설정된 중량 값이 표시됩니다.
세 번째 줄에는 GPS 좌표가 표시됩니다.
네 번째 줄에는 시스템 상태인 OK 또는 Alarm이 표시됩니다.
B3 버튼을 짧게 누르면 무게 설정 임계값이 증가합니다.
B4 버튼을 짧게 눌러 무게 설정 임계값을 줄입니다.
압력 센서 모듈을 누르면 시스템에서 경고음이 울리고 휴대폰 번호로 경보 메시지가 전송됩니다.
휴대폰이 블루투스 모듈을 통해 시스템에 연결되면 시스템은 정기적으로 획득한 체중 값을 보고하고 휴대폰에 체중 값을 설정할 수 있습니다.
및 시스템 상태.
주요 기능 모듈의 개략도:
전원 클럭 굽기 인터페이스:
마이크로컨트롤러 및 키 입력 회로:
센서 획득 회로:
디스플레이 출력 회로:
시스템 주요 기능 모듈 코드
초기화 코드:
- /* 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 버전 포함), 소스 코드, 시스템 블록 다이어그램, 주요 프로그램 흐름도, BOM(사용된 장치에 대한 매뉴얼 포함), 기능 작동 지침 등이 포함됩니다.
각 기능 모듈에 대한 정보: