【micro:bit v2】 内臓 スイッチ・タッチセンサーを使う

LESSON 005

  スイッチ・タッチセンサーを使いこなす

 micro:bit  には ボタンスイッチ(タクトスィッチ)  ボタンA
                          ボタンB
          タッチセンサー
          端子(P0,P1,P2)- GND
   
  の 基本スイッチがあります。  
   タクトスィッチでArduino を制御する で説明しましたが、スイッチは不安定な状況になるためにmicro:bitではプルダウン抵抗が内臓されています。                     

   
ボタンスイッチを押している時だけアイコンを表示する
ボタンA  ハート
ボタンB  バツ
  のアイコンを表示します。    
   
MakeCode


 ※ 上のプログラムに A+B を加えると ❤ ✕ 笑顔 の繰り返しになります。   
   
Python Editor スケッチ《 Mtest012》
   

from microbit import *

while True:
    if button_a.is_pressed():
        display.show(Image.HEART)
    else:
       display.clear()
    if button_b.is_pressed():
        display.show(Image.NO)
    else:
       display.clear()

解説 
button_a.is_pressed():
  ボタンAが押されている時
button_b.is_pressed():
  ボタンBが押されている時
button_a.is_pressed() and button_b.is_pressed()
 ボタンAボタンBが押されている時 
button_a.is_pressed() または button_b.is_pressed()
 ボタンAまたはボタンBが押されている時 

      
Python Editor スケッチ《 Mtest013》
    
from microbit import *

while True:
    if button_a.was_pressed():
        display.show(Image.HEART)
        sleep(400)
    else:
       display.clear()
    if button_b.was_pressed():
        display.show(Image.NO)
        sleep(400)
    else:
       display.clear()  

解説 
button_a.was_pressed():
  ボタンAが押された時
button_b.was_pressed():
  ボタンBが押された時
button_a.was_pressed() or button_b.was_pressed()
 ボタンA または ボタンBが押された時 

   
※ ① button_a.is_pressed():
      ボタンAが押されている時
  ② button_a.was_pressed():
      ボタンAが押された時
  ①は押した時  進行形
  ②は押された時 過去形 になります。   
         

タッチセンサーを押す
ロゴを押している時だけアイコンを表示する。
        
MakeCode
     
      
Python Editor スケッチ《 Mtest014》
      
      
from microbit import *

while True:
    if pin_logo.is_touched():
        display.show(Image.HEART)
    else:
       display.clear()
      

解説
pin_logo.is_touched():
  タッチセンサー(ロゴ)が押された時 

      
端子(P0)とGNDが接触した時、電気が流す
端子(P0)とGNDが接触した時だけアイコンを表示する。
端子とGNDにワニグチクリップでアルミホイールをはさむ
  
   
  アルミホイールの隙間に指で塞ぐと電気が流れる
    
           
MakeCode
       
          
Python Editor スケッチ《 Mtest015》
            
      
from microbit import *

while True:
    if pin0.is_touched():
        display.show(Image.HEART)
    else:
       display.clear()      

解説
pin0.is_touched():
  P0とGNDが接触された時 
  pin0 -- P0 
  pin1 -- P1 
  pin2 -- P2 

   に相当されます。

  

     

目次