le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Funzioni del sistema:
Dopo l'accensione del sistema, l'OLED visualizza "Benvenuti nel sistema di allarme di sovraccarico, attendere" e dopo cinque secondi verrà visualizzata la pagina normale.
La prima riga visualizza il valore di peso ottenuto
La seconda riga visualizza il valore di peso impostato
La terza riga mostra le coordinate GPS
La quarta riga mostra lo stato del sistema, OK o Allarme
Premere brevemente il pulsante B3 per aumentare la soglia di impostazione del peso
Premere brevemente il pulsante B4 per ridurre la soglia di impostazione del peso
Dopo aver premuto il modulo sensore di pressione, il sistema emette un segnale acustico e invia un messaggio di allarme al numero di cellulare.
Dopo aver collegato il telefono cellulare al sistema tramite il modulo Bluetooth, il sistema può segnalare regolarmente il valore di peso ottenuto e impostare il valore di peso sul telefono cellulare.
e lo stato del sistema.
Schema schematico dei principali moduli funzionali:
Interfaccia di masterizzazione dell'orologio di alimentazione:
Microcontrollore e circuito di ingresso chiave:
Circuito di acquisizione del sensore:
Circuito di uscita del display:
Link per la personalizzazione delle funzioni
Codice del modulo funzione principale del sistema
Codice di inizializzazione:
- /* 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 */
Leggere il valore del sensore;
- //读传感器值,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;
-
- }
-
- }
Aggiorna i dati 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");
-
- }
-
- }
-
- }
I materiali forniti per questo progetto includono PCB schematico (comprese le versioni PDF, AD ed EDA), codice sorgente, diagramma a blocchi del sistema, diagramma di flusso del programma principale, distinta base (compresi i manuali per i dispositivi usati), istruzioni operative funzionali, ecc.
Informazioni su ciascun modulo funzionale: