mochizukiのICT活用ワンポイント(7439回〜7445回)
mochizukiのICT活用ワンポイント
7439回(7/12)micro:bit v2用Makecodeの新しい機能 1
micro:bit プログラム環境であるMakecode for micro:bit の機能がアップデートされたということで、いろいろ試してみようと思います。
まず、Makecode
https://makecode.microbit.org/
にアクセスしてみると、画面の表示から変わっていることに気がつきます。
提供しているMicrosoftのロゴも左に移っていますね。
ブロックにかかれている文字は「日本語化」されているのですが、
以前と少しずつ表現が変わっています。
こうなると、
・サンプルプログラミング集
に載せている画面も変えなければなりません。
微妙な違いを指摘されたり、違うことでとまどう方がいたりするからです。
しかし、
まだ若干変わっていく可能性(評判から修正される)もあるため、
もう少したって安定?してからのほうがよさそうです。
何度も修正するのも大変ですからね。
mochizukiのICT活用ワンポイント
7440回(7/13)micro:bit v2用Makecodeの新しい機能 2
・データロガー
という拡張機能で、本体内にセンサーの値を保存できるときいたので、
拡張機能を追加して試してみました。
せっかくv2 なので、音の大きさを記録。
以下は、Python画面でのコードです。
datalogger.delete_log(datalogger.DeleteType.FULL)
datalogger.set_columns(["sound"])
def on_every_interval():
led.toggle(2, 2)
datalogger.log_data([datalogger.create_cv("sound", input.sound_level())])
loops.every_interval(100, on_every_interval)
本体内のデータをダウンロードすると、
スプレッドシートでグラフ化できそうです。
mochizukiのICT活用ワンポイント
7441回(7/14)Cutebotを走らせる 1
今月末のハイブリッド型講座で、micro:bit用のロボットカーを走らせるので、下準備をしています。
まずは、v2のマイク(音センサー)から拾う音の大きさをグラフ表示。
以下、python画面でのコードです。
def on_forever():
led.plot_bar_graph(input.sound_level(), 128)
basic.pause(200)
basic.clear_screen()
basic.forever(on_forever)
これで、0.2秒毎にまわりの音の大きさをグラフ化できました。
この値を使って走らせようと思います。
mochizukiのICT活用ワンポイント
7442回(7/15)Cutebotを走らせる 2
Cutebotを動かすには、拡張機能を読み込まなければなりません。
昨日つくった、
・まわりの音の大きさをグラフ化する。
プログラムの中に、
・まわりの音の大きさを数値化して前進する。
部分を組み込みました。
0.3秒ごとにループして音の大きさを判断するため、
前進する速度も「0.3秒毎に変わる」ことになります。
つまり「前で話す声の大きさによって動きが変わるロボットカー」ですね。
以下、python画面でのコードです。
def on_forever():
led.plot_bar_graph(input.sound_level(), 128)
cuteBot.move_time(cuteBot.Direction.FORWARD, input.sound_level() * 0.5, 0.3)
basic.clear_screen()
basic.forever(on_forever)
mochizukiのICT活用ワンポイント
7443回(7/16)Cutebotを走らせる 3
実際に廊下で走らせてみると問題が・・・。
最初は声を出すとその音で走り出すのですが止まらない。
なぜかというと、
「自分が走る際の音に自分が反応して走り続ける」
のです。
これを防ぐためには、
ある音量以上でないと走らないようにする必要があります。
やってみるとまた難しい。
・ある音量以上でないと動き出さない。
と、動き出させるのに大きな音を出さなければならないので、その調整(どこを閾値(いきち・・・境目の値))にするかを試行錯誤しました。
以下、python画面でのコードです。
def on_forever():
led.plot_bar_graph(input.sound_level(), 256)
if input.sound_level() < 160:
cuteBot.stopcar()
else:
cuteBot.move_time(cuteBot.Direction.FORWARD, input.sound_level() * 0.5, 0.3)
basic.clear_screen()
basic.forever(on_forever)
mochizukiのICT活用ワンポイント
7444回(7/17)Cutebotを走らせる 4
ロボットカーを追いかけながら声や音を出すのも大変だなと、
もう1台のmicro:bitを手に持ってそこに声を出すことにしました。
つまり、無線で値を送ってその値でロボットカーが走ればよいわけです。
つくりかたは意外と簡単で、受信側として昨日のプログラムを
・無線で値を受け取ったら に変更
送信側で、音の大きさを送信するようにします。
やってみると、声を出すとCutebotが走り出し、すぐに止まる。
そうかと思ったのは、「走る音で走り続けない」のです。考えてみたらマイクはロボットカーでひろっていないので当たり前ですね(笑)
以下、python画面でのコードです。
(送信側)
radio.set_group(1)
def on_forever():
led.plot_bar_graph(input.sound_level(), 256)
radio.send_number(input.sound_level())
basic.forever(on_forever)
(受信側)
def on_received_number(receivedNumber):
led.plot_bar_graph(receivedNumber, 256)
if receivedNumber < 160:
cuteBot.stopcar()
else:
cuteBot.move_time(cuteBot.Direction.FORWARD, receivedNumber * 0.5, 0.3)
basic.clear_screen()
radio.on_received_number(on_received_number)
radio.set_group(1)
mochizukiのICT活用ワンポイント
7445回(7/18)今週のまとめ
今週は、7/25に行う講座に向けて、
・Makecode のアップデート確認
・ロボットカーCutebotのプログラミング
を行いました。
Makecode Python画面にコードを貼り付けると、
ブロック画面で再編集もできますので、
試していただけるとよいですね。
続きは次回(7/25(日)にまとめて配信)。
この記事が気に入ったらサポートをしてみませんか?