Micro:bitで始めるPythonプログラミング入門

プログラミング
記事内に広告が含まれています。
スポンサーリンク

Micro:bitとPythonの概要

brian
brian

micro:bitを使ってPythonプログラミングを楽しんでみませんか?このガイドでは、micro:bitとPythonを組み合わせて、簡単なプログラミングから色々な遊び方まで、初心者でもわかりやすく解説しています。小さなデバイスでのプログラミングを体験したい方は、ぜひ気軽にチェックしてみてくださいね!

Micro:bitとは?

Micro:bitは、イギリスのBBCが2015年に教育目的で開発した小型のプログラミングデバイスです。このデバイスは、プログラミングの基礎を学ぶために設計されており、特に子どもや初心者向けに利用されることが多いです。Micro:bitは手のひらサイズで、5×5のLEDディスプレイ、2つのボタン、加速度センサー、磁力計、無線通信機能(Bluetooth、無線)などが搭載されているため、さまざまなプロジェクトや実験に活用できます。

PythonがMicro:bitで利用される理由

Pythonは、初心者にとって学びやすいプログラミング言語として知られており、コードが簡潔で分かりやすいのが特徴です。Micro:bitでは、特にPythonの軽量版であるMicroPythonが使用されており、これによりデバイスのリソースに適した効率的なコードを書けるようになっています。MicroPythonは、標準のPythonとほぼ同じ構文を持ちながら、ハードウェア上でのリアルタイム操作を可能にする機能が備わっています。

Micro:bitにPythonを使うことで、次のようなメリットがあります。

  • 直感的で学びやすい: Pythonは可読性が高く、初心者がコードを学ぶのに適しています。
  • コミュニティとリソースが豊富: Pythonは世界中で広く使われているため、チュートリアルやプロジェクト例が豊富に存在します。
  • 実際のハードウェア操作が学べる: センサーやLED、ボタンなど、物理デバイスを使ってプログラムを直接実行することで、プログラミングの実践的なスキルが身につきます。

MicroPythonとは?

MicroPythonは、標準的なPythonの軽量版で、組み込みデバイスのような小型のハードウェアで実行できるように設計されています。Micro:bitのような小さなメモリ容量や低い処理能力を持つデバイスでも動作するように、Pythonの主要な部分が効率よく再設計されています。これにより、Micro:bitを用いたハードウェア操作が可能になり、プログラムが即座にデバイスに反映されます。

スポンサーリンク

Micro:bitでPythonプログラムを始める方法

必要なツールと準備

Micro:bitでPythonプログラミングを始めるために、以下のツールや準備が必要です。

  • Microデバイス: プログラミングを実行するための物理的なデバイスです。
  • USBケーブル: Micro:bitをコンピュータに接続するために使用します。データ転送と電源供給の両方に利用されます。
  • コンピュータ: コードを書いたり、Micro:bitとやりとりするために必要です。Windows、Mac、Linuxに対応しています。
  • Microエディタ: プログラミング環境を整えるために必要なソフトウェアです。オンラインでもオフラインでも使えるエディタがあります。

Muエディタの設定方法

PythonでMicro:bitをプログラムする場合、Muエディタが最もよく使われるエディタです。Muはシンプルで、初心者でも使いやすいインターフェースを持っています。

  1. Muエディタのインストール
    • Muエディタは公式サイトからダウンロードできます。
    • インストール手順は、使用しているオペレーティングシステムに応じて、Windows、macOS、Linuxのバージョンを選びます。
  2. MicroPythonモードを選択
    • Muを起動した後、初めに「モード」メニューからMicroPythonを選択します。これにより、Micro:bit用に最適化された設定が適用されます。
  3. Micro:bitをコンピュータに接続
    • USBケーブルを使ってMicro:bitをコンピュータに接続すると、自動的にMuエディタがデバイスを検出します。
    • 「REPL」ボタンを押すと、MicroPythonの対話型シェルが開き、直接コマンドを実行できるようになります。

Micro:bitにコードを転送する

