アイディアと工夫で驚きと楽しさを

2025/06/14

音を「見る」!

event_note6月 14, 2025 forumNo comments


 手を叩くと…光が「パパパッ!」って走っていく。
音が空気を伝わっていく速さ、秒速340mを可視化する装置を作りました。

まずは動画を御覧ください!


音は1秒間に約340メートルの速さで空気中を伝わります。

日常生活の中でこの「音速」を意識することはあまりないかもしれませんが、雷が光ってから音が聞こえるまでの時間差や、花火が光ってから「ドーン」と響くまでの間――そんな経験から、音に“速さ”があることを体感したことのある方も多いのではないでしょうか。

この音の速さを「目で見る」ことはできないか?それが、今回の実験の出発点でした。しかも平面的に音が広がっていく様子を可視化できたら面白いのでは?

使用するセンサーの仕組みはとてもシンプルです。マイクとLEDを組み合わせて、「音を検知したら光る」というだけ。センサー同士が通信したり、複雑な制御をしたりといったことはしません。

ただし、平面に並べるとなると、必要なセンサーの数は膨大になります。数百個ものセンサーを自分の手ではんだ付けして作るのはさすがに無理がある……。そこで、部品をすべて表面実装のものにして、組み立てを外注することにしました。JLCCPCBでコストの見積もりをしてみると、なんとか現実的なラインに乗せられそうだとわかり、プロジェクトを進めることにしました。

実際に作ったセンサーの技術的な話はProtoPediaにまとめましたので興味ある方はこちらへどうぞ↓

音を「見る」!(ProtoPedia)


そんなこんなで、なんとか200個のセンサーを作り上げて、いざ実験!その様子をまとめたのが、冒頭に掲載した動画です。

今回の実験は、ミニバスケットコートが1面入る程度の体育館を使って行いました。広さとしては、長辺がだいたい30メートル弱といったところ。その中で約20メートルの直線上に、200個のセンサーを等間隔に並べてみました。音速は約秒速340メートルですから、片端で発した音が反対側に届くまでにかかる時間は、およそ0.06秒。ほんの一瞬ですが、センサーが順番にパパパッと光っていくことで、そのわずかな時間差が「目で見て」わかりました。

実際の実験動画がこちらです:


さて次に平面にセンサーを敷き詰めます。200個あるので、横10個x縦20個のマトリクス状に敷き詰めました。これで音の広がりを観測することはできるか…?まずは端で手を叩いてみます。


広がっていくのがわかるようなわからないような…
次に中心で手を叩いてみます

これはよくわかります!中心から円状に光が広がっていくのがわかりました!
音速というものは理屈としては理解していたつもりでも、実際に音が「目に見える」ことで、音が空気を伝わっていくという現象をはっきり実感することができました。


さて、実験の動画を見ていると、出した音に反応していると思われる光以外にも、いろいろなタイミングで光っている部分が観察されます。これは何でしょう?

おそらく、なんですが、体育館の壁から反射してきた音に反応して光っているのではないかと思います。いくつか撮った動画の中に、わかりやすい瞬間が映っていました。光が奥方向に向かって進んだあと、奥から手前に向かって戻って来る光があります。これは体育館の奥側の壁で反射してきた音に反応したものだと思われます。ほかのノイズみたいな光たちも体育館の側面や背面から反射してきた音に反応したのかなと。
この反射の影響を排除するためには屋外の壁のない広い空間で実験する必要があります。そうすれば進んでいく音だけを純粋に見ることができるはず。ぜひいつか実験してみたいですね。


このセンサー、せっかくなので販売しています!


ーーーーーーーーー

このテーマは昔からさまざまな方法で取り組まれていて、有名な例としてはNHKの「大科学実験」があります。

音の速さを見てみよう-ダイジェスト/大科学実験

旗を持った人が等間隔に並び、列の端で鳴った音を聞いた瞬間に旗を上げる――音の伝わりが、旗が順番に上がっていく様子で“見える”という実験です。

この放送は2010年のものでしたが、私自身子供の頃にNHK教育番組や、学研の雑誌、理科の教科書などで似たような実験を見た記憶があります。この方式は多くの人と綿密な訓練が必要で、個人で再現するのはなかなかハードルが高いんですよね。YouTubeにも同じように人が並んだり、センサーを使って音速を可視化する動画が色々と投稿されています。





2025/03/02

M5Dialのオレンジリング差し替え

