#author("2017-06-09T23:49:06+09:00","default:qua","qua") * ドップラーセンサーIPM165 [#b0c9f86b] #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/IPM165.jpg,400x300) [[製品情報>http://akizukidenshi.com/catalog/g/gM-04911/]]~ 下の写真は増幅回路をつけたもの #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/IPM165_1.jpg,600x300) **ピン配置 [#r52ead62] 本体のピンは右から、 |名称|意味|h |Vcc|電源| |IF|出力| |GND|0V| 増幅回路の左のピンをArduinoと接続する。奥から |名称|意味|接続|h |Vcc|電源|Arduinoの5Vへ| |IF|出力|Arduinoのアナログピンへ| |GND|0V|ArduinoのGNDへ| ** ちょっとの理論とプログラミング [#m328545e] 電波を発射し、運動している物体からの反射波と加算して得られるうなりの周波数から物体の速度v[m/s]を測る。電波の周波数はf0=24.125[GHz]である。光速をc=3.0×10^8[m/s]とすれば、反射波の周波数frはおおよそf0(1-2v/c)である。うなりの周波数fはf=|fr-f0|である。以上より、物体の速度は、v=f×c/2f0である。うなりの周期をT[μs]とすれば、f=10^6/Tであるので、v=10^6c/(2f0×T)≒6200/Tとなる。以下のプログラムは物体の速度をシリアルモニタに表示する。 const int thres=700; void setup(){ Serial.begin(115200); } unsigned long last = 0; int flag = 0; void loop(){ long t; float v; if( analogRead( A0 )>thres ){ if( !flag ){ flag = 1; t = micros(); v = 6200.0 / (float)(t-last); last = t; Serial.println( v ); } } else { flag = 0; } } #author("2019-04-21T23:31:39+09:00","default:qua","qua")