STマイクロ社モジュールの使い方備忘録
測定範囲:3~200cm
レーザー:940nm Class 1
商品情報はこちらから 秋月電子通商のページ
マニュアル(PDF)はこちら 秋月電子通商のマニュアル
配線は以下の通りです。
No | sensor | arduino |
---|---|---|
1 赤 | 電源3.3~5V | 5V |
2 黒 | GND | GND |
3 黄 | SDA I2C data | SDA |
4 緑 | SCL I2c clock | SCL |
5 青 | Shutdown signal | - |
6 紫 | GPIO output | - |
Arduino IDEを起動する
「ツール」「ボード」でArduino Uno を選択
「ポート」で COM# (#は数字)を確認
ソフトはpolulu のGithubを利用
pololu/vl53l0x-arduino
(*) Arduino IDE versions 1.6 以上
ソフトの準備
- Githubの上記のサイトで、<> Code を右クリックして Download ZIP で zipファイルを保存
- Arduino IDEで「スケッチ」「ライブラリを使用」「ライブラリをインストール」でzipファイルを登録
これは、最初の1回目だけでOK - 「ファイル」「スケッチの例」「VL53L0X」で「Continuous」を選択
- 以下のスケッチが表示される
- startContinuous(100) の100を測定間隔に応じてセットする(100 ms)
- 必要に応じて、名前をつけてスケッチを保存
VL53L0X sketch example
#include <Wire.h> / I2C library
#include <VL53L0X.h> / VL53L0X library
VL53L0X sensor;
void setup()
{
Serial.begin(9600); / connection rate 9600 bps
Wire.begin(); / I2C start
sensor.setTimeout(500); 500ms time-out
if (!sensor.init())
{
Serial.println("Failed to detect and initialize sensor!");
while (1) {}
}
// set time interval in millisecond
sensor.startContinuous(100);
}
void loop()
{
Serial.print(sensor.readRangeContinuousMillimeters());
if (sensor.timeoutOccurred()) { Serial.print(" TIMEOUT"); }
Serial.println();
}
「ㇾ」をクリックで検証(コンパイル)
「⇒」をクリックで検証+マイコンボード書き込み
「ツール」「シリアルモニタ」で出力表示(単位:mm)
シリアルモニタではなく、Tera Term で読み込む場合
- Tera Term を起動
- 「TCP/IP」 ではなく 「シリアル」を選択
- ポート番号を確認して、「OK]をクリック
- 出力表示(単位:mm)を確認
以上