event_note3月 02, 2025 forumNo comments

 


M5Dialの液晶周りのオレンジ色のリングを差し替えできるモデルのデータを作りました。

自分の作品に組み込んで使いたいけどオレンジ色のリングが主張強すぎて雰囲気合わないんだよなぁという人向けのニッチなデータです。

2024/09/20

歩くロボットの工作キット スライドクランク機構の作り方

event_note9月 20, 2024 forumNo comments

 

歩くロボット工作キットをMakerFaireTokyo2024で試験販売しました

このページはキットの組立説明のページです


■キットに含まれるもの

  • ロボットの構造パーツ
  • モーターユニット
  • 電池ボックス
  • ネジ8本(+予備1本)
  • ハトメ4個


■ご自身で準備していただくもの

  • +ドライバー(サイズ:1番)
  • 単三電池1本
  • ニッパー(無くてもOKですが、あればよりきれいに部品を切り離せます)


■3Dプリント部分をご自身で印刷できるモデルも公開しました

https://www.thingiverse.com/thing:6957687

すべてのパーツがつながったデータも公開していますが、こちらをそのまま印刷しても動画のように手で簡単にちぎり取ることは出来ません。部品の切り離しにはニッパーが必要になります。(キットで販売しているものは特別な印刷方法で出力しています)

各部品を個別に印刷することをおすすめします。


■組み立て手順



■スライドクランク機構とは

スライダクランクとかスライダークランクと呼んだりします。回転するクランクとスライドする軸からなる機構です。クランクが1回転するとスライドする部分が1往復します。往復運動と回転運動を変換することができ、蒸気機関や車のエンジンのピストンもこの機構が使われています。


通常は直線運動と回転運動の変換に使う機構ですが、今回は歩行ロボットの足の軌道を作るために、クランクにつながるリンクを延長して使っています

■Q&A
足がスムーズに動かない
→ネジを締めすぎてハトメがプラスチックにめり込んでいる可能性があります。ネジを少しだけ緩めてみてください。

動画とは逆方向に歩いてしまう
→コネクタを裏表逆に取り付けてみてください

電池を入れたが動かない
→電池の電圧が低いと回りはじめが動かない場合があります、スイッチをオンにした状態でクランクを指で回転させて勢いをつけてみてください。充電式のニッケル水素電池は電圧が1.2Vのため動きが弱い場合があるので、アルカリ電池(1.5V)を使用してみてください。

■注意事項
プラスチック部分はFFF式3Dプリンタを使用して出力しております。積層痕やレイヤーごとの造形エラーが見られる場合がありますが、ロボットの動作に問題ないと判断したものを販売しております。
クランクの部品やネジ・ハトメなど小さい部品があります、お子様の誤飲の恐れがありますので注意して取り扱ってください
ハンダやネジの先端など尖った部分があります。お取り扱いにはご注意ください
部品の不良がありましたらページ下の「Contact」のリンクよりメッセージをお送りください




2024/06/29

歩くロボットの工作キット開発

地元のお祭りで歩くロボットの工作屋さんをしました。この記事はその時に設計した歩くロボットの工作キットの構造とどんなことを考えて設計したかについての記録です。

2023/11/18

M1 MACでM5Stack ATOM S3 をUIFlowで使う試行錯誤

event_note11月 18, 2023 forumNo comments

 

M5Stack社のATOM S3を手に入れたので遊んでみたいと思います。M1 Macで設定をした際に色々と大変だったので備忘録です。これを書いている時の環境は2023年11月現在の最新のOSはSonoma 14.1.1、UIFlow関連のバージョンもこの時点での最新のものを使用しています。

ATOM S3は液晶画面がついた小さなマイコンボードです。ESP32-S3というコントローラを搭載していて、センサーを繋いだりモーター繋いだり、WiFiもついているので色々なことができそうです。バッテリーは積んでいないので、電源は外部から供給します。

https://www.switch-science.com/products/8670


このATOMS3にプログラムを書き込む方法はいくつかあるようなのですが、UIFlowというブラウザで動作する開発環境を使ってみます。この方法ではプログラムの書き込みの際にケーブルで繋げる必要はなく、WiFiを通じて無線で行うことができます。この無線でのプログラムの書き込みを可能にするために、ATOM S3のファームウェアを書き換えてあげなければ行けないそうです。

セットアップの流れについてはこちらの記事に色々と助けてもらいました。ありがとうございました。

