フィジカルコンピューティング?
「プログラミング」と言うと、MacやWindowsなどのパソコンの中でマウスやキーボードを使って操作する物というイメージを持っていると思います。
フィジカルコンピューティングでは、現実世界の物理現象を様々なセンサーでとらえ、マイコンボードという小さなコンピュータに書き込んだプログラムがセンサーの値に応じて様々な反応をします。
言葉だけを聞くとなんだか難しそうですが、コンピュータの中だけのプログラミングよりも、動きや温度、明るさなどの情報に反応するモノづくりが可能で、楽しく手軽にプログラミングを学ぶことができます。
マイコンボードって?
小さな基板の上にマイクロコントローラー(パソコンのCPUに相当するもの)を実装した物で、マイクロコントローラーを略してマイコンと呼んでいます。
STEAM Tokyoでは、アメリカのAdafruit(エイダフルート)社のマイコンボード、Circuit Playground Express(サーキット プレイグラウンド エクスプレス; CPX)を採用しています。
CPXは、Adafruit MakeCodeというブロックを組み合わせることで簡単にプログラミングが可能な言語に対応しています。
本体験会でも、MakeCodeを使ったプログラミングで、難解なプログラムの文法を暗記しなくてもプログラミングの楽しさを体験していただけます。
でも、実際はプログラミングって難しいんじゃないの?
MakeCodeは、アメリカ、ヨーロッパを中心に人気のあるブロックプログラミング言語です。
日本では小学生向けにScratchという類似のブロックプログラミング言語がありますが、様々なセンサーを扱うにはAdafruit MakeCodeとCPXの組み合わせが優れています。
試しに「1から1000までの合計を計算して、終わったらブザーを鳴らす」というプログラムをPythonで書いてみます。
import pyaudio
import numpy as np
pya = pyaudio.PyAudio()
stream = pya.open(format=pyaudio.paFloat32,
channels=1,
rate=44100,
frames_per_buffer=1024,
output=True)
samples = np.sin(np.arange(10000) / 20)
for i in range(1000):
ans = ans + 1
stream.write(samples.astype(np.float32).tostring())
stream.close()
うーん、とっても長いですね…。
でも、MakeCodeならこれだけです。
日本語だし、これなら簡単ですよね♪
学生のためのフィジカルコンピューティング体験講座では、楽しみながらプログラミングの基本的な考え方に触れていただくことができます。
体験講座のお申し込み
現在、コロナウイルスの感染拡大の状況を考慮し、全ての講座を一時休止しております。
講座再開の折には本ホームページおよびTwitterで告知をいたしますのでお見逃しなく。