United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

グッドエアーカナリア - ビルドガイド

グッドエアーカナリア(Good Air Canary)は様々な大気質のレベル(良い、弱悪い、強悪い、危険)ごとにアニメーションを表示します。さらに「窓をあけてください」と訴える音声を録音・再生することも可能です。

グッドエアーカナリアはAir Quality Kit(またはDesignSpark Environmental Sensor Development Kit、通称ESDK)のR&D段階から進化して生まれたものです。公害の第一人者から産業用センサーまで、様々な話を聞きましたが、最も驚いたのは2m立方体の小屋で仕事をしながら、文字通り呼吸器系と認知器の健康を害している自分に言い聞かせたことです。もちろん、妻や友人、一緒に仕事をしてきたRSの社員にとっては、私が考えすぎだということはショックではありませんでした。しかし、真面目に考えると平均的な大きさのホームオフィスでドアを閉めて1~2時間仕事をすると、健康専門家がアドバイスしないようなレベルで仕事をしようとしていることはほぼ間違いないのです。


CO2濃度が高いと、認知能力が劇的に低下します。図はSatish 2012より引用

ハーバード大学の研究により、高CO2環境で働くと単純に「バカになる」ことが明らかになりました(その他の リンク)。では、何が「高すぎる」のでしょうか?CO2はppm(百万分の一)単位で測定されます。屋外のバックグランドのCO2は約500ppmで、屋内で1000ppmになるのは良くありません。しかし私の部屋では、1時間普通に呼吸しているだけで4000ppmになります(エキサイティングなプロジェクトでズームコールをすると、もっと早くなるかもしれません!)。私は「技術的」なCO2モニターを持っていましたが、これらのppm単位は技術的な背景を持たない人々にとっては、むしろ異質なものに感じられます。だから、もっと身近に感じられるような楽しいギズモを作りたかったのです。

「炭鉱のカナリア」の話はよく知られていますが、炭鉱労働者はカナリアを「早期警報ガス検出器」として使っていました。カナリアは微量の有毒ガスに触れると、止まり木から落ちてしまうのを利用していたのです。人間はもっと多くの有毒ガスに対処できるため、すばやく逃げ帰ることができるのです。鉱山の有毒ガスは無味無臭のものが多いので、発見が難しいです。また、このことをきちんと調べていくと、カナリアを瀕死の状態から蘇らせる「蘇生器」を作った人がいることを知ったのも収穫でした。

