masayasanのアイコン画像
masayasan 2021年10月12日作成
セットアップや使用方法 セットアップや使用方法 閲覧数 2680
masayasan 2021年10月12日作成 セットアップや使用方法 セットアップや使用方法 閲覧数 2680

PICマイコンでのHC-SR04使用方法 備忘録

PICマイコンでのHC-SR04使用方法 備忘録

#概要
超音波距離センサーHC-SR04の使用方法のメモ

他のサイトを見るとタイマー1のゲート機能を使用する方法が多い様だけど、
単純にタイマー機能だけで計測して距離を出してみた。

#MCC
キャプションを入力できます
キャプションを入力できます

#プログラムソース

float Distance() { // uint16_t distance; float distance; RA5 = 0; __delay_us(2); RA5 = 1; __delay_us(10); RA5 = 0; while (RC0 == 0); uint16_t Time1 = TMR1_ReadTimer(); while (RC0 == 1); Time1 = TMR1_ReadTimer() - Time1; // distance=Time1; distance = Time1/2*(331.5+0.61*20) *100/1000000; __delay_ms(60); return (distance); //return (100); } void main(void) { SYSTEM_Initialize(); while (1) { printf("%f\n", Distance()); } }

#まとめ
 一応距離はそれなりに計測できた。
while (RC0 == 0);と while (RC0 == 1); で止めてるのが気になる。
エコーの信号が返って来ないと永遠に止まってしまうので、ゲート機能使うのがやはり良いと思う。

ゲート機能使える様になったら、改めて設定方法などを記載します。

ログインしてコメントを投稿する