音を出す

マイクロビットのセンサによって、パソコンから音を出します。

ちょっとややこしくなりますが、サウンドクオリティを考えて、音を鳴らす部分には「SonicPi」を使います。

SonicPiがシリアル通信できればよかったのですが、それができないので、Processingと組み合わせて、2段階で変換します。

マイクロビット > Processing > SonicPi

 

マイクロビットとProcessingは「シリアル通信」でやりとりし、

ProcessingとSonicPiは「OpenSoundControl」でやりとりします。


Processingのサンプルをダウンロードする

Githubにあるサンプルをダウンロードし「すべて展開」してください。

 

※ライブラリ「oscP5」が必要です。大学のPCにはインストール済みです。

 


SonicPi側のプログラム

マイクロビットに電池ボックスをつける

電池ボックスをとりつけること自体は簡単です。

しかし、このままでは少し邪魔になってしまい、手に持ったりするのに不便です。そこで、電池ボックスを固定する方法を考えました。

マイクロビットの裏面の中央あたりは、部品がなく基板パターンのみになっています。ここに厚みのある両面テープを貼ります。

写真のように少しだけで十分です。このとき、マイクロビットの部品に重ならないように両面テープを貼ってください。

両面テープは3Mのこちらがおすすめです。

https://goo.gl/YtkzvG

電池ボックスを両面テープで固定します。

電池ボックスにはスイッチがついていません。

使わないときは、電池を少し浮かして電源オフにします。

無線の使い方

マイクロビットの「無線」は、マイクロビット同士に限り、無線通信ができます。

本日の流れ

  1. 準備するもの
  2. 無線グループ分け
  3. 受信側のマイクロビット
  4. 送信側のマイクロビット
  5. つなぎかた
  6. 動作確認
  7. 発展〜3軸加速度を取得する〜

 


1. 準備するもの

  • マイクロビット   2つ
  • USBケーブル   2つ
  • 電池ボックス   1つ
  • 単3電池     2本

2. 無線グループ分け

無線のグループ番号を決めたいので、グループ分けします。

大きく5つに分けて、10番代、20番代、30番代、40番代、50番代とします。

10番代のグループは、さらにグループ内で個人個人が個別の番号になるように、各グループ内で話し合って決めてください。

例)10番代のグループは、
1人目:10、2人目:11、3人目:12、4人目:13、5人目:14…


3. 受信側のマイクロビット

まず「受信側」を作ります。

無線のグループは、先ほど決めた、自分だけのグループ番号にしてください。

プログラムができたら書き込みを行ってください。


 

4. 送信側のマイクロビット

無線のグループは、受信側と同じ、自分だけのグループ番号にしてください。

プログラムができたら書き込みを行ってください。


 

5. つなぎかた

受信側のマイクロビット

USBケーブルでパソコンとつないでおきます。

送信側のマイクロビット

乾電池で動作するように、電池ボックスと電池を取り付けます。

電池が消耗するので、使わないときは、電池を浮かして電源オフにしておきます。


6. 動作の確認

「Arduino」のシリアルプロッタで、グラフ化して表示してみましょう。


 

7. 発展〜3軸加速度を取得する〜

送信側マイクロビットだけ、プログラミングを書き換えます。

加速度の計測範囲を「8G」まで増やしてみました。

これを、Arduinoのシリアルプロッタで確認したところです。

センサとPCでデータやりとり

センサのデータをPCに送り、PCで表示してみます。

今日はUSBケーブル経由でデータをやりとりしますが、これが無線になっても同じように振る舞います。まずはUSBケーブルありの状態で、何をしているのか流れを把握しておきましょう。


マイクロビットのプログラム


「Arduino」で表示する

  1. Arduinoを起動する
  2. 「ツール」> 「シリアルポート」から「COM4」を選択
  3. 「ツール」>「シリアルモニタ」を表示(数字の確認)
  4. 「ツール」>「シリアルプロッタ」を表示(グラフで確認)

「Processing」で表示する

Processingというソフトで、ビジュアル表示した例です。

  1. サンプルデータをダウンロードする
    https://github.com/mathrax-s/serial_microbit
  2. 「すべて解凍」する
  3. 解凍したデータの「processing」>「SerialMicrobit_03」を開き、
    「SerialMicrobit_03.pde」をダブルクリックする

「ボタンを押すと絵が変わる」LEDバッジ

micro:bitにプログラミングをして、それが目で見て確認できるように作っていきます。この例でのプログラミングをリストにすると、以下の3つになります。

 

  1.  micro:bitがスタートしたらLEDアイコンを表示する

  2.  ずっと、LEDのアイコンがアニメーションする

  3.  ボタンAを押したらアイコンが変わる

 

プログラミングが完成したら、micro:bit本体への書き込みまで行います。


1.micro:bitがスタートしたらLEDアイコンを表示する

「最初だけ」ブロックに「基本」から「アイコンを表示」ブロックを選び、図1のようにブロックを組みます。

 


2.ずっと、LEDのアイコンがアニメーションする


3.ボタンAを押したらアイコンが変わる


シミュレータでの確認し、書き込みます。

光の表現リサーチ結果


https://projection-mapping.biz/world_mapping/light-green-leaves-with-light0804.html


 

http://www.dot-st.com/cp/lepsim/simple-is5-cu1





マジョーラ


 

光にまつわる即興実験

趣旨

この授業ではLED照明の制御方法を学びます。しかし制御方法を知るだけでは、その用途や面白さがわかりません。そこで「光」についてもう少し深く掘り下げてもらいます。

持ち寄った道具や材料で、下記のことを意識して、光にまつわるプレゼンテーションを行なってください。

<プレゼンテーマの例>

  • 光とは?
  • 光を認識する眼の仕組み
  • 色とは?
  • 光と温度の関係
  • 光と影の関係
  • 虹ができる条件などなど

条件

ひとつ条件として、文字や文章を読み上げるだけのプレゼンではないことを意識してください。プレゼンもパフォーマンスです。写真や映像を用いることはもちろん、目の前で実験したり、観客を巻き込むようなプレゼンを期待します。

ヒント

  • 光源の違い
  • 太陽
  • ホタル
  • 白熱電球
  • 蛍光灯
  • LED
  • レーザー
  • 光の効果
  • 陰と影
  • レンズ
  • ピンホール
  • カメラの仕組
  • 光の知識(明るさの単位)
  • ルーメン
  • ルクス など

光の表現リサーチ

僕のイメージする「光の表現」のことを共有してもらうために、リサーチをしてもらいます。なんとなく共有できればありがたいです。各自調べてメールで提出してください。アドレスは授業中に教えます。

— — — —
タイトル「光の表現」
本文に、学籍番号/氏名、アドレスと一言コメントを書いてください。自己紹介もあると嬉しいです。
— — — —