2017年4月25日 星期二

Teensyduino (筆記 三) Teensy 3.6 Winsen MH-410D Sensor NDIR二氧化碳傳感器模組

****軟體使用 Teensyduino  1.36  + Arduino 1.82 ********

MH-410D 介紹

MH-410D 紅外氣體傳感器是通用型、智能型、微型傳感器,該红外傳感器利用非色散红外(NDIR)原理對空氣中存在的CO2進行探測,具有很好的選擇性,無氧氣依賴性,性能稳定、壽命長。内置温度補償。該红外傳感器是通過氣體將紅外光吸收氣體檢測技術與微型機械加工、精良電路設計緊密结合而制作出的小巧型高性能红外傳感器。

傳感器特點

高靈敏度、高分辨率、低功耗
提供UART、 類比電壓輸出方式
響應時間快
温度補償,卓越的線性輸出 ,優異的稳定性
使用壽命長
抗水氣干擾、不中毒

主要應用

     MH-410D 紅外傳感器可廣泛應用於室内空氣品質監控、工業過程及安全防護監控、農業及畜牧業生產過程監控。






接好線路後




#include <Adafruit_GFX.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_ILI9341.h>

#define TFT_RST   25       //LCM  接腳
#define TFT_DC    26
#define TFT_CS    27
#define TFT_MOSI  28
#define TFT_MISO  29
#define TFT_CLK   30

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);


byte Read_Gas[]={0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};  //Sensor 讀取指令
char Gas_Return[9];                                  


void setup()
{
    Serial2.begin(9600);
    tft.begin();                                          //LCM 啟始
    tft.fillScreen(ILI9341_BLACK);      //LCM 畫面更新為黑色
    tft.setRotation(1);                             // LCM 旋轉90度
}
void loop()
{

    Serial2.write(Read_Gas,9);               //
    Serial2.readBytes(Gas_Return, 9);        //讀取Sensor
    int responseHigh = (int) Gas_Return[2];
    int responseLow = (int) Gas_Return[3];
    float  o2 = (responseHigh*256+responseLow)*0.01;   //只有這裡不一樣

  tft.setCursor(0,0);
  tft.setTextSize(2);
  tft.fillRect(0,0,320,40,0);
  tft.print("02 = ");
  tft.print(o2);
  tft.print(" % ");
  delay(2000);
}

注意 MH-410D 通電後5~10分後數值才會正常



沒有留言:

張貼留言