一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32的智能糧倉(cāng)系統(tǒng)設(shè)計(jì)

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-06-05 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、項(xiàng)目背景

隨著糧食質(zhì)量要求的提高和儲(chǔ)存方式的改變,對(duì)于糧倉(cāng)環(huán)境的監(jiān)測(cè)和控制也愈發(fā)重要。在過(guò)去的傳統(tǒng)管理中,通風(fēng)、防潮等操作需要定期人工進(jìn)行,精度和效率都較低。而利用嵌入式技術(shù)和智能控制算法進(jìn)行監(jiān)測(cè)和控制,不僅能夠?qū)崟r(shí)掌握環(huán)境變化,還可以快速做出響應(yīng)。

本項(xiàng)目選擇STM32F103RCT6作為主控芯片,采用DHT11溫濕度傳感器和MQ9可燃?xì)怏w檢測(cè)模塊進(jìn)行數(shù)據(jù)采集,在本地利用顯示屏實(shí)時(shí)顯示出來(lái)。WiFi模塊則用于與手機(jī)端實(shí)現(xiàn)數(shù)據(jù)通信和遠(yuǎn)程控制,方便用戶隨時(shí)了解糧倉(cāng)環(huán)境狀況并進(jìn)行相應(yīng)的操作。同時(shí),通過(guò)連接繼電器控制通風(fēng)風(fēng)扇和蜂鳴器報(bào)警,實(shí)現(xiàn)了智能化的溫濕度檢測(cè)和可燃?xì)怏w濃度檢測(cè)。

image-20230530221719977

image-20230530221802623

二、硬件選型

【1】主控芯片:STM32F103RCT6,這款芯片具有較高性能、低功耗等特點(diǎn)。

【2】溫濕度傳感器:DHT11,DHT11是一種數(shù)字溫濕度傳感器,價(jià)格便宜。

【3】可燃?xì)怏w檢測(cè)模塊:MQ9模塊,MQ9模塊對(duì)多種可燃?xì)怏w具有敏感性,可以精確檢測(cè)可燃?xì)怏w濃度。

【4】通風(fēng)風(fēng)扇:選擇直流電機(jī)作為通風(fēng)風(fēng)扇,使用繼電器進(jìn)行控制。

【5】WiFi模塊:ESP8266,ESP8266是一種低成本的高性能WiFi模塊,支持TCP/UDP協(xié)議。

【6】顯示屏:采用7針引腳的OLED顯示屏,SPI接口,分辨率128x64,用于顯示當(dāng)前溫度、濕度、可燃?xì)怏w濃度。

三、設(shè)計(jì)思路

【1】硬件層

通過(guò)STM32F103RCT6控制DHT11和MQ9等模塊進(jìn)行數(shù)據(jù)采集。在采集到溫濕度和可燃?xì)怏w濃度數(shù)據(jù)之后,對(duì)其進(jìn)行處理,并判斷是否超過(guò)了設(shè)定的閾值范圍。如果超過(guò)了閾值,就控制繼電器打開(kāi)風(fēng)扇,并通過(guò)蜂鳴器聲音報(bào)警。

ESP8266 WiFi模塊用于與手機(jī)端進(jìn)行通信。ESP8266被配置成AP+TCP服務(wù)器模式,通過(guò)向服務(wù)器發(fā)送指令,實(shí)現(xiàn)遠(yuǎn)程控制風(fēng)扇及設(shè)置相應(yīng)閾值等操作,并能實(shí)時(shí)接收糧倉(cāng)環(huán)境狀況信息。

【2】軟件層

STM32的控制程序使用C語(yǔ)言編寫(xiě),采用keil軟件進(jìn)行整體項(xiàng)目開(kāi)發(fā),對(duì)外設(shè)進(jìn)行控制并實(shí)現(xiàn)數(shù)據(jù)采集和智能控制。主要分為采集數(shù)據(jù)、處理數(shù)據(jù)、數(shù)據(jù)顯示、控制繼電器和蜂鳴器等功能模塊。