https://qiita.com/youtoy/items/ecc61ae5eb1cb57cc64b


ファームウェア書き換え編

まずファームウェアを書き込むソフトをダウンロードします

ここからUIFLOW FIRMWARE BURNING TOOLをダウンロード

https://docs.m5stack.com/en/download

ダウンロードしたZipファイルを解凍して中にあるm5burner.app(Windowsの場合はm5burner.exe)を起動します。

すると早速エラーが出ました。とりあえず「キャンセル」で閉じます。
左上のリンゴマークを押して、システム設定の中のプライバシーとセキュリティの中をスクロールするとAppがブロックされた旨が書かれています。「このまま開く」を押します。プライバシーとセキュリティのポップアップが出るのでMacのパスワードを入れてください。
するとこんなポップアップが出てくるので「開く」で開きます。それでも開けないときはm5burner.appのファイルをアプリケーションフォルダに移動してから開いてみてください。
初期画面が開きました。起動したら自動で最新版にアップデートしたらしく、右下にrestartしますかとメッセージが出ています。restartを押すとm5burnerが再起動します。

パソコンとATOM S3をUSBケーブルで繋いでください。
再起動したら左のリストの中からATOM S3を選択します。この時点でのファームウェアの最新versionはAlpha-28でした。ダウンロードを押してm5burner内にこのファームウェアをダウンロードします。さあ、ここでBurnを押せばATOM S3にファームウェアが書き込まれ…
エラーが出ました。ログインしなければならないそうです。なんで?
しょうがないのでここからアカウントを作ります。
Resisterを押すとアカウント作成ページに飛ぶので、そこでアカウントを作成します。アカウントが作成できたらまたm5burnerに戻ってきてEmailとパスワードを入力してログイン。
無事ログインができたらBurnを押して書き込みのセッティングを行います。
さあ、Nextを押していよいよ書き込み…
エラー出ました…
--chip auto --port /dev/tty.usbmodem2201 --baud 1500000 --before default_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x9000 /Applications/M5Burner.app/Contents/Resources/packages/tmp/uiflow2-cfg.bin
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

エラーの文章で検索すると以下の記事が出てきました。ありがたい。

記事に従ってXcode Command Line Toolをインストールします。画面右上の虫眼鏡マークをクリックするとSpotlight検索が出てくるのでそこにTerminalと打ち込んで「ターミナル.app」をクリックして立ち上げます。
立ち上がったらそのまま以下の文を打ち込み、returnを押してください。

xcode-select --install

するとこのようなポップアップが出るのでインストールをしてください。

Xcode Command Line Tool インストールが終わったら再度試してみます。
あ、書き込む前にATOM S3の側面ボタンを長押しして書き込みモードにします。ボタンの隙間からLEDが内部で光っているのが見えたら書き込みモードに入っています。
COMはATOM S3を繋いでいるUSBポートの番号を選びます。どれだかわからないときはこの画面のままATOM S3を外したり繋いだりしてください。増えたのがATOM S3が繋がっているポートです。
Startを押すとアカウントの紐づけに関するWarningが出てきます。これでこのATOM S3の個体がアカウントに紐づきます。YESを押して次へ。
Nameは好きに設定できるようです。どの個体か見分けるための用途です。
Nextを押すと元の画面に戻るのでまたStartを押すとWIFIの設定画面になります。WIFI SSIDとWIFI Passwordは自身のWiFiの情報を入力してください。プログラムをするPCと同じWiFiに繋がっている必要があります。また、ATOM S3は2.4GHz帯にしか対応していないので注意です。Timezoneは関係あるのかわかりませんが一応設定しておきます、日本はGMT+9です。その他の項目はデフォルトのままいじっていません。
NEXTを押して

ついに書き込みに成功しました!USBを指し直すと、ATOM S3にもUIFLOW2と表示され、WiFiにも無事繋がっているようです
ここから先、ATOM S3とパソコンを直接USB-Cケーブルで繋ぐ必要はありません。ATOM S3へは電源供給だけのケーブルで大丈夫です。パソコンとATOM S3が設定した同じWiFiネットワークに繋がっていることだけ注意してください。

UIFlow編

