*距離センサ GP2Y0A21YK0F [#p0cfd729] #ref(s_kyori.png) -赤外線を使用した測距モジュール -非接触で距離を検出可能 --測定可能範囲:約10~80 cm --出力:アナログ電圧出力 --電源:4.5~5.5 V -データシート #ref(GP2Y0A21YK.pdf) *Arduinoとの接続 [#o27e0b34] -距離センサとArduinoを以下のように接続する。 |Pin|距離センサ信号名|Arduino|備考| |1|-|GND|| |2|Vo|任意のアナログ入力(A0~A5)|| |3|+|5V|| |1|Vo(白)|任意のアナログ入力(A0~A5)|| |2|GND(オレンジ)|GND|| |3|Vcc(黒)|5V|| ~ #ref(kyori-setsuzoku.png) *サンプルコード [#p5f2d505] -「ファイル」→「スケッチの例」→「06.Sensors」→「GP2Y0A21YK0F」 /* ・SHARPの距離センサ GP2Y0A21YK0F のサンプルプログラムです。 ・1秒ごとに距離を測定し、シリアルモニタに出力します。 ・マイコンボードに書き込み後、「ツール」→「シリアルモニタ」を起動してください。 ・Arduinoとの接続 1 Vo(白) 任意のアナログ入力(A0~A5) 2 GND(オレンジ) GND 3 Vcc(黒) 5V */ const int analogInPin = A0; // アナログ入力ピン(定数) const float Vcc = 5.0; // 電源電圧(定数) int ad; // AD値(変数) float dist; // 距離(変数) void setup() { Serial.begin(9600); // シリアルモニタを開始 } void loop() { ad = analogRead(analogInPin); // AD値を取得 dist = Vcc * ad / 1023; dist = 26.549 * pow(dist, -1.2091); // 距離を計算 Serial.print("AD = "); Serial.print(ad); Serial.print(" , "); Serial.print("Dist = "); Serial.print(dist); Serial.println(" cm"); delay(1000); } *実行例 [#q93a9ccf] #ref(kyori-sirial.png) *参考資料 [#id9d5c7e] -[[GP2Y0A21YK0Fで距離を測定>http://overdrive.at.webry.info/201201/article_2.html]] -[[赤外線距離センサ(GP2Y0A21YK0F)とArduino>http://62059587.at.webry.info/200905/article_11.html]] -[[Arduinoで遊ぼう - 赤外線距離センサ(GP2Y0A21YK0F)>http://arms22.blog91.fc2.com/blog-entry-240.html]] ---- &size(12){Total:&counter(total); / Today:&counter(today); / Yesterday:&counter(yesterday);};