手機(jī)APP采用Qt框架開(kāi)發(fā),實(shí)現(xiàn)對(duì)應(yīng)數(shù)據(jù)界面顯示和邏輯操作,能夠?qū)崟r(shí)顯示和控制糧倉(cāng)內(nèi)部的溫濕度和可燃?xì)怏w濃度,并能夠?qū)︼L(fēng)扇進(jìn)行控制。同時(shí),APP界面提供了設(shè)置選項(xiàng),允許用戶設(shè)置報(bào)警閾值參數(shù)。

四、代碼設(shè)計(jì)

【1】DHT11采集溫濕度

DHT11是一種數(shù)字溫濕度傳感器,能夠通過(guò)單總線接口輸出當(dāng)前環(huán)境下的溫度和相對(duì)濕度。它由測(cè)量模塊及處理電路組成,具有體積小、成本低、響應(yīng)時(shí)間快等特點(diǎn),被廣泛應(yīng)用于各種環(huán)境監(jiān)測(cè)和自動(dòng)控制系統(tǒng)中。

下面代碼是通過(guò)STM32F103RCT6采集DHT11溫濕度數(shù)據(jù)通過(guò)串口打印輸出(使用HAL庫(kù)):

#include "main.h"
 #include "dht11.h"
 ?
 UART_HandleTypeDef huart1;
 ?
 void SystemClock_Config(void);
 static void MX_GPIO_Init(void);
 static void MX_USART1_UART_Init(void);
 ?
 int main(void)
 {
   HAL_Init();
   SystemClock_Config();
   MX_GPIO_Init();
   MX_USART1_UART_Init();
 ?
   char temp[20];
   char humi[20];
   while (1)
   {
     DHT11_Read_Data(temp, humi); // 讀取DHT11數(shù)據(jù)
     printf("Temperature: %s C, Humidity: %s %%
", temp, humi); // 打印溫濕度數(shù)據(jù)
     HAL_Delay(2000); // 延時(shí)2秒
   }
 }
 ?
 void SystemClock_Config(void)
 {
   RCC_OscInitTypeDef RCC_OscInitStruct;
   RCC_ClkInitTypeDef RCC_ClkInitStruct;
 ?
   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
   RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
   RCC_OscInitStruct.HSIState = RCC_HSI_OFF;
   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
   {
     Error_Handler();
   }
   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
   {
     Error_Handler();
   }
 }
 ?
 static void MX_USART1_UART_Init(void)
 {
   huart1.Instance = USART1;
   huart1.Init.BaudRate = 115200;
   huart1.Init.WordLength = UART_WORDLENGTH_8B;
   huart1.Init.StopBits = UART_STOPBITS_1;
   huart1.Init.Parity = UART_PARITY_NONE;
   huart1.Init.Mode = UART_MODE_TX_RX;
   huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
   huart1.Init.OverSampling = UART_OVERSAMPLING_16;
   if (HAL_UART_Init(&huart1) != HAL_OK)
   {
     Error_Handler();
   }
 }
 ?
 void Error_Handler(void)
 {
   __disable_irq();
   while (1)
   {
   }
 }
 ?
 static void MX_GPIO_Init(void)
 {
   GPIO_InitTypeDef GPIO_InitStruct;
 ?
   /* GPIO Ports Clock Enable */
   __HAL_RCC_GPIOC_CLK_ENABLE();
   __HAL_RCC_GPIOD_CLK_ENABLE();
   __HAL_RCC_GPIOA_CLK_ENABLE();
   __HAL_RCC_GPIOB_CLK_ENABLE();
 ?
   /*Configure GPIO pin Output Level */
   HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
 ?
   /*Configure GPIO pin : PC13 */
   GPIO_InitStruct.Pin = GPIO_PIN_13;
   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
 }
 ?
 void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)
 {
   GPIO_InitTypeDef GPIO_InitStruct;
   if (uartHandle- >Instance == USART1)
   {
     /* Peripheral clock enable */
     __HAL_RCC_USART1_CLK_ENABLE();
     __HAL_RCC_GPIOA_CLK_ENABLE();
 ?
     /**USART1 GPIO Configuration    
      PA9     ------ > USART1_TX
      PA10     ------ > USART1_RX 
      */
     GPIO_InitStruct.Pin = GPIO_PIN_9 | GPIO_PIN_10;
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
   }
 }
 ?
 void HAL_UART_MspDeInit(UART_HandleTypeDef *uartHandle)
 {
   if (uartHandle- >Instance == USART1)
   {
     /* Peripheral clock disable */
     __HAL_RCC_USART1_CLK_DISABLE();
 ?
     /**USART1 GPIO Configuration    
      PA9     ------ > USART1_TX
      PA10     ------ > USART1_RX 
      */
     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9 | GPIO_PIN_10);
   }
 }

