ESP32で圧力センサーを試す!
こんにちは‼
今回はESP32と圧力センサーを使って、圧力を測ってみたいと思います‼
はんだ付け無しでやります♪
★圧力センサーの使用例
・物を置いたかの検知
・体重計
などなど‼
①「部品」
・圧力センサー
電子工作ステーション 485円+送料(500円以上で無料)(DF9-40)
秋月電子 400円+送料(FSR400)
※センサーの種類によって感度が変わりますので、プログラムで調整します。
・ESP-WROOM-32
電子工作ステーション 1100円(送料無料)(30pinモデル)
秋月電子 1230円+送料(38Pinモデル)
※楽天にて横幅を細くしたバージョンが登場‼
pin番を無くした代わりに細くなっているので、ブレットボードで使いやすくなりました‼
6極ブレットボードではなく定番のブレットボードで使えるようになるのでススメです⇩⇩⇩
・LED(なんでもOK)
※圧力センサーの反応を光で表現するために使用。(無くても大丈夫です)
・ブレットボード(6穴版)
6穴版 EIC-3901(秋月電子:280円)
・ジャンパーワイヤー (オス・オス)
電子工作ステーション 1セットで100円(送料500円以上で無料)
秋月電子 60本で220円+送料
・抵抗10KΩ
電子工作ステーション 1本で3円+送料(500円以上で無料)
秋月電子 100本で100円+送料
②「配線」
圧力センサーは極性が無いので向きは気にしなくてOKです。
③プログラミング
※ArduinoIDEでESP32を使えるようにしていない方はこちらもしておきましょう➡Arduino IDEでESP-WROOM-32を使えるようにする!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/* ESP32で圧力センサー */ const int led_pin = 25;//LEDを接続するピン const int vol_pin = 14;//圧力センサ用アナログピン void setup() { // シリアルモニターに映す為。 Serial.begin(115200); //led_pinを出力ピンに設定 pinMode(led_pin, OUTPUT); } // void loopの{}で囲われた箇所は、電源オフまたはリセットボタンを押さない限り永久に繰り返されます。 void loop() { // アナログピンの入力値を読み込み。 int sensorValue = analogRead(vol_pin); // 読み込んだ状態をシリアルモニターに表示する文。 Serial.println(sensorValue); //見やすくするため少し遅延。 delay(100); //センサーの値が2000未満になったらLED点灯。そうでなければ消灯。 //センサーの種類によって感度が変わるので、反応が鈍かったり強かったりした場合は2000を上げたり下げたりして調整してみてください。 if (sensorValue < 2000) { digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); } } |
④結果
圧力センサーを軽く潰すと、下記のように値が変化します‼
ESP32の場合値が0〜1023ではなく0~4095の範囲になるみたいです!
※センサーに圧力を加えた結果。
※FSR400使用。
これはとても簡単に作れますので、是非試してみてください^^
以上、ご閲覧ありがとうございました‼