Muエディタを使ってPythonコードを書き終えたら、次はそれをMicro:bitに転送します。

  1. コードの記述
    Muエディタ上でPythonコードを記述します。例えば、簡単な「Hello, World!」プログラムなどです。
  2. 転送手順
    「保存」ボタンをクリックすると、コードがMicro:bitに保存されます。通常、コードは自動的に実行され、結果がMicro:bitのLEDディスプレイやその他のセンサーに反映されます。
  3. 動作確認
    コードがMicro:bit上で正しく動作しているか確認します。動作に問題があれば、Muエディタ内で修正して再度転送できます。

これで、Micro:bitにPythonコードを転送し実行する基本的な準備が整います。Muエディタを使うことで、簡単にMicro:bitとやりとりができ、プログラミングの学習がスムーズに進みます。

スポンサーリンク

Pythonで簡単なプログラムを書いてみよう

Micro:bitを使って、最初のPythonプログラムを作成してみましょう。ここでは、初心者向けのプログラムとして、「Hello, World!」をMicro:bitのLEDディスプレイに表示する方法や、アニメーションを作成する方法を紹介します。

「Hello, World!」プログラム

プログラミングの入門としてよく知られている「Hello, World!」は、Micro:bitのLEDディスプレイにテキストを表示する最も簡単なプログラムです。以下のコードを使って、Micro:bitのディスプレイに「Hello, World!」をスクロール表示してみましょう。

Python
from microbit import *

while True:
    display.scroll("Hello, World!")
    sleep(2000)

コードの解説

  • from microbit import *: これは、Micro:bitのすべての機能をインポートするための行です。これにより、LEDディスプレイやボタン、センサーにアクセスできるようになります。
  • while True: 無限ループを作成します。Micro:bit上でプログラムが常に動作し続けるために使われます。
  • display.scroll(): 5×5のLEDディスプレイに文字列をスクロール表示させるための関数です。ここでは「Hello, World!」を表示します。
  • sleep(2000): 2秒間(2000ミリ秒)待機する命令です。これにより、文字列が表示された後、少しの間プログラムが停止します。

アニメーションを作成してみよう

Micro:bitのLEDディスプレイを使って、簡単なアニメーションを作成することもできます。次のプログラムは、LEDディスプレイにアニメーションのように表示を切り替えるものです。

Python
from microbit import *

# アイコンの定義
heart = Image.HEART
small_heart = Image.HEART_SMALL

while True:
    display.show(heart)
    sleep(500)
    display.show(small_heart)
    sleep(500)

コードの解説

  • Image.HEARTImage.HEART_SMALL: これらはMicro:bitに組み込まれているイメージです。HEARTは大きなハートの形、HEART_SMALLは小さなハートの形を表します。
  • display.show(): 先ほどのscroll()とは異なり、特定のイメージを表示するために使われます。ここではハートのアイコンを表示しています。
  • sleep(500): 0.5秒(500ミリ秒)ごとに大きなハートと小さなハートが切り替わるように設定しています。これにより、点滅するハートのアニメーションが実現します。

プログラムの実行

これらのコードをMuエディタに入力し、Micro:bitに転送することで、LEDディスプレイに「Hello, World!」のテキストや、アニメーションするハートが表示されるはずです。プログラムが正しく動作するかどうかは、実際にMicro:bit上で確認することで簡単にわかります。

このように、Pythonを使ってMicro:bit上で簡単なプログラムを作成し、テキスト表示やアニメーションなどの基本的な操作を学ぶことができます。次は、センサーやボタンを使ったプログラミングに進みましょう。

スポンサーリンク

Micro:bitのセンサーとボタンを使ったPythonプログラミング

Micro:bitには、プログラムで操作できるいくつかの内蔵センサーやボタンがあります。これらを利用することで、よりインタラクティブなプロジェクトを作成できます。ここでは、Micro:bitに搭載されているボタンや加速度センサーを使ったプログラムの例を紹介します。

ボタンを使ったプログラム

Micro:bitには、2つのボタン(AボタンBボタン)があり、これらを押したときに反応するプログラムを書くことができます。次に、Aボタンを押すと「A」、Bボタンを押すと「B」と表示されるプログラムを見てみましょう。

Python
from microbit import *

while True:
    if button_a.is_pressed():
        display.show("A")
    elif button_b.is_pressed():
        display.show("B")

コードの解説

  • button_a.is_pressed(): Aボタンが押されているかどうかをチェックします。押されている場合はTrueを返します。
  • button_b.is_pressed(): 同様に、Bボタンが押されているかどうかを確認します。
  • display.show(): ボタンに応じて「A」または「B」を表示します。

