# 8.2 温度湿度メーター
# 学習目標
このコースでは、micro:bit(マイクロビット)、温度湿度センサーモジュール、LEDデジタルチューブモジュール(4桁 7セグメント LEDディスプレイ)、サーボ、ビルディングブロックを利用して、「温度湿度メーター」を製作します。
# プログラミング環境の準備
micro:bit(マイクロビット)のPythonのプログラミングは、Muエディターを利用します。
プログラミングを開始するにあたって、以下の準備を完了させる必要があります。
- Muエディター(Mu Editor)のインストール
- ワールド オブ モジュール(WOM)専用パッケージのインポート
※ Muエディターは、お使いのパソコンで一回インストールすると、以降継続して利用が可能です。
# サーボの事前校正
ビルディングブロックを組み立てる前に、サーボの校正プログラムをダウンロードし、それを使用してサーボの原点となる角度を調整する必要があります。これを校正と呼びます。
注意
- 使用前に校正を行わないと、使用中にサーボが詰まり、ステアリングギアがストールしてサーボが故障する可能性があります。
# サーボの校正プログラム
from microbit import *
import WOM_Sensor_Kit
while True:
WOM_Sensor_Kit.WOM_servo360(pin1,95)
display.show(2)
# サーボの校正方法
- 上記の図に合わせて、サーボをmicro:bit拡張ボードに接続します。(茶色、赤色、黄色のケーブルを黒、赤、黄のコネクターに合わせて接続してください)
- 付属USBケーブルの二つのマイクロUSBコネクターをそれぞれmicro:bit本体と拡張ボードに接続します。
- micro:bit本体を拡張ボードに挿入します。
- Muエディターを使って、サーボの校正用プログラムをmicro:bitに書き込みます。
- micro:bit本体のディスプレイに「2」が表示され、サーボが正常に校正されていることを確認します。
注意
- 必ずmicro:bit本体と拡張ボードの両方にUSBを装着してください。
- micro:bitのUSBポートは、micro:bitへのプログラムの書き込み(ダウンロード)で利用します。
- 拡張ボードのUSBポートは電源供給で利用します。接続しないとモジュールやサーボへの電源供給が不足する可能性がございます。
# サーボとビルディングブロックの接続
- ブロック組み立て説明書(PDF)に沿って、ビルディングブロックを組み立ててください。
注意
- 組み立て時は、サーボの取り付ける方向をご注意ください。
- 方向が間違うとサーボが故障する恐れがあります。
- 組み立て後、サーボのケーブル側が、上記の図と同じ方向に向いていることをご確認ください。
# モジュールの接続
上記の図に合わせて、温度湿度センサーモジュール、LEDデジタルチューブモジュール(4桁 7セグメント LEDディスプレイ)、サーボをmicro:bit拡張ボードに接続します。
# プログラミング
# 実現内容
- プログラムをmicro:bitにダウンロード(書き込み)した後、LEDデジタルチューブモジュール(4桁 7セグメント LEDディスプレイ)に現在の温度と湿度を表示します。
- 温度の場合、micro:bitのディスプレイに「T」を表示します。また、ビルディングブロックのT字側が上に移動します。
- 湿度の場合、micro:bitのディスプレイに「H」を表示します。また、ビルディングブロックのH字側が上に移動します。
また以下の2パターンの動作を実現します。
- パターン①:micro:bitのボタンAを押すと温度測定モードになり、ボタンBを押すと湿度測定モードになります。
- パターン②:温度測定モードと湿度測定モードが自動的に繰り返し切り替えます。
# プログラミング例
# パターン1 ボタン制御
# -*- coding: utf-8-*-# Encoding cookie added by Mu Editor
from microbit import *
import WOM_Sensor_Kit
WOM_Sensor_Kit.WOM_init_display(7)
while True:
# Parameter definition: WOM_dht11 (pin, read data)
# Return corresponding data, including WOM_temp_C, WOM_temp_F, WOM_humidity
if button_a.is_pressed():
display.show("H")
WOM_Sensor_Kit.WOM_display(
WOM_Sensor_Kit.WOM_dht11(pin0, WOM_Sensor_Kit.WOM_humidity))
WOM_Sensor_Kit.WOM_servo360(pin1, 180)
# Time interval must be more than 1s
sleep(1500)
if button_b.is_pressed():
display.show("T")
WOM_Sensor_Kit.WOM_display(WOM_Sensor_Kit.WOM_dht11(
pin0, WOM_Sensor_Kit.WOM_temp_C))
WOM_Sensor_Kit.WOM_servo360(pin1, 95)
# Time interval must be more than 1s
sleep(1500)
# パターン2 オート制御
# -*- coding: utf-8-*-# Encoding cookie added by Mu Editor
from microbit import *
import WOM_Sensor_Kit
WOM_Sensor_Kit.WOM_init_display(7)
while True:
# Parameter definition: WOM_dht11 (pin, read data)
# Return corresponding data, including WOM_temp_C, WOM_temp_F, WOM_humidity
display.show("H")
WOM_Sensor_Kit.WOM_display(WOM_Sensor_Kit.WOM_dht11(
pin0, WOM_Sensor_Kit.WOM_humidity))
WOM_Sensor_Kit.WOM_servo360(pin1, 180)
# Time interval must be more than 1s
sleep(2000)
display.show("T")
WOM_Sensor_Kit.WOM_display(WOM_Sensor_Kit.WOM_dht11(
pin0, WOM_Sensor_Kit.WOM_temp_C))
WOM_Sensor_Kit.WOM_servo360(pin1, 95)
# Time interval must be more than 1s
sleep(2000)
← 8.1 ビビりロボ 8.3 大声スクワット →