s上面代碼里,使用了DHT11讀取函數(shù)DHT11_Read_Data(),該函數(shù)返回溫度值和濕度值,并將其轉(zhuǎn)換為字符串形式。通過(guò)串口與電腦連接后,可以使用串口調(diào)試軟件來(lái)查看STM32采集到的溫濕度數(shù)據(jù)。

【2】采集MQ9有毒氣氣體

MQ9是一種可燃?xì)怏w傳感器,可以檢測(cè)空氣中的多種可燃?xì)怏w,例如甲烷、丙烷、丁烷等。它的工作原理是通過(guò)加熱敏感元件,使其產(chǎn)生一個(gè)電阻變化,從而實(shí)現(xiàn)檢測(cè)目標(biāo)氣體的濃度。MQ9具有高靈敏度、快速響應(yīng)和穩(wěn)定性好等特點(diǎn),廣泛應(yīng)用于火災(zāi)報(bào)警、室內(nèi)空氣質(zhì)量監(jiān)測(cè)、工業(yè)生產(chǎn)等領(lǐng)域。需要注意的是,MQ9只能檢測(cè)可燃?xì)怏w,不能檢測(cè)其他氣體,如二氧化碳、氧氣等。

下面代碼是通過(guò)STM32F103RCT6采集MQ9可燃?xì)怏w轉(zhuǎn)為濃度通過(guò)串口打?。ㄊ褂肏AL庫(kù)):

