このレッスンでは、DHT11センサモジュールを使ってマイクロビットと連動させ、I2C 1602 LCDスクリーンにリアルタイムの値を表示する方法を紹介します。
次のパーツが必要になります。
配線
DHT11をマイクロビット・ブレイクアウトに以下のように接続します。
Micro bit Breakout | DHT11 sensor |
3.3v | VCC |
P8 | DATA |
GND | Ground |
I2C 1602 LCDを以下のようにブレイクアウト・ボードに接続します。
Micro bit Breakout | LCD1602 |
---|---|
5V | VCC |
GND | GND |
P19/SCL | SCL |
P20/SDA | SDA |
スクリプトの実行
コードの作成に慣れていない方でも安心してください。まず、このリンク https://makecode.microbit.org/reference を入力して、マイクロビットブロックのリファレンスを取得します。
以下のコードをコピー&ペーストするか、エディタウィンドウの右上にあるオープンアイコンをクリックして自分のMake Codeエディタに再作成してください。また、コードウィンドウの右下にあるダウンロードボタンをクリックして、このサンプルをダウンロードすることもできます。
https://makecode.microbit.org/_Lc0AzqY2pabh
ここでは、このデバイスのI2Cアドレスが「0x27」なので、アドレスバーに「39」と入力します。
デバイスのI2Cアドレスが “0x3F “の場合は、アドレスバーに “63 “を入力してください
このディスプレイでのmicro oython使用方法については、https://github.com/shaoziyang/microbit-lib/tree/master/lcd/I2C_LCD1602。をダウンロード
結果
このコードをマイクロビットにダウンロードした後、USBラインを引き抜き、拡張ボードにUSBラインを挿入すると、LCDスクリーンに「OSYOO DHT 11」と表示され、LCDにリアルタイムの湿度と温度データが表示されます。
注意
画面が明るくない場合は、配線を確認してください。画面は明るいが、上記の結果が表示されない場合は、I2Cアドレスを確認してください。
参考リンク
マイクロビット学習:I2C 1602LCD を使う 表示: https://osoyoo.com/2018/09/19/micro-bit-lesson-using-the-i2c-lcd-1602-display/
マイクロビット学習:乾湿度DHT11センサーを使うセンサー: https://osoyoo.com/2018/09/18/micro-bit-lesson-using-the-dht11-sensor/
DownLoad Url osoyoo.com
You must be logged in to post a comment.
Hi OSOYOO!
I tested the environment_IoT blocks (read dht11 temp and humi) with your lessons 20 and 18, both with the DHT11 and I got in both cases the same strange values for the temp and humidity. It looks like an error in the environment_IoT blocks for the DHT11 sensor.
I used the program from your link (https://makecode.microbit.org/_Lc0AzqY2pabh) as well as I typed in the program code myself, no difference.
In your video it works OK. Do I have a wrong version of the environment_IoT blocks?
I tried the circuit with different DHT11 sensors and every time I get the strange temp and humi values.
Can you check the environment_IoT codeblocks for getting temp and humi for the DHT11 for me? Or give me a tip how to solve the problem??