2017年1月14日 星期六

LinkIt Smart 7688 Duo + TSL237 Light-to-frequency Sensor

****注意 Arduino IDE 使用1.6.7***** 

   
    TSL237光至頻率轉換器在單個 CMOS 單片上組合了矽光電二極體和電流至頻率轉換器。輸出是方波(50%佔空比),頻率與光電二極體上的光強度成正比。數字輸出允許與微控制器或其他邏輯電路的直接接口。TSL237 已經對320nm至700nm的紫外 - 可見光範圍進行溫度補償,響應範圍在320nm至1050nm。

主要特徵 :

電壓 : 2.7V ~ 5V 
5M:1輸入動態範圍
低暗輸出頻率0.1 Hz
亮度響應 2.3kHz /(μW/ cm 2)@λp= 524nm

2X增益的鏡頭

TSL237 的原廠資料:

http://ams.com/eng/Products/Light-Sensors/Light-to-Frequency/TSL237

TSL237的接腳圖
TSL237 的實際接線




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

#define TFT_RST   5       //LCM  接腳
#define TFT_DC    6
#define TFT_CS    7
#define TFT_MOSI  8
#define TFT_MISO  9
#define TFT_CLK   10

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

const int input=12;    //TSL237 的輸出接腳
int high_time;
int low_time;
float time_period;
float frequency;

void setup()
{
  pinMode(input,INPUT);    
  tft.begin();                                          //LCM 啟始
  tft.fillScreen(ILI9341_BLACK);      //LCM 畫面更新為黑色
  tft.setRotation(3);                             // LCM 旋轉270度
}
void loop()
{
 tft.setCursor(0,0),  
 tft.setTextSize(2);
  tft.fillRect(0,0,320,40,0);
  tft.println("Frequency Meter");

  high_time=pulseIn(input,HIGH);
  low_time=pulseIn(input,LOW);
 
  time_period=high_time+low_time;
  time_period=time_period/1000;
  frequency=1000/time_period;

  tft.print(frequency);
  tft.print(" Hz");
  delay(1000);
}

上傳後LCM就會開始顯示TSL237的輸出頻率




沒有留言:

張貼留言