micro:bit(マイクロビット)は、イギリスで誕生したコンピュータで、世界中の教育機関や学校で使われているプログラミング教材です。

今回は、micro:bitを、Python(パイソン)というプログラミング言語を使って動かすやり方を解説していきたいと思います!

キーボードでプログラムを入力していく本格的なプログラミング学習ができるので、ぜひトライしてみてはいかがでしょうか!

micro:bit(マイクロビット)とは?

まずは、micro:bitについて少しだけ解説していきます!

micro:bitは教育用の小さなコンピュータ

mirco:bitは、教育用のプログラミング教材として開発されたマイクロコンピュータです。

小さなボードの上に、LEDや光センサー、温度センサー、加速度センサーなどいくつものセンサーが付いており、プログラミングでそれらを操作することができます。

そのため、ロボット作りや工作など様々な作品で応用することができます。

日本でのプログラミング教材としても注目される

2020年から新学習指導要領に改訂されたことで、小学校でのプログラミング教育が必修化されました。

それに伴って、micro:bitは学校でのプログラミング教材やSTEM教育の教材としても注目されるようになってきました。

教育用として開発されたので子どもでも扱いやすく、またプログラミングやモノ作りの体験もできるので、文部科学省でもプログラミング教材として紹介されています。

micro:bitの基本的な使い方!

micro:bitは、パソコンとmicro:bit本体があれば、すぐにプログラミングを始めることができます!

そして、プログラミングのやり方もいくつかあり、本記事で解説していくPythonを使う方法や、MakeCodeエディターというツールを使う方法があります。

本記事では、Pythonを使ったプログラミングのやり方を解説していきますが、プログラミング初心者やもっと簡単にプログラミングしたい方には、MakeCodeエディターがおすすめの方法です。

MakeCodeエディターでは、プログラムをブロックのように組み合わせて、視覚的にプログラミングしていくことができる「ビジュアルプログラミング」が可能です。

MakeCodeエディターを使ったmicro:bitの基本的な動かし方は、以下の記事でご紹介していますので、ぜひご確認ください!

Python(パイソン)とは?

Pythonは、1990年ごろに開発されたプログラミング言語です。

様々なITのサービスや分野で使われており、最近ではAI・人工知能の分野でも注目されているプログラミング言語になっています。

Pythonは人気のプログラミング言語

プログラミングの世界には、様々なプログラミング言語がありますが、Pythonはその中でも人気の言語です。

日経 xTECHが2018年に実施した「プログラミング言語実態調査」では、「今後スキルを磨きたいと思うプログラミング言語」でPythonが1位(1000人中670人が学びたいと回答)になり、人気のプログラミング言語になっています。

Pythonが人気1位(日経 xTECHより引用)

また、世界でもPython人気は高くなっています。

2019年に世界最大の電気・情報工学分野の学術研究団体であるIEEEが人気プログラミング言語ランキングを調査・発表したところ、Pythonが1位となりました。

こちらもPythonが1位(IEEE Spectrum発表より引用)

Pythonの3つの特徴

では、なぜこんなに人気なのかPythonの特徴を見て解説していきます!

Pythonの特徴① プログラムをシンプルに書ける・読める

Pythonはプログラミングの文法がシンプルで、プログラムが書きやすく、読みやすいという特徴があります。

なので、プログラミング初心者にもプログラムが比較的わかりやすく、学びやすいと言われています。

また、プログラムが書きやすい、読みやすいことは実際のアプリやシステムの開発でもとても重要で、プログラムのミスや勘違いなどが発生しづらくなるので、そのことも人気につながっているといえるでしょう。

Pythonの特徴② 様々なライブラリが用意されている

Pythonは、様々な分野で用いることができるライブラリの種類が充実しています。

ライブラリとは、よく使う処理をまとめたプログラムのパッケージのようなものです。

例えば、ある統計の調査で複雑な計算プログラムが必要になったときに、ライブラリとしてプログラムを作っておくことで、別の調査で再度その計算プログラムが必要な時に最初からプログラムを書くことはなく、作っておいたライブラリを再利用することができます。

そうすることで、プログラムが分かりやすくなり、エラーも起きにくくなります。

