JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

micro:bit MicroPython 動きの検知その2 ジェスチャー

2019-10-23 08:23:33 | micro:bit

 micro:bitに内蔵されている加速度センサーを利用して、micro:bitの姿勢や動きを検知することができます。

 accelerometer.current_gesture()は、

 up down left right は、どちらに傾いているか

 face up   face down は、どちらの面が上か

 shake は、ゆさぶられたか

 free fall  3g  6g  8g  は、重力加速の値を

 検知した結果を文字で返します。

 現在の状態や動きをシリアル通信でパソコンに送って表示するスクリプトです。(パソコンのソフトはTeraTermで通信速度は9600bpsです)

 姿勢や動きがTeraTermに表示されます。(状態や動きが変わったときだけ表示されます)


micro:bit MicroPython UART(シリアル通信)テスト

2019-10-22 12:04:22 | micro:bit

 micro:bitのUART(シリアル通信)のテストをします。

 パソコン(Windows10)とmicro:bitをUSBケーブルで接続して、データの送受信のテストをします。

 スクリプトです。

 uart.init()で通信のプロトコルを設定します。

 今回は、baudrate(通信速度)を9600bpsとしました。(一般的な通信速度は9600~115200bps)

 データビットは、8ビット、パリティなし、ストップビットは1ビットとします。

 (baudrateだけを設定しても動作するようです。)

 パソコン側の通信ソフトは、定番のTeraTermを使います。(デフォルトで通信速度は9600bpsです)

 whileループの中を説明します。

 uart.any()は、何か受信するとTrueを何も受信していなければ、Falseを返します。

 キーボードの文字を押すと、TeraTermがmicro:bitにデータ(文字)を送信します。

 micro:bitは、データを受信したら、データ(ASCII)をsに格納します。

 UARTでパソコン(TeraTerm)にデータを送信します。

 TeraTermには送信した文字と同じ文字が表示されます。(エコーバック)

 続いて、micro:bitに受信した文字をスクロール表示します。

「a」をスクロール表示しているところです。

 


micro:bit MicroPython 動きの検知

2019-10-21 14:03:58 | micro:bit

 micro:bitには、加速度サンサーが内蔵されています。

 このセンサーは、傾きを検知することができ、

 accelerometer.get_x()で、X軸方向の傾きを検知した値を返します。(y,z方向も検知することができます)

 micro:bitの傾きを「R」「L」「-」で表示するスクリプトです。(サンプルプログラムのまま)

右に傾けた時の表示

左に傾けた時の表示

水平の時の表示


micro:bit MicroPython コンパス

2019-10-18 14:58:54 | micro:bit

 micro:bitには、磁気センサーが搭載されています。

 そのセンサーを利用して、LED表示で北を示すスクリプトです。(ドキュメンテーションのサンプルです)

 

 スクリプトがスタートすると、まずキャリブレーションを行います。

 micro:bitに「TILT TO FILL SCREEN」という文がスクロール表示されますので、表示が終わったら、micro:bitをあちこちに傾けて5×5のLEDを全て点灯させます。

 全点灯させると、少しして北の方向が時計の針の方向で表示されます。

 compass.heading()関数は、3軸の方位から計算された方向を0~360(時計回りで0が北)の整数で返します。

 右側が北の方向です。