#include "main.h"
 ?
 UART_HandleTypeDef huart1;
 ADC_HandleTypeDef hadc1;
 ?
 void SystemClock_Config(void);
 static void MX_GPIO_Init(void);
 static void MX_USART1_UART_Init(void);
 static void MX_ADC1_Init(void);
 ?
 int main(void)
 {
   HAL_Init();
   SystemClock_Config();
   MX_GPIO_Init();
   MX_USART1_UART_Init();
   MX_ADC1_Init();
 ?
   uint16_t adc_value;
   float voltage;
   float concentration;
   char buffer[20];
 ?
   while (1)
   {
     HAL_ADC_Start(&hadc1); // 啟動(dòng)ADC轉(zhuǎn)換
     if (HAL_ADC_PollForConversion(&hadc1, 100) == HAL_OK) // 等待轉(zhuǎn)換完成
     {
       adc_value = HAL_ADC_GetValue(&hadc1); // 獲取原始ADC值
       voltage = (float)adc_value * 3.3f / 4096.0f; // 轉(zhuǎn)換為電壓值
       concentration = (float)(2.5f - voltage) / 0.2f; // 根據(jù)MQ9傳感器曲線計(jì)算濃度值
       sprintf(buffer, "Concentration: %.2f %%
", concentration); // 將濃度值轉(zhuǎn)換為字符串
       printf("%s", buffer); // 通過(guò)串口打印濃度值
     }
     HAL_ADC_Stop(&hadc1); // 停止ADC轉(zhuǎn)換
     HAL_Delay(2000); // 延時(shí)2秒
   }
 }
 ?
 void SystemClock_Config(void)
 {
   RCC_OscInitTypeDef RCC_OscInitStruct;
   RCC_ClkInitTypeDef RCC_ClkInitStruct;
 ?
   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
   RCC_OscInitStruct.HSEState = RCC_HSE_ON;
   RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
   RCC_OscInitStruct.HSIState = RCC_HSI_OFF;
   RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
   RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
   RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
   if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
   {
     Error_Handler();
   }
   RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
   RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
   RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
   {
     Error_Handler();
   }
 }
 ?
 static void MX_ADC1_Init(void)
 {
   ADC_ChannelConfTypeDef sConfig;
 ?
   hadc1.Instance = ADC1;
   hadc1.Init.ScanConvMode = DISABLE;
   hadc1.Init.ContinuousConvMode = DISABLE;
   hadc1.Init.DiscontinuousConvMode = DISABLE;
   hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
   hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
   hadc1.Init.NbrOfConversion = 1;
   if (HAL_ADC_Init(&hadc1) != HAL_OK)
   {
     Error_Handler();
   }
   sConfig.Channel = ADC_CHANNEL_5;
   sConfig.Rank = ADC_REGULAR_RANK_1;
   sConfig.SamplingTime = ADC_SAMPLETIME_55CYCLES5;
   if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
   {
     Error_Handler();
   }
 }
 ?
 static void MX_USART1_UART_Init(void)
 {
   huart1.Instance = USART1;
   huart1.Init.BaudRate = 115200;
   huart1.Init.WordLength = UART_WORDLENGTH_8B;
   huart1.Init.StopBits = UART_STOPBITS_1;
   huart1.Init.Parity = UART_PARITY_NONE;
   huart1.Init.Mode = UART_MODE_TX_RX;
   huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
   huart1.Init.OverSampling = UART_OVERSAMPLING_16;
   if (HAL_UART_Init(&huart1) != HAL_OK)
   {
     Error_Handler();
   }
 }
 ?
 void Error_Handler(void)
 {
   __disable_irq();
   while (1)
   {
   }
 }
 ?
 static void MX_GPIO_Init(void)
 {
   GPIO_InitTypeDef GPIO_InitStruct;
 ?
   /* GPIO Ports Clock Enable */
   __HAL_RCC_GPIOC_CLK_ENABLE();
   __HAL_RCC_GPIOD_CLK_ENABLE();
   __HAL_RCC_GPIOA_CLK_ENABLE();
   __HAL_RCC_GPIOB_CLK_ENABLE();
 ?
   /*Configure GPIO pin Output Level */
   HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
 ?
   /*Configure GPIO pin : PC13 */
   GPIO_InitStruct.Pin = GPIO_PIN_13;
   GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
 }
 ?
 void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)
 {
   GPIO_InitTypeDef GPIO_InitStruct;
   if (uartHandle- >Instance == USART1)
   {
     /* Peripheral clock enable */
     __HAL_RCC_USART1_CLK_ENABLE();
     __HAL_RCC_GPIOA_CLK_ENABLE();
 ?
     /**USART1 GPIO Configuration    
      PA9     ------ > USART1_TX
      PA10     ------ > USART1_RX 
      */
     GPIO_InitStruct.Pin = GPIO_PIN_9 | GPIO_PIN_10;
     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
   }
 }
 ?
 void HAL_UART_MspDeInit(UART_HandleTypeDef *uartHandle)
 {
   if (uartHandle- >Instance == USART1)
   {
     /* Peripheral clock disable */
     __HAL_RCC_USART1_CLK_DISABLE();
 ?
     /**USART1 GPIO Configuration    
      PA9     ------ > USART1_TX
      PA10     ------ > USART1_RX 
      */
     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9 | GPIO_PIN_10);
   }
 }

上面代碼里,通過(guò)ADC采集MQ9可燃?xì)怏w濃度。由于MQ9傳感器的輸出信號(hào)與濃度值之間不是線性關(guān)系,需要根據(jù)其曲線進(jìn)行計(jì)算,將電壓轉(zhuǎn)換為濃度值。

在這里,采用了簡(jiǎn)單的公式:Concentration=(2.5?V)/0.2