Pythonでは、そのようなライブラリの種類が多く、ITの多くの分野で使うことができるので人気なのです。

Pythonの特徴③ AIや人工知能の分野で活躍する言語

近年、ロボットなどのAIや人工知能の発達がとても進んでおり、その開発言語としてPythonが選ばれています。

上記でもあったように、Pythonはライブラリが多く、その中には機械学習やディープラーニングなどAI・人工知能の開発に欠かせない技術のライブラリも多く用意されています。

そのため、技術者がPythonを使ってプログラミングをすることが多いのです。

さらに、今後技術が発達するとともに、技術者の需要も高くなっていくでしょう。

特にAI・人工知能の技術者はこれからどんどん需要が高くなると予測されており、Pythonを書ける技術者や、Pythonを学びたい人が増えて、より人気が高くなっていくでしょう。

micro:bitをPythonで動かしてみよう

では、micro:bitをPythonで動かす方法について解説していきたいと思います!

Python Editor for micro:bitにアクセスしよう

まず、micro:bitをプログラミングするための準備をしていきます。

micro:bitをPythonで動かすための無料のサイト「Python Editor for micro:bit」があるので、そこにアクセスしていきます。

すると、下記のような画面が表示され、プログラミングの編集ができるようになります。

micro:bitでHello, World!と表示させてみよう

では、Pythonでプログラミングして「Hello, World!」と表示させます。

「Hello, World!」はプログラミングの入門において、初めてプログラムを動かすときに、とてもよく使われる例文です 。

下記のように、画面のプログラムを修正していきます。

from microbit import *
while True:
display.scroll(‘Hello, World!’)

キーボード操作で文字を書いたり、消してプログラミングしていきます。

これで、Hello, World! と表示するプログラムが完成です!

micro:bitにプログラムを転送する

micro:bitを動かすために、micro:bit本体にプログラムを転送していきます。

まずは、micro:bit本体とパソコンを接続します。

そして、画面左上の”Download” ボタンを押します。

「microbit_program.hex」というファイルができるので、それをMICROBITフォルダに保存して完了です。

LEDが光り、「Hello, World!」と表示されれば成功です!

今回は、文字を表示するプログラムを作成しましたが、プログラムの詳しい中身については、次の章で解説していきます!

Pythonでもっと様々なプログラミングをしてみよう!

Pythonでのmicro:bitの基本的な使い方を解説してきました。

micro:bitでは様々なプログラミングができるので、それらのプログラムの作り方をご紹介していきます!

Pythonで文字を表示するプログラム

まずは、文字を表示するプログラムについて解説していきます。

from microbit import *
while True:
display.scroll(‘Hello, World!’)

こちらは、先ほどの「Hello, World!」表示のプログラム例になります。

まず、一行目のプログラムの

from microbit import *

は、「”micro:bit”というライブラリにあるすべてのライブラリを使えるようにする」という意味になります。* はすべてを表すPythonの書き方になります。

ライブラリとは、よく使う処理をまとめたプログラムのパッケージのことです。

このプログラムを書くことで、micro:bitでの文字表示やアイコン表示を簡単なプログラム(display.scroll など)を書くだけで実現できるようになります。

そして、2行目の

while True:

は「ずっと繰り返す」という意味です。そして何を繰り返すかというと、3行目の

display.scroll(‘Hello, World!’)

を繰り返します。この3行目が、文字を表示させるプログラムです。

ディスプレイ(LED画面)に文字をスクロールして表示するという命令をプログラムしています。

プログラムが完成したら、あとはmicro:bit本体に転送し、動作確認して完了です!

Pythonでハートなどのアイコンを表示するプログラム

次に、ハートやスマイルなどのアイコンを表示するプログラムを解説していきます。

ハートの表示プログラムは、このようになります。

from microbit import *
display.show(Image.HEART)

1行目で、micro:bitのライブラリをすべて使えるようにして、2行目の

display.show(Image.HEART)

ハートアイコンを表示するプログラムです。

また、ハートのほかにも様々なアイコンがmicro:bitには用意されています。

「Image.~」の部分を変えるだけで、別のアイコンを表示することができます。

  • Image.HAPPY(嬉しい顔のアイコン)
  • Image.SAD(悲しい顔のアイコン)
  • Image.ASLEEP(寝ているアイコン)

