#author("2017-04-26T15:07:48+09:00","default:qua","qua")
* 赤外線距離センサ GP2Y0A21YK [#dfafaf23]
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/gp2y0a21yk.jpg,773x222)
-[[販売元情報ページ:http://akizukidenshi.com/catalog/g/gI-02551/]]
**配線 [#qea19869]
左から、白、橙、黒の順のものと、黄、黒、赤の順のものがあります。
|番号|ピン|意味|h
|白/黄|Vo|出力データ(Arduinoのアナログ入力へ)|
|橙/黒|GND|Ground(ArduinoのGNDへ)|
|黒/赤|+5V|電源(Arduinoの5Vへ)|
** プログラミング例 [#rbad2517]
 // アナログ入力ピン0の値をモニタするためのスケッチ
 // IDEのツール→シリアルモニタで数値を表示
 // IDEのツール→シリアルプロッタでグラフを表示
 
 const int Pin = 0; // 入力ピン番号
 const int Delay = 100;  // データ入力時間間隔(ミリ秒)
 
 void setup() {
   // Arduinoとコンピュータの間の通信を準備
   // データ通信速度は9600ビット/秒
   Serial.begin(9600);
 }
 
 void loop() {
   // 入力ピンから読み取って、
   int x = analogRead( Pin );
   // コンピュータへ送信
   Serial.println( x/204.8 );
   // 時間間隔だけ待つ
   delay( Delay );
 }
* 超音波距離センサ URM37 V3.2 [#u4f61d1c]
#ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/urm37.jpg,200x150)
-[[販売元情報ページ:http://akizukidenshi.com/catalog/g/gM-06683/]]
**配線 [#qea19869]
ピン番号はピンを手前にして、右から左へ1番から9番まで
|番号|ピン|意味|h
|1|+5V|電源(Arduinoの5Vへ)|
|2|GND|Ground(ArduinoのGNDへ)|
|3|RST||
|4|PWM|PWM出力(Arduinoのデジタルピン3へ)|
|5|MOTO|サーボモータ制御出力|
|6|COMP/TRIG|トリガ入力(Arduinoのデジタルピン5へ)|
|7|NC|接続なし|
|8|RXD|受信(Arduinoのデジタルピン1へ)|
|9|TXD|送信(Arduinoのデジタルピン0へ)|
通常、8, 9番ピンとArduinoの1, 0番ピンは接続しない。
** プログラミング [#x0c1637b]
-測定例~
センサの1, 2, 4, 5番ピンをそれぞれArduinoの5V, GND, 3番, 5番ピンに接続。~
測定値をシリアルモニタに出力する。
 // # Editor    :Jiang from DFRobot
 // # Data      :18.09.2012
  
 // # Product name:ultrasonic scanner 
 // # Product SKU:SEN0001
 // # Version :  0.2
  
 int URPWM = 3; // データ入力ピン番号
 int URTRIG = 5; // トリガピン番号
   
 unsigned int Distance=0;
  
 void setup()
 {
   Serial.begin(9600);         // PCとの通信を準備
   pinMode(URTRIG,OUTPUT);     // トリガ
   digitalWrite(URTRIG,HIGH);  // トリガはいつもはHIGH
   
   pinMode(URPWM, INPUT);      // データ
 }
   
 void loop()
 {
     digitalWrite(URTRIG, LOW);  // トリガピンをHIGH→LOW→HIGHにして測定開始
     digitalWrite(URTRIG, HIGH);
       
     unsigned long DistanceMeasured=pulseIn(URPWM,LOW);  
                                 // データはパルス長として得られる。
                                 // 1cmあたり、50マイクロ秒
     // 結果の表示
     if(DistanceMeasured>=10200){ // 無効
       Serial.println("Invalid");    
     } else {
       Distance=DistanceMeasured/50;
       Serial.println( String("Distance=")+Distance+"cm" );
     }
     delay(20);
 }
-モード設定(''通常は不要'')~
1度だけ行うものであるが、すでに実施しているので必要ない。Arduinoに何も接続せずに、プログラムを送信し、次にセンサの1, 2, 4, 5, 8, 9番ピンをそれぞれArduinoの5V, GND, 3番, 5番, 1番, 0番ピンに接続し、Arduinoをリセットする(USBケーブルを抜き差しする)。
 // # Editor    :Jiang from DFRobot
 // # Data      :18.09.2012
  
 // # Product name:ultrasonic scanner 
 // # Product SKU:SEN0001
 // # Version :  0.2
 
 int URTRIG=5;  // PWM trigger pin
 
 uint8_t EnPwmCmd[4]={0x44,0x02,0xbb,0x01};    // distance measure command
   
 void setup()
 {                                 // Serial initialization
   Serial.begin(9600);                         // Sets the baud rate to 9600
   pinMode(URTRIG,OUTPUT);                     // A low pull on pin COMP/TRIG
   digitalWrite(URTRIG,HIGH);                  // Set to HIGH
   for(int i=0;i<4;i++)
   {
       Serial.write(EnPwmCmd[i]);
   } 
 }
 
 void loop()
 {
 }
#author("2019-04-21T23:40:08+09:00","default:qua","qua")

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS