2022/02/27

ESP32とMCP9701で温度測定

今回も前回に引続きESP32に挑戦していきます。
今回はスタートブックの3章からです。

書籍に記載あった温度センサは我が家の在庫に無かったので
家にあった似たような温度センサMCP9701を使います。

前回のLED同様にESP32の25Pinに温度センサの出力を接続します。
本来はノイズ対策にコンデンサ0.1μFを挟むべきとのことですが今回は無しです。

作成したコードは以下の通りですが、
スタートブックは温度のみを出力する仕様でしたが、
私はセンサ出力値(AD変換後生値)、センサ電圧値(計算値)、温度(計算値)を出力します。

//ESP32とMCP9701(温度センサ)で温度測定
#define sensor 25 //"sensor"を25に固定

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);   //シリアル通信の初期設定
  while(!Serial);         //シリアル通信が可能になるまで繰り返す
  pinMode(sensor,INPUT);  //sensor(25)を入力モードに切替える

}

void loop() {
  // put your main code here, to run repeatedly:
  int e = analogRead(sensor);   //センサからのアナログ値を読取り
 
  float Vout = 3.3 / 4095 * e + 0.1132;    //補正式から電圧を補正:分解能の読取り最大値 ÷ ESP32の分解能 × センサ入力値 + ESP32の補正値 
 
  float temp = (Vout - 0.5) / 0.01;          //電圧から温度に変換:
 
  Serial.print("V =");
  Serial.println(e);                     //補正前の電圧を出力
  Serial.print("Volt =");
  Serial.println(Vout);                     //補正後の電圧を出力
  Serial.print("tenmp =");
  Serial.println(temp);                     //温度を出力
  delay(1000);

}

コードは以上です。

出力を温度以外にもしたのは、何故か温度が正しく出力させなかったのです。
(-30℃くらい出力されました。。。)

原因はセンサ値から電圧+補正の計算を書籍通り
float Vout = e / 4095 * 3.3 + 0.1132;で実施したところ
何故か計算を実施しなかった点です。
そのため計算式を下記のようのに書換えました。
float Vout = 3.3 / 4095 * e + 0.1132;
順番を変えただけですが、上手くいきました。
なぜでしょうね?
まぁ、動いたからヨシッ!

次回はついにネットワークへの接続に挑戦です。

2022/02/19

ESP32 挑戦!! 環境設定とLチカ

 本日はESP32に挑戦!!
まぁ、購入してから、ずっと放置していたので手を付けます。

参考にしたのはこちらの書籍です。

IoT開発スタートブック ── ESP32でクラウドにつなげる電子工作をはじめよう!

では始めて行きましょう!

開発環境はArduino IDEです。
インストールは済なのでここはカット。。。
ボードの設定は必要なようですね。

「ファイル」→「環境設定」追加のボードマネージャのURLに
”https://dl.espressif.com/dl/package_esp32_index.json”を追加してOK。

「ツール」→「ボード」→「ボードマネージャ」から”ESP32”をインストール。

「ボードマネージャ」から”ESP32 Dev modul”を選択
以上で環境設定は完了!

では、プログラムのテストは定番のLチカです。
コードはこんな感じ

void setup() {
  // put your setup code here, to run once:
  pinMode(25, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(25,HIGH);
  delay(500);
  digitalWrite(25,LOW);
  delay(500);
}

ではさっそくコンパイルして、書き込みとしたのですが、
書き込めませんね。


ネットで少し調べてみると他の方も同じような状態の方が
いらっしゃいますね。
で、解決法はいろいろな方法があるようですが、
書き込み中にBOOTボタンの押しっぱなしで書き込みが出来ました。


で、Lチカも問題なしです。


とりあえず、本日はここまでです。

IoT開発スタートブックの第2章まで完です。

ではまた~



 NT金沢 2023に出展&見学に行きました! 久しぶりの更新です。。。 イメージ書道&あきにゃんさんの作品 書家さんが書かれた作品を3Dプリンタ等した作品。 面白いものから関心するものまで色々あります。 個人的には「頭をひねる」がツボです。 写真では分かりづらいですが、...