このように、ボタンの押下によって簡単にプログラムの動作を変えることができます。ボタンの操作は、ゲームのコントロールや、メニューシステムの構築など、さまざまな用途に応用できます。

加速度センサーを使ったプログラム

Micro:bitには3軸の加速度センサーが内蔵されており、デバイスの傾きや振動を検出できます。このセンサーを使って、例えばMicroを振ったときに特定のメッセージを表示するプログラムを作成することができます。

Python
from microbit import *

while True:
    if accelerometer.was_gesture("shake"):
        display.show("Shake!")

コードの解説

  • accelerometer.was_gesture("shake"): Microが振られた(shake動作が発生した)かどうかをチェックします。振られた場合にTrueを返します。
  • display.show("Shake!"): 振られたら「Shake!」と表示します。

温度センサーを使ってみよう

加速度センサーだけでなく、Micro:bitには内蔵の温度センサーも搭載されています。このセンサーを使えば、現在の温度を取得して表示することが可能です。

Python
from microbit import *

while True:
    temp = temperature()
    display.scroll(str(temp) + "C")
    sleep(1000)

コードの解説

  • temperature(): Micro:bitの内蔵温度センサーから、デバイス周辺の温度を摂氏で取得します。
  • display.scroll(): 取得した温度をスクロール形式で表示します。ここでは、温度に「C」(摂氏の単位)を付けて表示しています。
  • sleep(1000): 1秒間待機してから次の温度を取得します。

プログラムの実行

これらのコードをMuエディタに入力し、Micro:bitに転送して実行すれば、ボタン操作やセンサーを使ったインタラクティブなプログラムを楽しむことができます。ボタンを押すことで表示が変わったり、振動によってメッセージが表示されたりすることで、プログラミングの応用力が身につきます。

スポンサーリンク

PythonでMicro:bitの通信機能を活用する

Micro:bitには、Bluetoothや無線通信(radio)などの通信機能が搭載されており、これを使うことで複数のMicro:bit同士がデータをやり取りすることができます。ここでは、無線通信を使った簡単なデータ交換のプログラムを紹介し、Micro:bitの通信機能の使い方を学びましょう。

無線通信を使ったデータ送受信

無線通信機能を使えば、1台のMicroから別のMicro:bitにメッセージを送ったり、データを受信したりすることができます。次に、ボタンを押すことで無線でメッセージを送信し、もう1台のMicro:bitでそのメッセージを受信して表示するプログラムを見てみましょう。

送信側のコード

Python
from microbit import *
import radio

radio.on()  # 無線通信を有効化

while True:
    if button_a.is_pressed():
        radio.send("Hello")
        display.show("S")  # Sは送信を意味する
        sleep(1000)
    elif button_b.is_pressed():
        radio.send("Bye")
        display.show("S")
        sleep(1000)

受信側のコード

Python
from microbit import *
import radio

radio.on()  # 無線通信を有効化

while True:
    message = radio.receive()  # メッセージの受信
    if message:
        display.scroll(message)  # 受信したメッセージをスクロール表示

コードの解説

  • radio.on(): 無線通信を有効にします。この設定をしないと通信ができません。
  • radio.send(): 文字列を送信します。この例では、「Hello」と「Bye」を送信します。
  • radio.receive(): 無線で送信されたメッセージを受信します。受信したメッセージがあれば、display.scroll()でその内容を表示します。

通信チャネルの設定

複数のMicro:bitが同じ環境で使用される場合、通信チャネルを設定することで、特定のデバイス間だけで通信を行うことができます。例えば、2台のMicroが異なるチャネルに設定されていれば、お互いに通信しません。

次に、通信チャネルを設定するコード例を示します。

Python
from microbit import *
import radio

radio.config(channel=10)  # チャネルを10に設定
radio.on()

while True:
    message = radio.receive()
    if message:
        display.scroll(message)

コードの解説

  • radio.config(channel=10): 10というチャネルに設定します。同じチャネル番号のデバイス間でのみ通信が行われます。
  • radio.on(): 無線通信を有効化します。

Bluetooth通信の活用

