この記事では、Arduinoマイコンと加速度センサ(KXM52)を用いて傾斜角度を測定する方法をソースコード付きで解説します。
加速度センサ(KXM52)
今回はArduinoと今回は500円程度で入手できる圧力センサーFSR402とArduinoを用いて圧力を測ってみました。
回路構成(配線図)
Arduinoと電子部品の構成・配線は下記の通りです。
部品名 | 個数 |
---|---|
Arduino UNO | 1個 |
圧力センサ:FSR402 | 1個 |
5.1kΩ抵抗 | 1個 |
ジャンプワイヤー | 数本 |
処理手順
実装するプログラムの処理の流れは下記の通りです。
– | 説明 |
---|---|
① | シリアル通信の速度を9600bpsに設定する。 |
② | アナログ入力値(1番ピン)から出力電圧を計算する。 |
③ | 出力電圧からFRSの抵抗値を計算する。 |
④ | FRSの抵抗値から圧力センサの荷重を計算する。 |
⑤ | 荷重データをシリアル通信で送る。 |
⑥ | 1000ms間待機する。 |
⑦ | 2-6の処理を繰り返す。 |
ソースコード
サンプルプログラムのソースコードは下記の通りです。
double R1 = 5.1; void setup(){ Serial.begin(9600); // シリアル通信速度 } void loop(){ // 変数の宣言 double Vo, Rf, fg; // アナログ入力値を取得 int ain = analogRead(1); // アナログ入力値から出力電圧を計算 Vo = ain * 5.0 / 1024; // 出力電圧からFRSの抵抗値を計算 Rf = R1*Vo / (5.0 - Vo); // FRSの抵抗値から圧力センサの荷重を計算 fg = 880.79/Rf + 47.96; // 荷重[kg]の計算 kg = (fg / 4448) * 10; // 荷重をシリアル通信で送る Serial.println(fg); // 1秒待機 delay(1000); }
— | 参考記事 |
---|---|
① | 体重計を自作してみた (仮) |
② | Arduino入門 基本的な使い方 |
コメント
公立はこだて未来大学の4年生です。サイトとても参考になりました。ありがとうございます。このコードに関して一つ質問があります。
このコードで出た、圧力センサ:FSR402の値から計算した荷重って単位は何になるんですか?gとかhPaとかわかったら教えていただきたいです。
※ヤマダタカフミ さん
コメントありがとうございます。
荷重の単位はkgです。
返信ありがとうございます。とてもわかりやすかったです。