三浦製作所

興味のあるものをとりあえず動かしてみた、実装してみたシリーズをガンガン上げていきたいと思います。あくまでも自身の備忘録としてですが、誰かの助けになったらうれしいです。

【低価格マイコン】【実装】Arduino Nanoで圧力センサ (FSR402)を動かす

f:id:bamboomush:20210320151620p:plain
 Arduino Nanoを用いて圧力センサを実装したので、そのやり方について紹介したいと思います。

この記事を読むことで、安価なマイコンであるArduino Nanoで圧力センサが実装できるようになります。

圧力センサは体重計等にも使われているセンサでロボットとしても、力制御をするのに有効なセンサの一つです。私自身力制御をしたことはないので、これを機に力制御を使ったロボット開発もしていきたいと思います。

 

Youtude

youtu.be

 

ESP32版はこちら

 

 

◆Arduino関係の実装記事◆ 
  • DCモータ実装

www.takeshi-1222.com

  •  サーボモータ実装

www.takeshi-1222.com

  • OLED実装

www.takeshi-1222.com

  • 超音波センサ実装

www.takeshi-1222.com

  • LCDディスプレイ実装

www.takeshi-1222.com

  • 温湿度センサ (低コスト)

www.takeshi-1222.com

  • 温湿度センサ (ハイスペック)

www.takeshi-1222.com

  • 温湿度センサ (複数)

www.takeshi-1222.com

  • CO2センサ 

www.takeshi-1222.com 

  • ほこりセンサ

www.takeshi-1222.com

  • 心拍センサ

www.takeshi-1222.com

  • 皮膚電位センサ

www.takeshi-1222.com

Arduino Nano, FSR402の簡単な説明

Arduino Nano

Arduino Nanoは超安価で購入ができるマイコンで、電気やプログラミングの深い知識を持っていない電子工作初心者でも扱いやすい、オープンソースマイコンです。

Arduinoと比較すると、性能は劣るものの、安価で広い用途で使用可能なので初心者に適しています。

ちなみに、上記が純正品ですが、互換品である以下も性能面では変わらないので強いこだわりがない限りは、互換品の方がおすすめです。

圧力センサ (FSR402)

圧力センサは上述した通り、力制御によく用いられるセンサです。センサに力が加わることで、センサ内の抵抗値が変わり、それにより出力されるアナログ値が変化します。その結果から力の計測ができるようになります。

実験構成

 今回の実験に使用する部品は以下のものです。
  • Arduino Nano
  • 圧力センサ (FSR402)
  • ジャンパ線多数

Arduino Nano、圧力センサは上記のものを使用しています。

 

ジャンパ線は何を使用してもいいですが、一応リンクを張っておきます。

実験

配線

まず配線は以下のようにします。

f:id:bamboomush:20210320153518p:plain

配線ができると以下のような画像のようになります。

f:id:bamboomush:20210320153536j:plain

実行コード

ここまで出来たら以下のコードを実行することで動作確認ができます。

/*
  AnalogReadSerial

  Reads an analog input on pin 0, prints the result to the Serial Monitor.
  Graphical representation is available using Serial Plotter (Tools > Serial Plotter menu).
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/AnalogReadSerial
*/

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  float sensorValue = analogRead(A1);
  // print out the value you read:
  Serial.print("weight = ");
  Serial.print(sensorValue/1024*200);
  Serial.println(" N");
  delay(1);        // delay in between reads for stability
}

今回は圧力センサの数値をシリアルモニタで確認できるようにしています。
SerialReadのサンプルプログラムを少しいじっただけなのでもしかしたら計算が間違っているかもしれませんが、とりあえず力によって値を変えることはできました。

まとめ

今回は、Arduino Nanoで圧力センサを動かすために必要なものの紹介と、サンプルプログラムの紹介をしました。