# 8.10 色分別マシン







# 学習目標

このコースでは、micro:bit(マイクロビット)、色認識モジュール、RGBライトモジュール、サーボ、ビルディングブロックを利用して、物体の色を認識し、自動で分別できる「色分別マシン」を製作します。




# プログラミング環境の準備


micro:bit(マイクロビット)のPythonのプログラミングは、Muエディターを利用します。
プログラミングを開始するにあたって、以下の準備を完了させる必要があります。

  • Muエディター(Mu Editor)のインストール
  • ワールド オブ モジュール(WOM)専用ライブラリのインポート

※ Muエディターは、お使いのパソコンで一回インストールすると、以降継続して利用が可能です。





# サーボの事前校正




ビルディングブロックを組み立てる前に、サーボの校正プログラムをダウンロードし、それを使用してサーボの原点となる角度を調整する必要があります。これを校正と呼びます。

注意


- 使用前に校正を行わないと、使用中にサーボが詰まり、ステアリングギアがストールしてサーボが故障する可能性があります。




# サーボの校正プログラム


from microbit import *
import WOM_Sensor_Kit

while True:
    WOM_Sensor_Kit.WOM_servo360(pin1, 190)
    WOM_Sensor_Kit.WOM_servo360(pin2, 190)
    display.show(10)



# サーボの校正方法


サーボを拡張ボードに接続

  • 上記の図に合わせて、サーボをmicro:bit拡張ボードに接続します。(茶色、赤色、黄色のケーブルを黒、赤、黄のコネクターに合わせて接続してください)
  • 付属USBケーブルの二つのマイクロUSBコネクターをそれぞれmicro:bit本体と拡張ボードに接続します。
  • micro:bit本体を拡張ボードに挿入します。
  • Muエディターを使って、サーボの校正用プログラムをmicro:bitに書き込みます。
  • micro:bit本体のディスプレイに「10」が表示され、サーボが正常に校正されていることを確認します。

注意


  • 必ずmicro:bit本体と拡張ボードの両方にUSBを装着してください。
  • micro:bitのUSBポートは、micro:bitへのプログラムの書き込み(ダウンロード)で利用します。
  • 拡張ボードのUSBポートは電源供給で利用します。接続しないとモジュールやサーボへの電源供給が不足する可能性がございます。




# サーボとビルディングブロックの接続


  • ブロック組み立て説明書(PDF)に沿って、ビルディングブロックを組み立ててください。

サーボとビルディングブロックの接続方法
(側面)

サーボとビルディングブロックの接続方法
(底面)

注意


  • 組み立て時は、サーボの取り付ける方向をご注意ください。
  • 方向が間違うとサーボが故障する恐れがあります。
  • 組み立て後、サーボのケーブル側が、上記の図と同じ方向に向いていることをご確認ください。





# モジュールの接続




モジュールを拡張ボードに接続

上記の図に合わせて、色認識モジュール、RGBライトモジュール、サーボをmicro:bit拡張ボードに接続します。




# プログラミング




# 実現内容


  • 色分別マシンの配置台に、赤・緑・青の物体を配置すると、その色を色認識モジュールによって判別されます。
  • 判別した色と同じ色をRGBライトモジュールで光らせます。
  • 赤色の場合、配置台を左に傾き、赤色の収納に物体を入れます。
  • 緑色の場合、配置台を右に傾き、緑色の収納に物体を入れます。
  • 青色の場合、配置台を前に傾き、青色の収納に物体を入れます。

※ 3色の物体と収納は、お客様にて適宜に別途ご用意ください。




# プログラミング例


# -*- coding: utf-8-*-# Encoding cookie added by Mu Editor
from microbit import *
import WOM_Sensor_Kit

display.off()
WOM_Sensor_Kit.WOM_servo360(pin1, 190)
WOM_Sensor_Kit.WOM_servo360(pin2, 190)

while True:
    if WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_red) == 255:
        if (WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_green) < 20) and (WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_blue) < 20):
            WOM_Sensor_Kit.WOM_rgb(1023, 0, 0)
            sleep(1000)
            WOM_Sensor_Kit.WOM_rgb(0, 0, 0)
            WOM_Sensor_Kit.WOM_servo360(pin1, 220)
            WOM_Sensor_Kit.WOM_servo360(pin2, 220)
            sleep(1000)
            WOM_Sensor_Kit.WOM_servo360(pin1, 190)
            WOM_Sensor_Kit.WOM_servo360(pin2, 190)
            sleep(1000)
    elif WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_blue) == 255:
        if (WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_red) < 20) and (WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_green) < 20):
            WOM_Sensor_Kit.WOM_rgb(0, 0, 1023)
            sleep(1000)
            WOM_Sensor_Kit.WOM_rgb(0, 0, 0)
            WOM_Sensor_Kit.WOM_servo360(pin1, 220)
            WOM_Sensor_Kit.WOM_servo360(pin2, 150)
            sleep(1000)
            WOM_Sensor_Kit.WOM_servo360(pin1, 190)
            WOM_Sensor_Kit.WOM_servo360(pin2, 190)
            sleep(1000)
    elif WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_green) == 255:
        if (WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_red) < 20) and (WOM_Sensor_Kit.WOM_color(WOM_Sensor_Kit.WOM_blue) < 20):
            WOM_Sensor_Kit.WOM_rgb(0, 1023, 0)
            sleep(1000)
            WOM_Sensor_Kit.WOM_rgb(0, 0, 0)
            WOM_Sensor_Kit.WOM_servo360(pin1, 160)
            WOM_Sensor_Kit.WOM_servo360(pin2, 150)
            sleep(1000)
            WOM_Sensor_Kit.WOM_servo360(pin1, 190)
            WOM_Sensor_Kit.WOM_servo360(pin2, 190)
            sleep(1000)



# プログラムサンプルファイル


上記MakeCodeの画面以外に、下記のgithubページにて、上記プログラミング済みのプログラムサンプルファイルをダウンロードするこが可能です。


サーボ校正プログラム:microbit-iftiny-wom-creative-color-sorter-servo-calibration.py (opens new window)

[サンプルプログラム:microbit-iftiny-wom-creative-color-sorter.py (opens new window)


参考:ダウンロード方法


  • 上記githubウェブページを開く

  • Windowsの場合:ブラウザで該当ファイル名のリンクにて、右クリック、「名前を付けてリンク先を保存」を選択し、保存場所を指定してダウンロードする
  • Macの場合:ブラウザで該当ファイル名のリンクにて、右クリック、「リンク先を別名で保存」を選択し、、保存場所を指定してダウンロードする
  • ChromeBookの場合:ブラウザで該当ファイル名のリンクにて、右クリック、「名前を付けてリンク先を保存」を選択し、保存場所を指定してダウンロードする



Last Updated: 3/31/2022, 3:13:17 PM