酒と薔薇の日々(その2)

好きなことだけ求めて生きるアスペ気味のINTJ人

GLOBE版 超音波測距モジュール

2020年07月30日 22時12分35秒 | マイコン(ESP32・Arduino等)

(手元にあるのは Ver2.0)

O室長から動作確認指令を受け預かっている超音波センサー
現時点では説明書が手元にないことから、あれこれ調べてみました。
こちらの製品のようです。

マイクロビットで使えるよう電源3.3V対応です。
返ってきたパルス幅の長さが往復にかかった時間(マイクロ秒)なので、音速340mを割り算し距離計算するのは従来の機器(HC-SR04)と同じようです。
Arduino版等のプログラムは発見しましたが、マイクロビット版は見つかりません。

販売元から独自に提供されるのでしょう・・・

独自にプログラムを組むには少々敷居が高そうで、そもそもイベントとしてパルスの立ち上げ・たち下げの検出が検知できる機能が提供されているかわからない。

計算:距離=エコーのかかった時間*音声速度(340メートル/秒)/2

悩みは続くのであった・・・

解決

 


超音波測距(HC-SR04)がmicro:bitで動かん・・・(ArduinoはOK)

2020年07月30日 22時12分35秒 | マイコン(ESP32・Arduino等)

明日の伝道師会の準備は終わったので、カフェ用についでに超音波測距モジュール(HC-SR04)を試した。

こいつはずいぶん前、多分6年以上かな?Arduino用に秋月かなんかで買っていたものだと思う。
マイクロビット用のキットが出ているようで、使用例がたまたま引っかかった

距離をcmで表示するはずだが、ゼロばかり・・・
実行しても4KHzのPingなので聞こえない。発信してるんか?
先日来ノーパソへ入れているオシロで聞いてみた。

確かに、1秒ごとにパルスを検知している。
ちゅーことは、受信部が悪いのか?わからんねえ。
何年も放置だったから、スネたのかな?

そもそも電圧は5V用なんだが・・・
やっぱりArduinoで試さないといけません。
3.3Vのセンサーって少ないんだから。
ついでに、echoピンの出力電圧は3.3Vだとか・・・(こちらの情報

-----------------------

悔しいのでArduinoIDEを急遽2PCへインスコして実験

ちゃんと動いて距離も出た。

それにしてもクソWin10のキャッシュ制御は死ね!
回転したのにしてねえ振りしやがって

---------------------

参考サイト様

int interval = 0;
double distance = 0;

void setup() {
    pinMode( 2, OUTPUT );
    pinMode( 3, INPUT );
    pinMode(13, OUTPUT);
    Serial.begin( 9600 );
}

void loop() {
    if ( Serial.available() > 0 ) {
        //Serial.println("Hello\n");
 
        digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
        delay(200);              // wait for a second
        digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW

        Serial.read();

        // pulse !
        digitalWrite( 2, HIGH );
        delayMicroseconds( 100 );
        digitalWrite( 2, LOW );

        // mesure the interval
        interval = pulseIn( 3, HIGH );

        distance = interval * 0.017; // cm

        Serial.print( interval, DEC );
        Serial.print( "\t" );
        Serial.print( distance, 4 );
        Serial.print( "\n" );
    }