****注意 Arduino IDE 使用1.6.7*****
VL6180X LightSense技術是藉由測量光線被目標物體反射回來的時間提供精確的距離數據。傳統感測器只能回報反射訊號的強度,並無法提供準確的距離。與傳統紅外線感測器相比,意法半導體的FlightSense技術更具獨特優勢,包括測量距離更遠(測距與目標物體的反射率無直接關係),高幀率(frame rate)以及低功耗。VL6180X模組整合了FlightSense近距離感測器(proximity sensor)與環境光線感測器(ambient-light sensor,ALS),提供基本的手勢識別功能,簡化用戶的介面設計,並提升產品性能。而新產品可支援市場上多項創新應用,包括智慧型手機、平板電腦、遊戲控制系統,同時還能提升消費性電子和工業產品的性能。
Grove-LCD RGB Backlight 需要電源5V線才要自行加工
Adafruit VL6180X 依慣例Adafruit產品排針都要自己焊接
想進一步了解VL6180X 在這
http://www.st.com/en/imaging-and-photonics-solutions/vl6180x.html
Adafruit_VL6180X libraries 下載
https://github.com/adafruit/Adafruit_VL6180X
Grove_LCD_RGB_Backlight libraries 下載
https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight
這程式碼是利用VL6180X 感測物體距離來改變背光的顏色,在超出規格255時背光為綠色當距離越來越近時背光逐漸改為紅色,這程式除了可顯示距離外還可用背光來警示。
開啟Arduino IDE 輸入以下程式然後上傳。
#include <Wire.h>
#include "Adafruit_VL6180X.h"
#include "rgb_lcd.h"
rgb_lcd lcd;
Adafruit_VL6180X vl = Adafruit_VL6180X();
void setup() {
lcd.begin(16, 2); //LCM 初始化
vl.begin(); //VL6180X 初始化
}
void loop() {
float lux = vl.readLux(VL6180X_ALS_GAIN_5); //照度計的增益調整
uint8_t range = vl.readRange();
int r = (255-(range)); //LCM 背光紅色的值來源為距離的反比
int g = (range); //LCM 背光綠色的值來源為距離的正比
int b = (0);
lcd.setRGB(r,g, b); //設定 LCM 背光
lcd.setCursor(0,0);
lcd.print("Lux: "); //顯示目前照度
lcd.print(lux);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("Range: "); //顯示距離
lcd.print(range);
lcd.print(" ");
delay(300);
}
沒有留言:
張貼留言