Bluetoothを使うことで、Micro:bitとスマートフォンやパソコンなどのデバイス間でデータをやり取りすることも可能です。例えば、スマートフォンの専用アプリを使って、Micro:bitのプログラムを簡単にアップロードしたり、データを送信・受信することができます。

Bluetoothの利用例

  1. プログラムのアップロード: スマートフォンからMicro:bitに直接プログラムを転送できます。
  2. センサー情報の収集: スマートフォンでMicro:bitのセンサー情報をリアルタイムに取得して表示することが可能です。

Bluetooth機能を使う際には、専用のアプリやライブラリが必要ですが、これによりMicro:bitの使い方がさらに広がります。

スポンサーリンク

Micro:bitとPythonを使った応用プロジェクト

Micro:bitの機能を活用して、Pythonでさまざまな応用プロジェクトを作成することができます。ここでは、Micro:bitのセンサーやディスプレイ、通信機能を使った2つの応用プロジェクトを紹介します。これらのプロジェクトを通じて、Micro:bitでのプログラミングの可能性を広げることができます。

シンプルなゲームの作成

Micro:bitのボタンとLEDディスプレイを使って、シンプルなゲームを作ることができます。ここでは、プレイヤーがMicroのAボタンとBボタンをタイミングよく押す「反射神経ゲーム」を紹介します。

ゲームのコード例

Python
from microbit import *
import random

display.scroll("Press A or B when GO")

while True:
    display.show("-")
    sleep(random.randint(2000, 5000))  # ランダムな待機時間
    display.show("GO")  # プレイヤーに反応を促す
    start_time = running_time()

    while True:
        if button_a.is_pressed() or button_b.is_pressed():
            reaction_time = running_time() - start_time
            display.scroll(str(reaction_time) + "ms")  # 反応時間を表示
            sleep(2000)
            break

コードの解説

  • random.randint(2000, 5000): プレイヤーが待機する時間をランダムに設定します。2〜5秒の間でランダムな待機時間が選ばれます。
  • running_time(): プログラムが開始してからの時間をミリ秒単位で返します。
  • ボタンが押されると、running_time()を使って反応時間を計算し、LEDディスプレイにミリ秒単位で表示します。

温度アラートシステム

Micro:bitの温度センサーを使って、一定の温度を超えたときに警告を表示するシステムを作成することができます。このプロジェクトは、室温の監視や簡単な環境モニタリングシステムとして利用可能です。

温度アラートのコード例

Python
from microbit import *

THRESHOLD_TEMP = 30  # 30度をしきい値に設定

while True:
    temp = temperature()  # 現在の温度を取得
    display.scroll(str(temp) + "C")  # 温度を表示
    sleep(1000)
    
    if temp > THRESHOLD_TEMP:  # 温度がしきい値を超えたら
        display.show(Image.SKULL)  # ドクロマークを表示
        sleep(500)
    else:
        display.clear()

コードの解説

  • temperature(): Microの温度センサーで現在の温度を取得します。
  • THRESHOLD_TEMP: 温度のしきい値(この例では30度)を設定します。しきい値を超えると、LEDディスプレイにドクロのアイコンを表示します。
  • display.show(Image.SKULL): 温度が高すぎるときに、警告としてドクロの画像を表示します。

応用プロジェクトのアイデア

上記のプロジェクトを応用すれば、さらに多くのプロジェクトを作成できます。例えば:

  • 歩数計: 加速度センサーを使って、歩数をカウントする簡単なプログラムを作ることができます。
  • 無線通信でスコアボードを共有: 無線通信機能を使って、複数のMicro:bit間でゲームのスコアを共有するプロジェクトを作成することが可能です。

まとめ

Micro:bitとPythonを組み合わせることで、教育現場や趣味のプロジェクトで様々な応用が可能です。センサーやボタン、無線通信などの機能を活用することで、簡単なプロジェクトから高度なシステムまで、幅広くチャレンジできます。これにより、プログラミングの楽しさを体感しながら実際に動くものを作る喜びを得られるでしょう。

brian
brian

ここまで読んでいただきありがとうございます!

UdemyのPythonコースにはオンラインで学習ができる動画コンテンツがたくさんあります。

当ブログのような文章メインの説明では足りない箇所を補えると思うので、もっと詳しく勉強したいという方はぜひチェックしてみてください!

コメント

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