#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")