****注意 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的輸出頻率
沒有留言:
張貼留言