京バ2017年の超音波距離測定モジュール&そのコントロール回路用のプログラム
Dependencies: mbed
main.cpp
- Committer:
- miyakkey
- Date:
- 2016-12-28
- Revision:
- 0:51936010ee07
File content as of revision 0:51936010ee07:
#include "mbed.h" /* 確認済みの機能 1)電池の電圧を読み取る(だいたいあっていることも確認済み) 2)超音波距離測定モジュールから値を読み取れることを確認 ただし、アナログから読み取る方法のみしか試していない。また、本来は得た値から距離に計算しなおす必要があるが、今はしていない。 3)シリアル通信でpcにデータを送れること。(これができればおそらくトワイライト経由でも通信可能のはず) 4)プログラムが書き込み可能であること。 〇〇〇書き込みの方法はラインで通知します〇〇〇 書きこみに必要なプログラムはここ http://www3.big.or.jp/~schaft/hardware/tips/LPC1114/page002.html ちなみにこのブログは(主にArduino向きに書いてあるが)結構勉強になることが書いてあるのでざっくり読んでおくとよい。 もっとも、このやり方はあまり正しい方法ではなく、Linuxでlpc21ispをつかうのが正統派。 https://developer.mbed.org/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114-ja/ センサのデータシートはここ http://akizukidenshi.com/download/ds/maxbotix/MB1013.pdf ※このセンサは、電源投入時に前との距離が19cm以上ないとキャリブレーションに失敗して正しい値を返さない。去年はこれを知らずにひどい目にあった。 */ //クラスを継承 AnalogIn batt(dp9); AnalogIn maxsonar(dp4); Serial twelite(dp16,dp15,9600); DigitalOut led(dp14); //変数 float battvoltage; float distance; //メイン int main(){ twelite.printf("Reset\n"); led = 0; while(1){ battvoltage = batt*2.0*3.3; //バッテリーからの電圧は10kΩの抵抗二つで分圧され、本来の電圧の半分の値で取得している。 distance = maxsonar; twelite.printf("Batt = %8.3f , Distance = %8.5f\n",battvoltage,distance); led = !led; wait(1.0); } }