UIFlow2.0にアクセスします
右上の人のマークをクリックして先程作ったアカウントでログインします。
ログインができたら画面下にある「Select Device」をクリック。すると先程UIFlow2をインストールした個体がありました。それをクリックしたら画面右下のConfirmをクリック。
これでプログラムの書き込み先が先程設定した個体になりました。試しに画面に"1"を表示して、画面の色を青くするプログラムを書いてみます。画面下のRunを押すと書き込まれます。
書き込み成功のメッセージが出るのですが、一瞬で消えるのでスクリーンショットを取り損ないました。なにはともあれATOM S3のスクリーンはこんな感じに青くなりました。
無事スクリーンは青くなりましたが、あれ?print "1"の部分が表示されていない…?
画面に文字を表示するやり方が違うようです。

labelという機能を使うようです。以下の画面から、ATOM S3の画面に何を表示させるかのレイアウトを編集できます。ここでLabelを画面上にマウスでドラッグして「label0」というものを作ります。
プログラムの方でこのlabel0に”Hello”という文字を代入してあげると…
あれ?変わらないじゃん!

どうやら背景色を設定するタイミングがいけなかったようです。Helloは書かれているけど、背景色が上書きされて見えなくなっているのかな。
Set screen background colorをLoopの中ではなくSetupの中に移動しました。
これでどうだ

Hello!!!
成功!

RUNとDownloadの違い

プログラムを実行するのにRunというボタンとDownloadというボタンの2つがあります。(現在のUIFlowの右側のボタンにはDownloadという文字は書いてありませんが、昔のバージョンのUIFlowにはDownloadと書いてあったようです)

RUN
1回だけ自分のプログラムを実行します。自分のプログラムが動くのはUIFlowとオンラインで繋いでいる間だけで、ATOM S3の電源を切って再度入れ直すとリセットされ、書き込んだ自分のプログラムは消えてます。

Download
ATOM S3に自分の作ったプログラムを書き込んで、電源が入ったときに最初に実行するプログラムにします。UIFlowとオンラインで繋いでなくてもATOM S3が単体で動作できるようになります。

公式の説明はこんな感じです。
原文:
https://docs.m5stack.com/en/quick_start/atoms3/uiflow
The Run/Download of the program:
1. The Run button (triangle) in the menu bar of UIFlow online version is the Single test operation, and the device will re-enter the online programming mode after reset.
2. The download button will download the current program to the device and configure it to start automatically. Note: If the downloaded program involves network communication, please add a WiFi connection program at the beginning of the program. If you need to re-enter the programming mode in offline operation mode, you can refer to the mode switching instructions at the bottom of this document.

Runで動かしているうちはATOM S3はonline programming modeとなっていて、新しいプログラムを受け付けるモードです、DownloadをするとATOM S3はApp modeになり、自分のプログラムを実行するモードになります。再びUIFlowと繋いで新しいプログラムを書き込むためにはonline programming modeにしなければなりません。このやり方がなぜかどこにもはっきりと書いてないのですが、ATOM S3の電源を切り、液晶画面スイッチを押しながら電源を入れるとonline programming modeに入れます。
m5burnerのConfigureからもできるらしいのですが、UIFlow使い始めている時点でm5burnerはもう起動してないし、m5burnerからまたログインしてからじゃないとConfigureに入れないし、入ってもどうすればonline programming modeにできるのかわからないし、ということで電源を切って入れ直す方が簡単かと思います。

なお、一度online programming modeに入り直すと、Appモードに単体では戻れません。電源をもう一度入れ直してもonline programming modeにしかならないので注意してください。Downloadで書き込んだプログラムは消えてはいないんだろうけど、UIFlowでまたプログラムを書き直さないとだめみたいです。。。

2022/03/08

iPhoneで手乗り擬似ホログラム

event_note3月 08, 2022 forumNo comments



iPhoneの上で踊る手乗り娘を作ってみました。

ホログラム…っぽいですが、厳密には違うので「擬似ホログラム」です。でも結構立体的に見えます。

2021/08/20

回転双曲面体

event_note8月 20, 2021 forumNo comments

2枚の円盤の間にたくさんのゴム紐を渡しています。円盤を互いにひねると、綺麗な曲面が現れます。これが「回転双曲面体」です。双曲線を回転させるとこの形になります。

作り方はこちら。

 

instructables にも作り方をのせています


「双曲線」で一番有名なのは y=1/x ですね


もうちょっと一般化して書くとこんな感じ

ほら、これを回転させたらこんな立体になる気がしませんか?

ひねり具合によって、曲率を変えることができます。

この回転双曲面体、工学的には食違い軸歯車の形状などに用いられます。

建築の分野でも使われていて、神戸ポートタワーもこの形状ですね!