在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

聚豐項目 > 基于CH32V103R 開發板的室內環境檢測

基于CH32V103R 開發板的室內環境檢測

室內環境是我們與我們息息相關,因而對它的了解也就是一件十分必要的事情。并通過數據搭配物聯網家居來實時調節我們的生活環境,該作品以CH32V103R為處理核心,通過數字式傳感器的配合來獲取環境的溫度、光照強度、大氣壓等,除外通過A/D轉換器與模擬量傳感器的配合可檢測土壤濕度等狀態,只是所用的傳感器存在差異而已,在結構上不存在其他方面的變化。為了便于標記檢測的時間點,所用的是片內的RTC計時器。為了體現檢測儀器的便攜式特點,該作品可利用串口為數據傳送的中介,以支持2種形式的應用,即:借助無線透傳模塊以進行數據的無線傳輸;通過對數據進行協議的封裝,可上傳到電腦以實現界面的控件驅動顯示,如指針式表盤、刻度計及進度球等顯示形式。另外,還可控制MP3語音模塊來播報當前的功能處理等。

jf_40123188 jf_40123188

分享
0 喜歡這個項目
團隊介紹

jf_40123188 jf_40123188

團隊成員

jf_40123188 工程師

分享
項目簡介
室內環境是我們與我們息息相關,因而對它的了解也就是一件十分必要的事情。并通過數據搭配物聯網家居來實時調節我們的生活環境,該作品以CH32V103R為處理核心,通過數字式傳感器的配合來獲取環境的溫度、光照強度、大氣壓等,除外通過A/D轉換器與模擬量傳感器的配合可檢測土壤濕度等狀態,只是所用的傳感器存在差異而已,在結構上不存在其他方面的變化。為了便于標記檢測的時間點,所用的是片內的RTC計時器。為了體現檢測儀器的便攜式特點,該作品可利用串口為數據傳送的中介,以支持2種形式的應用,即:借助無線透傳模塊以進行數據的無線傳輸;通過對數據進行協議的封裝,可上傳到電腦以實現界面的控件驅動顯示,如指針式表盤、刻度計及進度球等顯示形式。另外,還可控制MP3語音模塊來播報當前的功能處理等。
硬件說明
  1. CH32V103R開發板,作為整個系統的主控,其多線程,速度快,在物聯網的應用中具有得天獨厚的優勢。

  2. MG995舵機,用于模擬窗簾的閉合。

  3. esp8266(esp01s),作為wifi模塊,主要用于mqtt服務,是物聯網不可或缺的一環。

  4. 紅外傳感器,用于感受光照,當檢測到光照時,舵機將自動閉合(拉上窗簾)。

  5. dht11,溫度濕度傳感器,用于獲取溫度和濕度。

  6. 繼電器,用于連接220v用電器的開關。

IMG_1439.JPG

軟件說明

軟件部分使用了雙線程作為整個系統的架構

第一個線程為整個系統的主要部分,包括了mqtt的連接,訂閱,以及處理微信小程序發送的信息。

第二個線程為單片機向微信小程序發送信息的部分,定時獲取dht11的溫度濕度,并且把這些數據發送到微信小程序端。

數字式傳感器

為進行環境檢測,所有的數字式傳感器為光強傳感器BH1750和溫度氣壓傳感器BMP085,這2個器件均以I2C接口的方式工作。

這2個傳感器所占用的引腳為:

BH1750

SCK--- PA6

SIN--- PB7

BMP085

SCL--- PF0

SDA--- PB0

串行通訊

板上可供數據傳送的串口為UART1,其引腳功能為:

TX1--- PA4

RX1--- PA3

A/D轉換及傳感器

板上可直接使用A/D轉換的引腳為ADC0所對應的PA5,用它連接外部的模擬量傳感器以檢測外部環境的狀態,如土壤濕度、所含的氣體和氣味等。

數字式傳感器檢測

