ホーム >> 無線ブログ集 >> Grove Beginner Kit for Arduino の温度湿度センサーを動くようにしてみる

無線ブログ集

  メイン  |  簡易ヘッドライン  

link JJ1LFO ~線無きことかな~ JJ1LFO ~線無きことかな~ (2024/5/14 11:35:48)

feed Grove Beginner Kit for Arduino の温度湿度センサーを動くようにしてみる (2022/8/14 10:29:00)
先日、マルツ秋葉原本店に寄った際。
たまたま限定特価で売られていた Seed の Grove Beginner Kit for Arduino を衝動買い。
Auduino Uno 相当の CPU 基板と、各種センサーの基板が1枚の基板上に集積されていて入門用に最適。
この Kit 自体の詳細についてはネット上に沢山の情報が上がっているので、そちらをググってご参照下さい。

取り敢えず一通り試してみるかと。
のチュートリアル Lesson を試していったのだが、
温湿度センサーが、どうもうまく動かない!

温湿度センサーが上手く動かない?

Lesson 8: Detecting Surrounding Temperature & Humidity
の通りにやってみても。

OLED Display に、
  • Temp: 0.00C <-> nanCC の繰り返し
  • Humidity: 0.00%
としか表示されない。

試しに Initial Arduino Firmware Demo の  GroveBeginnerKitFirmwareFINAL.zip
を落としてきて Grove_Starter_Kit.ino をコンパイル、アップロードしてみても。
やはり Temp : 0 C, humid : 


これだけ明確に動作していないのだから、同じような経験している人もいるだろうと検索してみたが、中々それらしい情報にぶち当たらなかった。

搭載されている温湿度センサーが DHT20

いろいろ検索していたら  PDF のマニュアル ではなく Seed の Wiki に、しれっと
Some upgraded kit has been euqipped with DHT20. If your Humidity and Temperature Detector on the kit is black then the detector is DHT20 and the example code of it is after DHT11.

と書いてあった。

よくよく自分の Kit を確認すると、

DSC_0934-01-01-01.jpeg

やはり、カバーの色が黒の DHT20 だった。

DHT11 はカバーが青色らしい。


さっそく、  Seed の Wiki  の DHT20 用 の

 Lesson 8: Detecting Surrounding Temperature & Humidity

 コード

//Temperature and Humidity Sensor
#include "DHT.h"
#include <Arduino.h>
#include <U8x8lib.h>
#include "Wire.h"
 
#define DHTTYPE DHT20   // DHT 20
 
DHT dht(DHTTYPE);  
#if defined(ARDUINO_ARCH_AVR)
    #define debug  Serial
 
#elif defined(ARDUINO_ARCH_SAMD) ||  defined(ARDUINO_ARCH_SAM)
    #define debug  SerialUSB
#else
    #define debug  Serial
#endif
 
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
 
void setup(void) {
    debug.begin(115200);
    debug.println("DHTxx test!");
    Wire.begin();
 
    /*if using WIO link,must pull up the power pin.*/
    // pinMode(PIN_GROVE_POWER, OUTPUT);
    // digitalWrite(PIN_GROVE_POWER, 1);
 
    dht.begin();
  dht.begin();
  u8x8.begin();
  u8x8.setPowerSave(0);  
  u8x8.setFlipMode(1);
}
 
void loop(void) {
 
  float temp, humi;
  temp = dht.readTemperature();
  humi = dht.readHumidity();
 
  u8x8.setFont(u8x8_font_chroma48medium8_r);
  u8x8.setCursor(0, 33);
  u8x8.print("Temp:");
  u8x8.print(temp);
  u8x8.print("C");
  u8x8.setCursor(0,50);
  u8x8.print("Humidity:");
  u8x8.print(humi);
  u8x8.print("%");
  u8x8.refreshDisplay();
  delay(200);
}
をコンパイルしてみるが、 "DHT20" がスコープ範囲に見つからない というコンパイル・エラーが出てしまって ビルド出来ない

今度は DHT20 で検索していると、 Grove-Temperature-Humidity-Sensor-DH20 WiKi  が見つかり。
ライブラリ Grove_Temperature_And_Humidity_Sensor-master.zip  を Arduino IDE にインストールして入れ替える必要があるらしい。
が、ただ単にインストールしても古いライブラリが先に使われてしまってコンパイル・エラーが出たままに。
古いライブラリを Uninstall したら新しいライブラリが使われてコンパイルが成功。
やっと温度湿度センサー DHT20 が正常に動作した

 Initial Arduino Firmware Demo の 修正

当然、Seed の Demo も最新版ならば DHT20 に対応しているだろうと、GitHub を探し回るが DHT11 用のソースしか見つからなかった。
しかた無いので、自分で DHT20 対応に修正しました。

修正済の Source は こちら  Grove_Starter_Kit.ino

無事に Demo でも、温湿度センサーが動作しました。

おわりに

妙な所に引っ掛かってしまったが。
Seed ももう少し分かりやすく情報開示して欲しいですね。
GitHub に Initial Arduino Firmware Demo の  GroveBeginnerKitFirmwareFINAL.zip  のリポジトリが有れば、修正を Pull Request しておくのですが。うまく見つけらなかった。

私と同じように DTH20 搭載版の Grove Biginner Kit で悩んでいる方の参考になれば幸いです。





execution time : 0.017 sec
サイト内検索

メインメニュー

ログイン
ユーザ名:

パスワード:



パスワード紛失


オンライン状況
28 人のユーザが現在オンラインです。 (22 人のユーザが 無線ブログ集 を参照しています。)

登録ユーザ: 0
ゲスト: 28

もっと...