PR

【PythonでmBot2プログラミング】超音波センサーのLED制御

Python
この記事は約4分で読めます。

今回は、mBot2プログラミングシリーズ(Python編)の第3回です。

この回では、mBot2に搭載されている超音波センサーのLED制御について解説します。
超音波センサーには、8個の青色LEDが装備されており、様々な種類の感情や情報を表現することができます。

目標

  • 超音波センサーLEDの仕組みを理解する
  • 超音波センサーLEDに関するAPIを理解する
  • 超音波センサーのLED制御をプログラミングする

Python環境(mBlock Python editor)の立ち上げ

ここでは、『mBlock Python editor』を使って、Pythonコードでプログラミングしていきます。
事前にPython環境を導入しておいてください。

環境の導入に関しては、次の記事を参考にしてください。

超音波センサーのLEDとは

mBot2の超音波センサーには、左右併せて8個のLEDが装備されています。
向かって左上から、右目に1,2,3,4、左目に5,6,7,8の番号付けがされています。

8個のLEDを個別に制御することができ、明るさは0~100%の範囲で調整可能です。
これにより、様々な種類の感情や情報を表現することができます。

APIとは

API(Application Programming Interface)は、ソフトウェアやハードウェアが外部のプログラムとやり取りをするためのインターフェース(接点)です。
簡単に言うと、『決められたルールに従って機能を利用するための仕組み』です。

cyberpiライブラリをインポートすることで、CyberPiや、mBot2センサーなどの各機能を簡単に利用できます。

超音波センサーのPython API

超音波センサーに関するAPIの中で、今回はLED制御に関するものを紹介します。

超音波センサーのLED制御

ultrasonic2.led_show(bri, index =1)

全てのLEDの明るさを設定します。

  • bri:8個のLEDの明るさ
    • [bri1,bri2,bri3,bir4,bri5,bri6,bri7,bri8]の形式で明るさを指定する
    • 範囲:0~100
ultrasonic2.led_show([100,100,0,0,100,100,0,0], 1)

ultrasonic2.set_bri(led_bri, id, index =1)

指定したLEDの明るさを設定します。

  • led_bri:指定されたLEDの明るさ
    • 範囲:0~100
  • id(int型の場合):指定されたLED番号
    • 範囲:1~8
  • id(str型の場合):全てのLED
    • 範囲:”all”のみ

ultrasonic2.add_bri(led_bri, id, index =1)

指定したLEDの明るさを、指定した値ずつ増加させます。

  • led_bri:明るさを増加させる値
    • 範囲:0~100
  • id(int型の場合):指定されたLED番号
    • 範囲:1~8
  • id(str型の場合):全てのLED
    • 範囲:”all”のみ

ultrasonic2.get_bri(id, index =1)

指定したLEDの明るさを取得します。

  • id(int型の場合):指定されたLED番号
    • 範囲:1~8
  • id(str型の場合):全てのLED
    • 範囲:”all”のみ

ultrasonic2.play(emotion, index =1)

LEDを通じて、指定された感情を表現させます。

emotionの設定範囲感情
“sleepy”眠い
“happy”楽しい
“dizzy”目が回る
“wink”眉を上げる
“thinking”考える

簡単な動作プログラム作成

超音波センサーのLED1,2,5,6を点灯させて、微笑む表情』をプログラムします。

from cyberpi import ultrasonic2

ultrasonic2.led_show([100,100,0,0,100,100,0,0], 1)

全てのLEDの明るさを指定するAPIを使用し、LED番号1,2,5,6(目の上側)を100%、その他(目の下側)を0%に設定します。

まとめ

今回は、超音波センサーのLEDを制御することで、mBot2に表情を与える方法について解説しました。
mBot2の動作を表現したり、オリジナルの表情を作ることで、mBot2の楽しみ方が更に広がるはずです。
ぜひ、色々な表情を作ってみてください。

次回は、クアッドRGBセンサーを用いたライントレースプログラムを作成します。

mBlockを使ったmBot2のプログラミング方法を丁寧に解説していておススメです。

CyberPi単体でもプログラミング教育に非常に役立ちます!

タイトルとURLをコピーしました