【micro:bit v2】 内蔵LED 応用編

LESSON 003

  内蔵LEDを点灯を制御する

 MakeCode と Python Editor  は micro:bit で用いるアプリケーションです。ビジュアルコーディングよりテキストコーディングの方が細かい設定ができる事について説明します。 では、内蔵LEDの複数の命令を随時行う方法を用いて説明します。
   
 その前に、MakeCode には
  
   
     の2種類あります。
  
    ① 最初だけ は 1(回数指定可)回だけ実行します。
         
        Python Editor の場合は
   
            x=0
            while x<1:
              x=x+1 
  
      ② ずっと は 同じ事をずっと実行します。
  
       Python Editor の場合は

            while True:
 
 用途に合わせて選択して下さい。
 
 では,・・・・・
   

   
2種類のアイコンを続けて連続的に表示する
次の2種類のアイコンで実験しましょう 
 ① ハートのアイコン
 ② スモールハートのアイコン
 ③ ① ② を交互に一定時間表示

 
○ 2種類のアイコンを続けて連続的に表示する事はMakeCodeでは簡単な事ですが、Python Editorでは2種類のアイコンの指示を並べただけでは正しく表示出来ません。
   

MakeCode
    ブロックモードは
   アイコンを表示する場合の表示時間は600msになります。
 Pythonモードは
   basic.show_icon(icon,interval)
                 icon           指定したアイコン 
                 interval アイコンの表示時間
             省略時は600ms
  
    
  
Python Editor スケッチ《 Mtest006》  

   
from microbit import *

while True:
    display.show(Image.HEART)  
    display.show(Image.HEART_SMALL)
 
このままだと点滅状態になります。では、一定時間アイコンの切り替えを止めれば、ハートとスモールハートのアイコンに交互に表示する事ができます。そこで sleep を使います。
   
from microbit import *

while True:
    display.show(Image.HEART) 
   sleep(600)
    display.show(Image.HEART_SMALL)
    sleep(600)
 
sleepを追加するとハートのアイコンの表示時間が伸びます。スモールハートのアイコンも同じようにします。
   sleep(
n)
         n: ミリ秒単位の待機時間
  
結果 
  
  MakeCode と同じ表示が出来ます。
内蔵LEDの調光
LEDはPWM制御を用いると調光が出来ます。内部LEDでは調光は

MakeCode
   
  
Python Editor スケッチ《 Mtest007》  

  点灯させたいLEDの X座標(X) Y座標(Y) LEDの照度(B) を設定  
     display.set_pixel(X,Y,B)
                   B: LEDの明るさは0(オフ)から9(最も明るい)
    
from microbit import *

while True:
    for a in range(10):  
       display.set_pixel(0,2,a)
       display.set_pixel(1,2,a)
       display.set_pixel(2,2,a)
       display.set_pixel(3,2,a)
       display.set_pixel(4,2,a)
       sleep(200)
    for a in range(8,1,-1):
       display.set_pixel(0,2,a)
       display.set_pixel(1,2,a)
       display.set_pixel(2,2,a)
       display.set_pixel(3,2,a)
       display.set_pixel(4,2,a)
       sleep(200)

結果 
    
MakeCode
    LEDは ON OFF しか出来ません。
  

    

     

目次