プログラミング 小ネタ集 その7

2020.6.11

以前にScratchとArduinoを簡単に繋ぐことができることを報告しました。その結果、理科6年でならうプログラミングの"制御と計測"に上手く展開できます。さらにこの内容は中学技術家庭科にも展開が可能です。そこで、私が進めている内容を一部紹介します。センサーには太陽電池を使います(6年で学習済み)。そして"明るさを計測"し、暗い場合は"LEDを点ける"制御を考えてみます。

小ネタ7-1.png
図1Scratch+Arduino

図1がScratch+Arduinoで組んだ場合です。ArduinoのA0はアナログ入力のPIN番号です。valueは1と0があり、C++言語ならHIGHとLOWに対応しています。図2はIchigoJamで組んだ場合です。IchigoJamには基板に附いているLEDを点けるLED1という命令が便利です。なお、図1では閾値は100、図2では閾値が300です。これはいろいろ替える必要があります。

小ネタ7-2.png

図2 IchigoJam(BASIC)で

 この実験をしているといろいろと面白いことに気づきます。たとえば、太陽電池の出力を0にしてやろうと手をかざしても完全に0にはなりません。0にするにはやや厚めの黒い紙を太陽電池にかぶせるのが一番です。人間の手は意外に「光」を通します。これを応用しているのが最近病院で見かける簡易的な心拍計+酸素濃度計(パルスオキシメーター)です。

 中学ではさらにデータの可視化というところまで踏み込み、CRTにXの変化をプロットさせますIchigoJamは解像度が低く、ややグラフィックが弱いですが変化を実感することはできます。もちろんこの状態はRaspberryPai3B+のScratch2でも可能ですが、AD変換の幅が狭い(0~100)のでやや使いづらいです。なお、使用しているsensorを写真1に示します。

小ネタ7-3.png

写真1 sensor

太陽電池と並列に100kの抵抗を入れて使用します。写真2はIchigoJamによる実践風景です。

小ネタ7-4.png

写真2 中学での実践風景(2月