雑に学ぶ電子工作入門
雑に学ぶ電子工作入門 第1回:ラズパイPicoで「座りっぱなし防止アラーム」を作るd
初めまして! フリーランスライター/編集者のシモカワヒロコです。fabcrossでは、ライターさんの原稿チェックを担当しています。このたび、fabcross編集部から「電子工作の入門企画をやりませんか?」とお声がけいただき、この企画を持つことになりました。
私はゴリゴリの文系&電子工作ほぼ未経験、おまけに超絶不器用です。でも、皆さんが楽しそうに工作している記事を読んで「やってみたい!」と思っていたのは事実。しかも昨年、共著「雑に作る」が話題となった石川大樹さんが一緒に作ってくださり、雑な電子工作の極意を教えてくれるとか! これはやらない手はありません。
さて、私は無事に電子工作ができるのでしょうか? ぜひ温かく見守ってくださいませ!
作る人…シモカワヒロコ
フリーランスライター/編集者。東海地方の出版社に勤めたのち、ロボット工作教室を運営する企業に全くの未経験で転職。小学校低~中学年の子どもたちにキットを使った簡単なロボット工作を教えていたが、完全に見よう見まねだったため電子工作の知識はゼロ。ニッパーやドライバーぐらいしか使ったことがなく、回路をいじったことも全然ない。
教える人…石川大樹
「しょうゆを自動でかけすぎる機械」「メガネに指紋をつける機械」など、嫌な電子工作を中心に制作。著書に「雑に作る—電子工作で好きなものを作る近道集」(共著、オライリー・ジャパン)。
2014年より「技術力の低い人 限定ロボコン(通称:ヘボコン)」を開催、ヘボコンマスターとしても活躍。
脱・「座りっぱなし」をサポートするアラームを作る
今回作るのは、「ちょっと! もう何時間も座りっぱなし!」ってな具合で、座りすぎを知らせてくれるアラームです。
私は基本的に在宅ワーク。もともとインドア派&運動が大嫌いなのも手伝って、一日中パソコンの前に座っている日がほとんどです。とはいえ「座りっぱなしは健康に悪い!」という耳の痛い話をよく聞いてはいたので、「座りっぱなしを防げるものが欲しいな」と思っていました。
……というのを石川さんに伝えたところ、「じゃあ『座りっぱなし防止アラーム』を作りましょう!」と言っていただけたわけです。アラームの大まかな作り方は、次の通りです。
1.着座センサーを作る
2.「座布団に座ると光るランプ」を作る
3.タイマー機能を付けて座りすぎアラームを完成させる
えっ、センサーって自力で作れるの? 買うんじゃないの? ええと、「座布団に座ると光るランプ」とは? などなど、たった3行のテキストを読んだだけでいろいろな不安を覚える始末。皆さん、これが電子工作になじみのない文系女子のリアルな感想です。
いえいえ、電子工作「入門」といいながら、センサーから自作するなんてかなり特殊な導入です。でもその方がDIY感あって楽しいからやろう。
本記事ではできるだけ読者のみなさまが読んで真似できるように、解説も入れていきます!
石川さんのコメントを聞いてもなお一抹の不安が残る小心者ですが、そんなことを言っていては企画倒れ! 早速作ります! 今回使用した材料は、こちらです。じゃじゃーん!
電子部品
- Raspberry Pi Pico WH(←今回はWHのないPicoでもOK)
- USBケーブル USB2.0 Type-Aオス⇔マイクロBオス
- 電池ボックス 単3×2本 リード線・スイッチ付
- ブレッドボード BB-801★
- ブレッドボード・ジャンパーワイヤー(オス-オス)
- 小型クリップ付コード 5色 45cm 10本入り
- VFF/スピーカーコード 0.3sq 5m 赤黒
- 電子ブザー 3V UDB-05LFPN★
- LED
- 抵抗47Ω
- 抵抗10kΩ
工具
- ワイヤーストリッパー DVC-WS102
- ニッパー(100均)
その他の材料
- アルミホイル
- 食器洗いスポンジ
- クリアファイル
- カッターマット
- マスキングテープ
- 単3電池 2本
※★の部品に記載されている型番は一例です
「こんなにいっぱい使うの!?」とビビりましたが、いざ買ってみてびっくり。なんと5000円ちょっとでそろうではありませんか。せっかくなので全部新品を買いましたが、アルミホイルや食器洗いスポンジあたりは、お家にあるもので大丈夫みたいです。
何より、部品類の安さに驚愕です。LEDって1個10円ぐらいで買えるんですね!? 抵抗なんか、1袋100円で100本入ってるし……1本1円じゃないですか! 私がこれまで通販サイトで買ったものの中では、間違いなく最安値ですよ。「電子工作=お金と時間をかけて楽しむオトナの趣味」みたいに思っていたので、早速カルチャーショックです。
ついでに注目してほしいのは、アルミホイルやスポンジなど、電子工作らしからぬ材料群。夏休みの工作感覚でハサミを使ってチョキチョキ作っていきますよ。
1.着座センサーを作る
最初に作るのは着座センサー。クリアファイルの中央部を切り抜き、アルミホイルを挟んだものを2つ作って、その間にスポンジを乗せればできる……らしい。
石川さんは「センサー機能付き座布団」と呼んでいました。私の知っている座布団とは違うもののような気がしてなりませんが、レクチャー通りにクリアファイルとアルミホイル、スポンジを切ってみます。
すると、無事に「座布団」が完成しました。いや、これが本当に座布団と呼んでいいのかはまだ分からないんですが、作り方は間違ってはないみたいなので良しとします。なんとなく、図工の時間を思い出しますね。完成できてホッとしました(早い)。
椅子に座っているのを検出するセンサーなんて売ってないので、身の回りのもので自作することにしました。体重でアルミホイルがくっつくと電気が通るという、簡単な仕組み。図で説明するとこうです。
原理としてはどちらかというとスイッチですが、姿勢を検出するセンサーでもあるということで、今回はこれを「着座センサー」と命名しました。
寄り道:初めての電子回路でLEDやブザーを使う
では次のステップへ……と、その前に! 電子工作ビギナーの私は、まずブレッドボードにLEDやブザーを挿して光や音を出す仕組みを学ぶところから始めました。何事も基礎が大事ですからね。
ここで使うのは、ブレッドボード、LED、抵抗、あとジャンパーワイヤーです。
「LED、足長いな」「ブレッドボードに挿す感触、なんかイイな」などと思いながら作り進めます。そしてレクチャー通りに配線をして、「理論上、これで完成してますよ!」という石川さんの声を信じ、スイッチを入れてみると……。
どうです! 初心者でもわずか1時間ほどで、ブザーを鳴らしたりLEDを光らせたりできました。ただ音が鳴る、光るというだけでこんなにテンションが上がるとは。いやはや電子工作、すでに面白いです。
ここではいちばん簡単な回路として、小学校で習った豆電球をつける回路とほぼ同じものをブレッドボードに再現しました。
ブレッドボードというのは、はんだ付けなしで電子回路を組むための道具。たくさん穴の開いた板ですが、中はこんなふうに配線されています。
EMT Laboratories – Open Education Resourcesより引用
これを利用して、パーツをこんなふうに挿せば回路が作れます。(黄色い線はブレッドボードの内部を電気が通るイメージ図なので、配線不要です)
(画像:Fritzingで作成)
これはさっきの小学校で習った回路から、豆電球をブザーに置き換えたもの。これだけで音が鳴ります。
(※ブザーは「自励式」とか「アクティブ」とか書かれたものを使います)
もう一つ、LEDをつける回路はこちら。
図を見て、電気の通り道がどこかを考えてみてください。
LEDの上にあるのは、抵抗(47Ω)。LEDは豆電球と違って、抵抗と一緒に使う必要があります。常にセットです。
またLEDには向きもあるので注意。プラス側(電池ボックスの赤い線につながっている方)に、LEDの長い方の足(アノード)を挿すと、点灯します。
もう2つも回路ができちゃいましたね! 達成感のあまり「連載1回目終わり!」って気分になりますが、まだ続きます。せっかく作ったセンサー使ってないからな!
2.「座布団に座ると光るランプ」を作る
LEDを光らせたりブザーを鳴らしたりする仕組みを学んだところで、先ほど作った座布団と組み合わせて、座るとLEDが光る回路を作ります。
こちらで使う材料は、スピーカーコードと小型クリップ付きコード、ワイヤーストリッパー、そしてマスキングテープです。
手順は、次の通りです!
- スピーカーコードを程よい長さで切る(今回は160cmぐらい)
- 1.の先端を5cmほど割き、ビニール被覆をワイヤーストリッパーで取り除く
- 2.をクリップ付きコードで挟む
- 挟んだ部分をマスキングテープで覆う
- 座布団と組み合わせる
マスキングテープで先端を覆うことで、金属同士がくっついて通電することと、コードの先端がクリップから外れることを防げるそう。一石二鳥ですなー。てことで最初に作った座布団に組み合わせました。
そしてさらに、先ほどエジソンごっこを楽しんだ、LEDを挿したブレッドボードと組み合わせます。これで、「座布団に座るとLEDが光る」という回路の出来上がり!
にしても、5mもあるスピーカーコードの安心感たるや。リボンとかひもとか切るときに「長さ? だいたいでいいよ」って指示されて、「こんなもんかな」って切ったら絶妙に短くてやり直しになることが多い身としては、誠にありがたいです。
ここでも小学校の授業を思い出してください。豆電球をスイッチでつけたり消したりする回路を作りましたよね?
さきほど、「今回作った着座センサーは、実体としてはスイッチである」という話をしました。ということは、同じことができるわけです。実際にLEDの回路の途中に挟んで、ON/OFFできるようにしたのが今回の回路。
(画像:Fritzingで作成)
単純な回路ですが、これで座布団に座ってる/立ってるの姿勢検出ができるようになりました! これからさらに高機能にしていきます。
3.タイマー機能を付けて座りすぎアラームを完成させる(ラズパイ登場)
ここで今回の主役「Raspberry Pi Pico」の登場です。「一定の時間が経ったら、ブザーから音が鳴る」という仕組みは、このラズパイにプログラムを書き込んで作るそう。うーん、文明。
ラズパイはfabcrossのライターさんの原稿ではよく拝見していますが、実物を手にするのはこれが初めて。かの有名なアレが我が手に……と思うと、これまた感慨深いものがあります。
おっとここで訂正! シモカワさんが持っているのは「Raspberry Pi Pico」で、いわゆる「ラズパイ」とは別物です。普通のラズパイはちっちゃいパソコン。いっぽうこのラズパイPicoはマイコンで、機能はずっとシンプル。定番マイコンのArduinoに近いものです。
さて、ここからはパソコン操作タイム。石川さんがボソッと言った「マイコンはプログラムしないと動かないので、ここからはマイコンに命を吹き込んでいきます」という一言にシビれました。
ラズパイPico(覚えたぞ!)のボタンを押しながら、USBケーブルでパソコンと接続。あらかじめダウンロードしておいた「Mu Editor」を開き、コードを書き込みます。
「プログラミングってことは、ちまちまタイピングするんやろか……」とほんのり不安ではあったものの、なんと! ファイルをダウンロードして、ラズパイPicoに書き込めば完了してしまいました。やはりコレは……文明ですね。
今回は簡単にするためにあらかじめプログラムを用意しました。ほかにもネットにたくさんサンプルプログラムが落ちているので、それを活用するのも大事なテクニック! 自分でプログラムを書く方法は、また今後の回でやりましょう。
ところで予想外につまずいたのが、ラズパイPicoをブレッドボードにはめ込むところ。何せ、固くて全然はまらない! おまけにこんな精密機器(に見えるもの)、どこをどう持ったらよいやら。せいぜい、これぐらいしかはめ込めませんでした。
石川さんに相談したら、「その銀色の足が見えなくなるぐらい、入れちゃってください」とのこと。お手本は、こう。
「端っこからためらわずにグイグイ押し込んでいくと、キレイに入りますよ」と石川さんからアドバイスをいただき実践したら、見事! 私のブレッドボードもフラットな状態になりました。
あーよかった。何事にもコツがあるんですね。ていうかラズパイPico、意外と丈夫ですね。
まとめると、マイコンの使い方はこうです。①パソコン上でプログラムを用意、②そのプログラムをマイコンに書き込む(覚えさせる)、③マイコン単体でプログラムが動くようになる。
書き込みの方法はざっくりシモカワさんが書いてくれていますが、詳しく知りたい方は「Raspberry pi pico 書き込み muエディタ」などで検索してみてください。
書き込んだプログラムがどんなことをしているかは、記事の最後に説明します。
さて、プログラムを書き込んだラズパイPicoを、最初に作った座布団とつなぎましょう。覚えてますか? あのクリアファイルとアルミホイルと、スポンジのアレです。
ジャンパーワイヤーとクリップ付きコードで、ブレッドボードと座布団もつなぎ直しましたよ。先ほども使ったLEDやブザーも、ラズパイPicoとつながるように組み直して、「座りっぱなし防止アラーム」の完成です!
完成! これが「座りっぱなし防止アラーム」だ!
ご覧あれ! これが、アラームの全体像です。
いいですねえ、この配線のモジャモジャ感。私としては、いろんな線がいっぱいあるだけでかなり手が込んだスーパーマシーンに見えます。実際の様子も動画に収めてみましたが、なかなか良い働きぶりじゃないでしょうか。
完成おめでとうございます! ここでちょっと追加説明。
マイコンは、つながっている部品から電流が来ているかどうか調べたり(インプット)、つながっている部品に電流を流したり止めたり(アウトプット)できます。
今回は、インプットとして着座センサー(からの電流)のON/OFFを読み取りました。それがONなら、LEDに電流を流して点灯(アウトプット)、さらに10秒以上ずっとONならブザーに電流を流して鳴らす(これもアウトプット)、というプログラムにしてあります。
こんなふうに、インプットとアウトプットを組み合わせるのがマイコンの基本的な使い方。単純に思えますが、つなぐ部品やプログラムを変えるとこれだけでいろんなことができます!
所要時間は2時間半ほど。途中でブレッドボードの向きを真逆にしていたり、配線を全部間違えていたり、抵抗を曲げすぎて即席ラーメンばりにグニャグニャにしてしまったりといったハプニングも多数ありましたが、なんとか完成です。
しかし、自分が「欲しい!」と思ったものが無事に完成した瞬間の達成感といったら。何かが欲しいと思ったときに「既製品を買う」以外に「作る」という選択肢が生まれるのは、なんだかすごく不思議ですし、とてもうれしく感じました。
なるほど、こうして人々は電子工作にハマっていくのですね。すでに私も電子工作にハマった気がしますよ。さて、次は何を作ってみましょうか!