カナリア蘇生用ケージ、酸素ボンベ付き、Siebe Gorman & Co. Ltd, London (https://museumcrush.org/)

このIoT Canaryが、閉塞感のある部屋にいることで経験する「死」や「ゾンビ」のような状態から、あなたを連れ戻してくれることを期待しています。しかし、この科学的なデータは、上司に「健康のためだけでなく、創造的でプロフェッショナルな成果を出すためにも、外に出て散歩する必要がある」と主張するためのものなのです。4000ppmの環境では、横方向の思考ができないことが科学的に証明されているのです。窓を開けて健康を第一に考え、仕事と健康のバランスを取りましょう。

以下のDIYガイドでは、魅力的なデスクトップのリマインダーを作る方法だけでなく、IoT機能によって外部データソースの任意の数のセンサーに接続することができることを紹介しています。カナリアは花粉の量、強風、森林火災について警告することができます。カナリアは家の中でも世界でも、環境に対して行動を起こすべきことを警告してくれるのです。

このプロジェクトはAir Quality ESDK Kitで動作します。もしあなたがIoTに慣れていないなら、IoT学習の最初のステージとして作ることをお勧めします。もしあなたがIoTに慣れているなら、カナリアを思いのままにカスタマイズしてみてください。

部品、工具、備品

ここで紹介するハンドツールはかなり基本的なもので、カナリアの構造を構築するために派手なワークショップは必要ないことを意図しています。さらに、基本的なプリント基板を作る必要があるのではんだごてと、もちろん基本的なプロトタイピングボードといくつかの部品が必要ですが、特別なプリント基板組み立てを必要とするものはありません。

3Dプリント関連:

  • 3Dプリンター(または下記のリンクからファイルをプリントできる環境)
  • ホワイトPLAフィラメント (832-0223) (+1色の別の色。例:黄色 (832-0232) など)
  • プリンターノズル0.6mm(0.4mmでも可)

取り付け具および装具:

  • 真鍮インサート 100個入りx1袋 (027-8534)
  • M3 x 6mm 六角穴付きボルト 50個入り x1袋 (028-0981)
  • M3 x 6mm 六角皿ねじ 50個入り x1袋 (304-4788)
  • 4mm(径)x 1mm(厚さ)マグネット(LINK)

電子部品:

SBC/基板:

  • Arduino Nano 33 IoT (192-7589)
  • Adafruit 16チャンネル12ビットPWM/サーボドライバー (LINK)
  • Adafruit Audio FX Sound Board + 2x2W Amp (LINK)
  • Adafruit Audio FXサウンドボード + 2x2Wアンプ (LINK)
  • 20x44mm両面プロトタイプ基板 (上記のセット/在庫の一部である可能性大)

消耗品:

  • 基板配線用の線
  • 瞬間接着剤 (3gのチューブが1本で十分)
  • セロテープ / マスキングテープ
  • つまみを刺す楊枝
  • サンドペーパー(400番、600番、1000番を提案)

汎用工具:

  • はんだごて、はんだなど
  • 小型のハンドファイル - 平形、丸形、角型 (金属およびプラスチックのやすりがけ用)
  • 小型ブロートーチ (またははんだごて) - 真鍮インサートを挿入するため
  • 2.5mm六角レンチ/ドライバー (ねじ用)
  • スカルペルナイフ / 工作用小刀
  • キャリパー
  • ホットメルト グルーガン
  • ドリル/ハンドドリルと、それ用の1.5mm、3.0mm、3.5mm、4.0mmのドリルビット

GitHub / ソフトウェア: Link

セクション1:準備ガイド

パート1:印刷用3Dファイルをダウンロードする。添付ファイルを見る ESDK 3DP

Solid Worksのファイルを開くと、上記のアセンブリGA(General Assembly)が表示されます。印刷用の個々のSTL部品はすべて揃っていますのでご安心ください。

ファイルはLINKで見ることができるフリーのSTLです。

パート2:STLの3Dプリント

これは私のエンダー3でのビルドプレートのレイアウトです。ベッドサイズは235x235mmなので、たくさん詰め込むことができますが、プリンターの設定によほど自信がある場合のみ行うことをお勧めします。初めての方は、少しずつプリントしてください。

全てのパーツを見るとほとんどのパーツ真っ平な面があることに気づくと思います。これは、3Dプリンターの「ベッド」に載せることを想定しています。ほとんどのパーツは、組み立て用のサポート材があまり必要ないように設計されています。ただし、「ダブルクロー」(カナリアの足)には平らな面がないので、サポート材が必要です。

このように2色で印刷する必要はなく、好きな色で成形してみてください。

パート3:ブローイング/仕上げ

この作業は任意ですがミニブロートーチの使用に自信のある方はぜひ行ってみてください。下手に作業すると火傷します、ご注意ください。本作業の目的はストリンギング(印刷後に残ったクモの巣状のPLAの破片)を取り除くことで、練習すればすぐに簡単にできるようになります。

パート4:3Dプリント部品の仕上げ

最後にプリントした部品を仕上げていきます、これをやることでより良く長持ちさせられます。楽しい映画や音楽を聴きながら、ゆっくりとしたスペースで作業することをお勧めします。

ドリル、ナイフ、プライヤーを使ってサポート材、ラフエッジを取り除き、小さな外観上の不釣り合いを整えます。

補足:ドリルの刃を色付けしていますが、これは他のサイズと間違えないようにするです。この作業は簡単に行えますが、穴を「埋め戻す」ことには注意してください。プリントされた穴はそのままで使用できますので、無理にドリルで開けようとしないでください。

サーボホールの穴はサーボスクリューがちょうど収まるように、1.5mmのビットで拡大する必要があります。これは、サーボに付属している「セルフタッピング」ネジを使用する唯一のパーツです。

3Dプリントで作られた穴はボロボロになりやすく、それほど正確でもないです。その為、「最初から穴を合わせる」のではなく、穴は少し小さめに設計した方が良いです(例えばネジを通す穴はCADでは3.2mmですが、実際のプリントでは約2.8mmになってしまうため、3.0mmに拡大する等)。この知見はダイソンで学んだことですが、ネジの力が強すぎてパーツが割れることもないので、覚えておいて損はないでしょう。

上の画像は一部のパーツとその作成方法を示しています。

ベースプレートはハンドカウンターシンクツールを使って穴を「平らに」して拡大するのが効果的です。このような工具(DIYショップのドリルビットセット等)をお持ちでない場合は、大きめのドリルビット(8mmなど)を使うと、ネジがきれいにはまるようにできます。ただし、ドリル刃は鋭いので、テーブルの上に平らに置いて滑らないように注意してください。

白色PLAパーツはこれで十分整えることができたと思います。マウント穴やネジ穴がとても小さくなってしまった場合は、必要に応じて大きくしてください。しかし、どの穴がどのくらいの大きさなのかわからなくなった際は、真鍮のインサートを入れ始めると、どれがどの穴なのかがわかりますので、迷ったら数ステップ待ってください。

シャドウギャップ:これは、アップル社製以外の製品に見られる特徴です(アップル社は統計的公差を用いて、各パーツを対応するパーツと正確なサイズで組み立てています)。統一的な公差を持つ部品は、ある程度の不完全さを想定しなければならないため、デザイナーやエンジニアは部品間の「隙間」を強調しています。そのため、多くのプラスチック製品には意図的に「隙間」が作られています。これは平らにしようとするよりも、見た目的にも良く見えます。

今回のプリント部品では、プリンターがうまく動作していても図のように細かいやすりを使って「L字型」の隙間を整える必要があります。コツは小さいながらもしっかりとした圧力を与えて、徐々に長く、そして優しくストロークしていくことです。自信がない方はプラスチックの切れ端等で練習してみてください。

2枚目の写真は、プラスチックがどのように組み合わされるかをクローズアップしたものです。この「コツ」によって、他のわずかな隙間によって全体的な見た目が損なわれることがなくなります。ぜひ皆様のモデルでも試してみてください。

パート5:真鍮製ネジ付きインサート-挿入技術

以前のチュートリアルやESDKキットでPLAにネジ付きインサートを挿入する方法をより詳しく説明していますので、より詳しい説明が必要な場合はそれらをご覧ください。

ダイソンでこの技術を学んで以来、私はこのインサート技術無しには仕事ができなくなりました。勿論、1回しか使えない「セルフタッピング」式のネジで設計することもできましたし、もっと複雑な部品をプリントして、多くの部品を1つにまとめることもできましたが、これはオープンソースの精神にそぐわない気がしたのです。再現性を高くするためにはプロジェクト全体を再プリントすることなく、1つの部品を交換できるように設定することが必要であると考えました。このプロジェクトで製作ミスを起こす可能性は低いですが、ないわけではありません。例えば接着剤は元に戻すことができないので、接着剤を使わないようにしています。

黄色のパーツも同様です。長いネジ棒を使用していることにお気づきでしょうか?これはM3のネジ棒にプラスチックチューブを取り付けた自作のハンドルです。この理由は精度を上げるためと、熱伝導が指に届くまで時間がかかるからです。これがない場合はできるだけ長さのあるM3ボルトを使ってください。

これで準備は完了です。さあ、ここからが楽しいところです...

.....................................................................................................................................................

さて、次はPete Milne氏によるコントローラー製作のサポート記事にジャンプする必要があります。

では、またここでお会いしましょう。

.....................................................................................................................................................

セクション2:回路の構築

はんだ付けの「ステップバイステップ」ではなく、回路図に則った最終的な結果だけを示しています。プリント基板の組み立てに「唯一の方法」はありませんが、コネクタの位置決めを慎重に行うことが重要だと思いました。例えば、eINKスクリーンの配線が入りやすいようにスペースを確保するなどです。

もちろん、Mini PCB(Arduinoなど)を直接はんだ付けしてヘッダーピンを使わないようにすることもできますが、これは失敗すると大変なことになると思います。

最後に私がサーボボードで行った小さな工夫は、直角のヘッダーピンをプリント基板の下に使用し、これをメスのヘッダーソケットに差し込むことです。しかし、6ピンしかないのでシンプルにするために、緑のプリント基板に直接はんだ付けすることをお勧めします。

3Dパーツの準備がすべて終わったので次は電子部品の固定に取り掛かります。このセクションでは組み立ての順番が決まっているものがありますので、最初にざっと読むことをお勧めします(例えばスクリーンを取り付ける前に、スクリーンの白いパーツを組み合わせる必要があります)。

セクション3:組み立てガイド

パート1:サーボ、ボタン、スクリーン、スピーカーの取り付け

この部分はおそらくこのプロジェクトの中で最も緊密な部分の一つで製作の難所の一つです。この後はほとんど「下り坂」ですのでご安心ください。

このようにコンパクトにした理由はこのパーツがビルドの他の寸法を決めるためです。もし、スクリーンの周りにもっと大きな「フレーム」や「ベゼル」があれば黄色い部分の幅が白い部分の半分になるなど、他の部分も大きくする必要があります。

ほとんどのサーボはネジと「ホーン」が付属して販売されています。私は一般的な9gのサーボを使用しました。しかし、ホーンの最後のネジの締め付けには注意が必要です。というのも、ネジが曲がって入ってしまいがちでそうなると動作がおかしくなってしまいます。

プリント基板は図のようにネジ1本で取り付けます(2本目のネジは後で追加します)。このパーツは「DIY」(自分でサイズに合わせてカットすること)なので、やすりをかけてフィットさせる必要があります。後で微調整するよりも、今のうちにやっておいた方が良いでしょう(ボタンがスムーズに押せるように)。

これらのネジはスクリーンを付ける前に取り付けておくことが重要です。最初にトッププレートを組み立てます。下図のように、シャドウギャップが2つのパーツの間にうまく収まっていることを確認します。合わない場合はやすりで削って調整します。次にバックプレートとロワーシェルフをあらかじめ組み立て、図のようにスクリーンを取り付ける位置に2本のネジを取り付けます。

このステップはあなたがどれだけきれいにしたいかに尽きます。パーツはかなり程良い公差で組み合わせることができますが、完璧に組み立てたい場合は2つのパーツの根元の差を軽くやすりで削っておくことをお勧めします。

スクリーンを図のように所定の位置にスライドさせてください。それをスクリーンサポートの上に置き、プリント基板を固定しているのと同じようにねじ込みます。ここでもボタンがうまく動くかどうか確認してください。ここでは、ネジがどのように動くかを示すために、スピーカーウォールを所定の位置に置いています。もちろん、図のようにスピーカーも固定してください。

スピーカーからの配線は短くした方が抵抗が減り良い音になります。図のように15cm程度の長さにします。スピーカーがスタッドに摩擦で固定できますが、もし必要であればホットメルトをほんの少し加えて固定することをお勧めします。産業界では「ヒートステック」と呼ばれるものをよく使いますが、これは黄色の突起したスタッドをリベットのように溶かしてスピーカーにかぶせるものです。これは可能ですが、私の好みからすると少し強引なものになってしまいます。

パート2:プリント基板の取り付け

プリント基板「マザーボード」を図のように取り付けてください。プリント基板を所定の位置に締め付けすぎないように注意してください。図のようにケーブルレストレイントをねじ込みます(ネジを緩めてから、元の位置に追加します)。

スイッチとソケットを図のように配線してください。

図のように黄色のRight Wallを追加します。このネジはボールノーズヘックスキーを使って手際よく操作しないと、うまくはまりません。正直なところこのネジがなくても組み立ては可能ですが、念のためつけておいた方が良いでしょう。

サーボリードを図のように差し込みます、向きに注意してください。同様にeINKディスプレイの配線にも注意してください。スピーカーケーブルも図のように取り付けてください。

パート3:オートマタホイール

サーボからホーンのネジを外します。ドリルややすりでディスクを削り、はめ込みます。

ホーンを手に取り、ハウジングにしっかりと押し込んでください。穴の部分をやすりで削る必要があるかもしれませんが、緩くなくぴったりとはまるように設計されていますので中心を保つことができます。真鍮のインサートがまだの場合はここで追加してください。

これは全てを分解することなくホイールの角度を微調整できる便利なパーツです。一方向に「フルロック」で取り付け、サーボの回転方向いっぱいまで回します。図のようにホーンスクリューをサーボにねじ込みます。

3穴キャリブレーションディスクを図のように取り付けます。アクセルをスライドさせ所定の位置にねじ込みます。

これは言葉で説明するのが難しいのですが、このキャリブレーションディスクのポイントは垂直方向と水平方向に移動できることです。これは、軸の長さに方向の組み立て/3Dプリントの誤差を吸収し、サーボ側から反対側まで完全に直線にすることができます。これはカナリアの翼が動き始めるとより明らかになります。正直に言うと、このポイントは工学オタクが「満足する」するためのもので、行わなくてもカナリアはかなりうまく動きます。でも、ここまで読んでくださっているあなたは、おそらくそのような方だと思いますのでキャリブレーションを楽しんでください。

パート4:カナリア

ここまで組み立てればお分かりかと思いますが、私は「ユーザーが修理できる・調整できる」ネジを除きすべてのネジをできるだけ隠したいという思いがあります。3Dプリンターはどれも微妙に違うのでカナリアとオートマタメカニズムは、まさに「ちょうどよく」動作するように調整する必要があります。ジグソーパズルやペイントバイナンバーのように、ただ完成させればいいというものではない点が面白いです。これらの各要素は美観を変えることができ(羽を入れ替えたり、色を印刷したり、コードで動きを調整したり)、プロジェクトに自分なりの華やかさを与えることができるのです。IoTのベースユニットに全く別のオートマタを載せることもできるかもしれません。

そのため、以下の手順は「デフォルト」と考えていただき必要に応じて自分なりにアレンジして楽しんでください。

カナリアの足の中心穴を開けビルドサポートを慎重に取り外します。最後に、図のように真鍮インサートを挿入します。

1.0mmのステンレス線(クリップ線でも可)をまっすぐに伸ばし、30mmくらいの長さに2本切り、片方を図のようにそれぞれの穴に瞬間接着剤で固定します。1.0mmのドリルビット(図はピンバイス)で穴をきれいにしておくことで、より少ない労力で取り付けられるのでお勧めです。すべてのセッティングが終わったら、ワイヤーをトリミングしカナリア本体にはめ込みます。

足を付けたら、後は図のようにくちばし、胸部、目を付けていきます。この部分は組み立ての中で最も目につく部分なので、最初にフィット感を確認し、メスややすりを使ってぴったりフィットさせることをお勧めします。というのも、これらは組み立ての中で最も目につく部分なので、きちんと仕上げる価値があるためです。

13mmのウイングピングはカナリア本体に意図的にタイトにフィットさせています。この部分が力が入りやすいからです。しっかりと押し込んで(きれいな面や物に当てて)、ノギスの裏を使って4点とも同じ距離だけ突き出ていることを確認してください。これができたら最小限の瞬間接着剤で固定します。

1.0mmのドリルビットで図のように穴を開けドリルビットより少し大きめの穴を開けるように「くねくね」すると、滑らかに動くようになります。次に(足と同じように)2x 30mmセクションのストレートワイヤーを先端をやすりで削り、図のように差し込みます。ワイヤーがまっすぐでない場合はペンチでできるだけまっすぐになるようにします。

翼の7つの穴のうち一番小さい穴の不具合はやすりで削り取れます。直径4mm、厚さ1mmのマグネットを1つ、図の穴の一番上の段に差し込みます。次に、磁石のスタックを裏返し(極性を逆にするため)、対応する鏡の位置に2個目を挿入します。これで翼は互いに引き合うはずです。

磁石が摩擦で固定されるはずです(ぴったりとはまります)。そうでない場合は図のようにホットメルトをほんの少し加えます。(ホットメルトは、後で磁石を移動させることができます)。火傷しないように注意してください。コツは唾液を付けた指を使って、接着剤のビードを押し付け、隙間を埋めて滑らかにすることです。この方法は接着剤の熱質量が指につけた唾液に比べて小さい場合にのみ有効なので、大量の接着剤で行わないようにしましょう(指につけた唾液の熱質量が小さい場合は実験用手袋を着用しましょう。また、肌が弱い人や心配な人も同様です)。

スタンドを作るには図のように接着します。この時「足置き」の出っ張りが裏側になるように注意してください。紙(または角材)を使って直角であることを確認します。これが正しくないとカナリアはまっすぐお家に入りません。

止まり木(パーチ)を作ります、この木がカナリアが回転するための軸になります。M3 x 16 六角ボルトの頭を熱し、図のように差し込みます。真鍮製のインサートを穴の小さい方の止まり木につけます。そして、これらをアセンブリに通してください。もし動きが悪いようならやすりで削り、中に鉛筆の芯を少し入れ(黒煙は潤滑剤です)、もし緩すぎるようなら、スーパーグルーを薄く塗り、乾かしてから再びやすりで削って、自由に動くようにします。

パート5:カナリアとベースユニットの接続

3.0mmのビットで図のようにアームを取り付けます。この時、アームが割れないようにゆっくりと最小限の圧力で行ってください。迷ったら丸やすりを使うと良いです。1.0mmの針金(またはペーパークリップ)を図のように挿入し、3Dプリント素材の端から15~16mmほどはみ出るように削り取ります。短すぎるよりも長すぎる方が良いので、短く刈り込んでください。

アームを図のようにネジで固定し自由に動かせるようにします。真鍮インサートがボルトを固定するはずですが、緩すぎる場合はPTFEテープやホットメルト、ネジロックを使って固定してください。次にワイヤーの先端をマグネットの下にある穴に差し込みます。下のホイールを回転させると(キーまたはコードで)、アームがマグネットの保持から解放され、前方に傾き止まり木から落ちます。アームを元の位置に戻すと、翼が再び取り付けられます。

パート6:サーボ開始位置

これで上図のように出来上がるはずです。下はオートマタの「円盤」のクローズアップです。キーを使ってサーボを反時計回りにゆっくりと回し、サーボを停止させてください。その角度がスタート位置となります。

この写真は本体に電源を投入するまでのセットアップの様子です:

  • サーボマウントディスクはフルロックから40度ほどずれている
  • 2つのメインホイールはアームが自由に動くような間隔を取っている
    メインホールのネジ穴はサーボのネジ穴と180度ずれている
  • アームを固定しているボルトは、キーで横から見て10時くらいの位置にある

これは理想的な始動位置にかなり近いですが、キーを時計回りに180度回転させカナリアが羽ばたき、落下してアームを「切断」し、完全に「死んだ」状態になるかどうかを確認します。これがすべてうまくいけばコードは初回でほぼうまくいくはずです。

この時点で組み立てを中断し、コードパートに進むことをお勧めします。なぜなら、ArduinoとFXサウンドボードのMicro USBコネクションにアクセスする必要があり、そのためにはベースパネルとバックパネルを取り外さなければならないからです。しかし、もし後でこれらを取り外すことに抵抗がなければ、そのまま作業を続けてください。

パート7:バックプレートとベースプレート

バックプレートとベースプレートのフィット感を確認し(きつければやすりで削る)、ネジでフィット感を確認したらPETG(1.0mm厚)またはその他の透明プラスチックを小さくカットし、ホットメルト接着剤で固定する準備ができます。もっと強くしたい場合は、スーパーグルーではなくエポキシ接着剤で接着することをお勧めします。

図のようにテーブルの端にアセンブリを置くことをお勧めします。これはバックプレートをネジ止めする際に、カナリアが曲がってしまわないようにするためです。この時、図のように2つのネジを一旦外して再度はめ込む必要があります。バックプレートには六角M3 x 6mm、ベースプレートにはCSKM3 x 6mmの皿ネジを追加して、両方のプレートを固定します。

RadioGlobeプロジェクトのようにきれいなビジュアル面を持ちつつ、回転させてIoTエレクトロニクスのクールな「ポップザボネット」スタイルの内部を見せることができるようにするのです。

これでまだコードをアップロードしていない場合はバックプレートとベースプレートを取り外す必要があります。ベースに小さなスロットを入れることも考えましたが、このモデルは私の家では子供用であるため(また、展示会などでこれを持つ可能性のあるRSのためにこれは断念しました)。定期的にソフトウェアを更新することはないはずです。ただし、ファイルは全てオープンソースなのでアップグレードはユーザーご自身で好きなだけできます。

セクション4:カナリアキャリブレーション

パート1:サーボコードのキャリブレーション

カナリアのコードをアップロードしほぼ正しく動作するようになったところで、モーションを「微調整」したくなるかもしれません。基本的なコードのキャリブレーションについて以下のような提案があります。

サーボ位置の調整

ArduinoのCanaryController.inoファイル内のESDKCanary.hファイルを見ると以下のようなセクションがあります(ここでは黄色でハイライト)。これはカナリアの主な動きの基本となる位置でサーボの位置と対応しています。

私のサーボモーターは0~180度(正確には200度)の範囲で動き、これはコード上では500~100のサーボ信号に相当することが分かります。しかし、サーボモーターがこの範囲の絶対的な範囲で動き続けることが難しいです(なぜ「180度回転のサーボ」に対して最大回転角度が200度なのか、その理由はここにあります)。

そのため、スタート位置は500ではなく495になるように調整しました。同様に終了位置や「死」の位置は100ではなく150で良いとわかったので、サーボに不要な負担がかからないように「後退」させました。

またウイングの頂点(高さ)は、WINGS_UPと記載されている通りで450でしたが美観上445の方が見栄えが良いので、変更しました。

PASS_OUT_POSは225で十分でしたが220や230にする必要があるかもしれません。これらは、サーボやサーボを扱うコードについての詳しい知識がなくても、簡単にコードを編集することができます。

フラッピングスタイル

もし、カナリアの動きの「特徴」をもっと知りたいなら、対応するESDKCanary.cppファイルを調整することができます。ここでは、WINGS_UPとWINGS_DOWNの動きを呼び出して羽ばたくコードの「単位」をカット&ペーストすることができます。例えば、ある部分を繰り返すことでカナリアの羽ばたき回数を増やしたり、遅延時間(下図、黄色)を変更することで羽ばたきの速度を上げたり下げたりすることができます。これらはすべて無限に設定可能なので、パラメータを変更してカナリアがどのように反応するかを見れば、より理解できるはずです。

パート2:死と輪廻(あるいは家庭用vs公共用)

デフォルトではCO2が4000ppmになると、サーボがフル回転し磁石の力に負けてカナリアが「死ぬ」ようにプログラムされています。これはプログラムを終了させるもので、手動で鳥を元の位置に戻し、ミドルボタンを押してプログラムを再開させるという「手間」が必要となります。

4000ppmで作業していた人はカナリアの死の状況を見て窓を開けるでしょう。もし私がカナリアを死なせてしまったら5歳の息子はルールを破っているとして死なせてしまったことに「がっかり」すると思います。

しかし、これがあまりにも不気味な場合、あるいは4000ppmのCO2で作業中に邪魔されたくないという正当な理由がある場合(学校や博物館など、リセットが現実的でない公共の場でこれを使用したい等)、サーボが3000ppmの設定までしか動かないようにコードを調整することが可能です。そうするとカナリアは「ふぅ~、よくなった」と直立姿勢に戻り生まれ変わります。

ダウンロード

Winner of the 2020 Alastair Graham-Bryce "Imagineering" Award (IMechE), Jude thrives in high risk collaborations, uncertainty and pressure - drawing from global networks and experiences to deliver high profile campaigns and digital/physical products. A leading Creative Technologist & Physical Prototyping Expert, Jude has worked for NHS, Dyson, LEGO, and a number of start-ups. He is one of the eight featured inventors in BBC Two's Big Life Fix.
DesignSpark Electrical Logolinkedin