など、何十種類ものアイコンを表示させることができます。

ボタンを押されたことを検知するPythonプログラム

ゲームや作品によっては、micro:bitのAボタンやBボタンを使ってプログラムを作りたいことがあると思います。

Pythonでボタンが押されたことを検知するプログラムを見ていきます。

このプログラムは、Aボタンが押されたら、ハートのアイコンを表示します。

from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.HEART)

3行目の if は条件分岐(もし~なら)のプログラミング文法です。

button_a.is_pressed():

このプログラムは、「もし、Aボタンが押されたなら」という意味になります。

そしてAボタンが実際に押されれば、Image.HEARTのアイコンを表示します。

ランダムな乱数を作るPythonのプログラム

ゲームに欠かせないのが、ランダムな乱数です。偶然や確率を作ることで、ゲームをより面白くすることができます。

では、サイコロでよく使われる1から6の数字をランダムで表示するプログラムを見ていきます。

from microbit import *
import random
display.show(str(random.randint(1, 6)))

まず、2行目は、「random」というライブラリを追加しています。これを追加することで、ランダムな数を作ることができます(追加しないと、エラーが出てしまいます)

そして、3行目の

random.randint(1, 6)

の部分で、1から6までのランダムな乱数を作っています。(randintは指定した2つの数字の間の整数を返します)

そして、

str(random.randint(1, 6))

とすることで、ランダムな乱数を文字列に変換しているので、display.show でLEDに表示させることができます。

micro:bitを振ったときの動きを検知するPythonのプログラム

micro:bitには、加速度センサーが付いているので、micro:bitを振ったときや揺さぶったとき、傾けたときなどいろいろな動きを検知することができます。

では、どのようなプログラムになるか見ていきたいと思います。

このプログラムは、micro:bitを揺さぶったとき(shake: シェイク)にImage.HAPPYのスマイルアイコンを表示します。

from microbit import *
while True:
gesture = accelerometer.current_gesture()
if gesture == “shake”:
display.show(Image.HAPPY)

3行目の gesture = accelerometer.current_gesture() で現在のmicro:bitの動き(ジェスチャー)を検知しています。

そして、4行目で、if(条件分岐)が使われており、「もし、動きが”shake”だったら」と判定しています。

もし、動きが”shake”であれば、5行目のImage.HAPPYが表示されることになります。

実際に揺さぶってみると、スマイルアイコンが表示されました!

動きの種類は11種類あり、以下になります。今回は”shake”を使いました。

  • shake:揺さぶられたとき
  • up:ロゴが上向けになるように垂直に立てたとき
  • down:ロゴが下向けになるように垂直に立てたとき
  • face up:表面(LED)が上向きになったとき
  • face down:表面(LED)が下向きになったとき
  • left:左に傾けたとき
  • right:右に傾けたとき
  • freefall:落としたとき
  • 3g:落とす3倍の重力がかかったとき
  • 6g:落とす6倍の重力がかかったとき
  • 8g:落とす8倍の重力がかかったとき

様々なプログラミングで応用してみよう!

今回は、micro:bitでよく使われる操作をPythonで書くやり方を解説してきました!

これらを組み合わせていくことで、いろいろなゲームや作品をPythonでプログラミングしていくことができます。

作ってみたいゲームがPythonでも書けるか試してみるのも、プログラミング学習の方法としてはとてもおすすめです!

まとめ:Pythonは本格プログラミングへの第一歩

今回は、micro:bitをPythonで動かす方法について解説してきました。

micro:bitは、MakeCodeエディターを使ったビジュアルプログラミングでも動かすことができるので、プログラミングを始めた方には学習しやすい教材です。

でも、プログラミングのレベルが上がったり、慣れてきたらPythonでプログラミング挑戦するのもおすすめです!

それは、Pythonがテキストでプログラミングする言語だからです。

世の中のシステム開発では複雑で高速な処理が必要なため、ビジュアルプログラミングではなく、テキストでのプログラミングが一般的です。

そのため、Pythonでのプログラミングは、本格的なプログラミング学習への第一歩と言えるでしょう!

ぜひ、Pythonでもゲームや作品づくりにトライしてみてはいかがでしょうか!