其中V為MQ9傳感器輸出的電壓值,Concentration為可燃?xì)怏w濃度。在主函數(shù)里,先調(diào)用MX_ADC1_Init()函數(shù)中初始化ADC,將輸入通道設(shè)置為PA5(也就是ADC_CHANNEL_5)。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2566

    文章

    53008

    瀏覽量

    767621
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650637
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365107
  • 蜂鳴器
    +關(guān)注

    關(guān)注

    12

    文章

    895

    瀏覽量

    46965
  • STM32F103RCT6
    +關(guān)注

    關(guān)注

    10

    文章

    24

    瀏覽量

    10633
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    糧倉(cāng)監(jiān)控物聯(lián)網(wǎng)系統(tǒng)解決方案

    霉?fàn)€、保證糧食的存儲(chǔ)質(zhì)量,減少不必要的浪費(fèi)。 系統(tǒng)簡(jiǎn)介 糧倉(cāng)監(jiān)控物聯(lián)網(wǎng)系統(tǒng)解決方案,通過(guò)物聯(lián)網(wǎng)、傳感器、無(wú)線通信、云計(jì)算等技術(shù),結(jié)合糧倉(cāng)的網(wǎng)絡(luò)條件、規(guī)模大小等實(shí)際需求,部署應(yīng)用有線/無(wú)
    的頭像 發(fā)表于 08-08 15:30 ?1049次閱讀

    單片機(jī)的糧倉(cāng)多點(diǎn)測(cè)溫系統(tǒng)

    單片機(jī)的糧倉(cāng)多點(diǎn)測(cè)溫系統(tǒng)
    發(fā)表于 08-16 14:16

    如何實(shí)現(xiàn)單片機(jī)糧倉(cāng)溫度遠(yuǎn)程采集傳送系統(tǒng)設(shè)計(jì)?

    如何實(shí)現(xiàn)單片機(jī)糧倉(cāng)溫度遠(yuǎn)程采集傳送系統(tǒng)設(shè)計(jì)?
    發(fā)表于 01-27 07:44

    基于World Wind的三維智能糧倉(cāng)管理系統(tǒng)

    基于World Wind的智能糧倉(cāng)管理系統(tǒng)的需求,我們以糧倉(cāng)管理系統(tǒng)的多方數(shù)據(jù)為基礎(chǔ),充分考慮糧倉(cāng)
    發(fā)表于 11-14 10:56 ?11次下載
    基于World Wind的三維<b class='flag-5'>智能</b><b class='flag-5'>糧倉(cāng)</b>管理<b class='flag-5'>系統(tǒng)</b>

    使用STM32單片機(jī)設(shè)計(jì)實(shí)現(xiàn)糧倉(cāng)環(huán)境監(jiān)測(cè)系統(tǒng)的資料說(shuō)明

    在糧食倉(cāng)儲(chǔ)過(guò)程中,為給糧食提供較好的倉(cāng)儲(chǔ)環(huán)境,往往需要對(duì)糧倉(cāng)環(huán)境進(jìn)行實(shí)時(shí)的監(jiān)測(cè),因此設(shè)計(jì)基于STM32單片機(jī)為核心控制單元的實(shí)時(shí)監(jiān)測(cè)系統(tǒng),通過(guò)傳感器采集環(huán)境數(shù)據(jù)并實(shí)時(shí)顯示,通過(guò)無(wú)線模塊實(shí)時(shí)將數(shù)據(jù)傳輸至服務(wù)器平臺(tái)。
    發(fā)表于 04-21 08:00 ?31次下載
    使用<b class='flag-5'>STM32</b>單片機(jī)設(shè)計(jì)實(shí)現(xiàn)<b class='flag-5'>糧倉(cāng)</b>環(huán)境監(jiān)測(cè)<b class='flag-5'>系統(tǒng)</b>的資料說(shuō)明

    基于labview的糧倉(cāng)管理系統(tǒng)

    設(shè)計(jì)一個(gè)項(xiàng)目project,命名為糧倉(cāng)管理系統(tǒng); 獨(dú)立糧倉(cāng)要求: 這個(gè)糧倉(cāng)有5個(gè)獨(dú)立的糧倉(cāng),每個(gè)糧倉(cāng)
    發(fā)表于 05-16 16:08 ?87次下載

    應(yīng)用在智慧糧倉(cāng)系統(tǒng)中的溫度傳感芯片

    智慧糧倉(cāng)監(jiān)控管理系統(tǒng)結(jié)合當(dāng)前先進(jìn)的傳感器技術(shù)、數(shù)字通信技術(shù)、自動(dòng)化控制技術(shù),將糧倉(cāng)用濕度、溫度、氮濃度傳感器安裝于糧倉(cāng)空間,實(shí)現(xiàn)對(duì)糧倉(cāng)內(nèi)部溫
    的頭像 發(fā)表于 05-12 09:32 ?931次閱讀
    應(yīng)用在智慧<b class='flag-5'>糧倉(cāng)</b><b class='flag-5'>系統(tǒng)</b>中的溫度傳感芯片

    智能糧倉(cāng)監(jiān)控系統(tǒng)解決方案

    倉(cāng)儲(chǔ)技術(shù)等在糧食倉(cāng)儲(chǔ)領(lǐng)域的應(yīng)用,實(shí)現(xiàn)“作業(yè)流程標(biāo)準(zhǔn)化、信息采集自動(dòng)化、倉(cāng)儲(chǔ)管理智能化、業(yè)務(wù)管理集成化”,全方位提高糧庫(kù)的信息化、自動(dòng)化和智能水平。 智能糧倉(cāng)監(jiān)控
    的頭像 發(fā)表于 07-05 16:42 ?827次閱讀

    糧倉(cāng)環(huán)境監(jiān)控系統(tǒng)解決方案

    糧倉(cāng),作為糧食存儲(chǔ)的地點(diǎn),其重要性不言而喻。糧倉(cāng)的安全與否,于國(guó)于民都是影響飯碗的大事,因此需要時(shí)刻關(guān)注糧倉(cāng)的安全。 糧倉(cāng)環(huán)境監(jiān)控系統(tǒng)解決方
    的頭像 發(fā)表于 07-14 16:09 ?779次閱讀

    無(wú)源智能鎖在智慧糧倉(cāng)的運(yùn)用

    無(wú)源智能鎖在智慧糧倉(cāng)的運(yùn)用
    的頭像 發(fā)表于 07-31 23:02 ?914次閱讀
    無(wú)源<b class='flag-5'>智能</b>鎖在智慧<b class='flag-5'>糧倉(cāng)</b>的運(yùn)用

    基于單片機(jī)的糧倉(cāng)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)

    基于單片機(jī)的糧倉(cāng)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)(實(shí)物)
    發(fā)表于 01-02 09:59 ?3次下載

    基于單片機(jī)的糧倉(cāng)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于單片機(jī)的糧倉(cāng)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 10:52 ?16次下載

    基于STM32單片機(jī)的糧倉(cāng)溫濕度控制系統(tǒng)設(shè)計(jì)

    系統(tǒng)內(nèi)使用STM32單片機(jī)進(jìn)行主控,系統(tǒng)內(nèi)可以檢測(cè)糧倉(cāng)的溫濕度,另外通過(guò)EEPROM進(jìn)行溫濕度閾值的保存,當(dāng)溫度和濕度超過(guò)或者低于設(shè)定的閾值后就會(huì)進(jìn)行相應(yīng)的控制和調(diào)節(jié)。
    的頭像 發(fā)表于 06-28 14:26 ?2604次閱讀
    基于<b class='flag-5'>STM32</b>單片機(jī)的<b class='flag-5'>糧倉(cāng)</b>溫濕度控制<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    糧倉(cāng)環(huán)境智能監(jiān)控系統(tǒng)組成與功能

    問(wèn)題,造成巨大的經(jīng)濟(jì)損失。因此,構(gòu)建一個(gè)穩(wěn)定、可控的糧倉(cāng)環(huán)境,對(duì)于保障糧食安全、減少損耗具有重要意義。 糧倉(cāng)環(huán)境智能監(jiān)控系統(tǒng),集成自動(dòng)化控制、智能
    的頭像 發(fā)表于 08-30 15:54 ?626次閱讀

    糧倉(cāng)環(huán)境溫濕度監(jiān)控系統(tǒng)解決方案

    糧倉(cāng),作為糧食存儲(chǔ)的地點(diǎn),其重要性不言而喻。糧倉(cāng)的安全與否,于國(guó)于民都是影響飯碗的大事,因此需要時(shí)刻關(guān)注糧倉(cāng)的安全。糧倉(cāng)環(huán)境監(jiān)控系統(tǒng)解決方案
    的頭像 發(fā)表于 04-07 15:57 ?398次閱讀
    <b class='flag-5'>糧倉(cāng)</b>環(huán)境溫濕度監(jiān)控<b class='flag-5'>系統(tǒng)</b>解決方案