讀取光照強度檢測值的函數為:

void Get_Sunlight_Value()
{
    int dis_data=0;
    float temp;
    char i=0;
    unsigned int sd;
    Single_Write_BH1750(0x01);
    Single_Write_BH1750(0x10);
    rt_thread_mdelay(180);
    Multiple_Read_BH1750();
    for(i=0;i<3;i++)   dis_data=BUF[0];
    dis_data=(dis_data <<8)+BUF[1];
    temp=(float)dis_data/1.2;
    sd=temp;
    OLED_ShowString(0,2,"Sunlight=     lx",16);
    OLED_ShowNum(72,2,sd,5,16);
}


讀取溫度與氣壓的函數為:

long bmp085ReadTemp(void)
{
      BMP085_Start();
      BMP085_Send_Byte(BMP085_SlaveAddress);
      while(BMP085_Wait_Ack()){}
      BMP085_Send_Byte(0xF4);
      while(BMP085_Wait_Ack()){}
      BMP085_Send_Byte(0x2E);
      while(BMP085_Wait_Ack()){}
      BMP085_Stop();
      rt_thread_mdelay(10);
      return (long) Multiple_read(0xF6);
}
 
long bmp085ReadPressure(void)
{
    long pressure = 0;
    BMP085_Start();
    BMP085_Send_Byte(BMP085_SlaveAddress);
    while(BMP085_Wait_Ack()){}
    BMP085_Send_Byte(0xF4);
    while(BMP085_Wait_Ack()){}
    BMP085_Send_Byte(0x34);
    while(BMP085_Wait_Ack()){}
    BMP085_Stop();
    rt_thread_mdelay(10);
    pressure = Multiple_read(0xF6);
    pressure&= 0x0000FFFF;
    return pressure;
}


模擬量采集

實現模擬量采集的程序為:

    adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
    if (adc_dev == RT_NULL)
    {
        while(1);
    }
    else{
    ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);
    }

    while(k==2)
    {
            value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);
            LCD_ShowString(80,12, "value=",RED);
            LCD_ShowNum(128,12,value,5,RED);
            vol = value * REFER_VOLTAGE /CONVERT_BITS;
            LCD_ShowString(80,32, "U = . V",RED);
            LCD_ShowNum(104,32,vol/10,1,RED);
            LCD_ShowNum(120,32,vol%10,1,RED);
            rt_thread_mdelay(800);
            if(rt_pin_read(S2)==PIN_LOW) k=3;
            while(rt_pin_read(S2)==PIN_LOW);
            test_irda();
            if(cs==0x0b) k=3;

    }



演示效果

  pYYBAGGeNmWATf_HAABkpcjvBBg495.png

評論區(0 )
主站蜘蛛池模板: 色婷婷久久久swag精品| 欧美一区二区三区四区在线观看| 久久精品5| 欧美人交性视频在线香蕉| 男人的天堂在线精品视频| 免费黄色的视频| 国内外精品免费视频| 成zzzwww日本免费| 亚洲好骚综合| 免费看黄色的网站| 天天干天天拍天天射天天添天天爱| 天天综合色天天综合网| 4hc44四虎www视频| 国产三级日本三级韩国三级在线观看| 日本妈妈4| 色多多在线视频| 欧美在线资源| 狠狠综合| 国模私拍在线观看| 淫操| 欧美黄色大片免费| 狼狼鲁狼狼色| 在线播放一区二区精品产| 免费视频黄| 男女一区二区三区免费| 在线天堂网| 日本色图网站| 国产裸体美女视频全黄| 特污兔午夜影院| 另类五月| 亚洲伊人久久大香线蕉影院| 日韩精品三级| 女人被男人免费播放网站| 国产三级中文字幕| 天天操天天舔天天射| 喷潮白浆| 永久免费观看黄网站| 亚洲福利视频一区二区| 午夜看大片| 国产在线播| 免费又黄又爽的禁片视频|