2016年09月01日

教育分野

電子回路のお約束【マルツ実験の素】

【マルツ実験の素】Raspberry Pi3で作るtwitter温度計は、エレクトロニクスを専攻していない理工学部大学生の方を読者として想定しています.化学,物理,生物学などが専門だけれど,実験,研究などの都合で電子回路を扱わなければならないような皆さんです.

皆さんから見て,電子工作になれた人はスラスラと回路図を書いて,てきぱきと配線して,鼻歌交じりでソフトウェアを組んでいるように見えませんか?

実は筆者も30年ほど前大学に通っていたころ,電子工作のエキスパートをみて同じ感想を持っていました.それがいつの間にか,電子工作の作り方を伝える側になってしまいました.教わる方から教える方に移るのに,何が必要だったと思いますか? 努力?根性?時間?座学?…どれも少しづつ必要ですが,一番のハードルは『電子工作世界のお約束』を知るところでした.

入門直後の初心者には暗中模索の世界ですが,どこにどんなルールがあるかわかってしまえば,電子工作の世界(デジタル回路の方が易しい)を理解するのは難しくないと思います.「学問に王道なし」ですが,王道はなくても遠回りしない幹線道路はあります.勉強は最短コースで終わらせて,時間は要領よく使いましょう.


 電子工作に関わる要素

電子工作で気をつけなければならないルールを学ぶその前に,電子工作を構成する技術ジャンルをおさらいしましょう.電子工作は,以下の技術ジャンルの組み合わせです.

大分類 中分類 小分類
ハードウェア 電子回路 部品
配線
電源
信号
電子回路以外 部品の放熱
輻射電波を抑える
ソフトウェア 実行環境 OSのインストールと設定
テキストファイルの作成方法などOS世界のお約束を学ぶ
アプリケーションの作成 プログラミング言語の準備
作成したプログラムを実行する

表1 電子工作を構成する技術一覧


 

まずは手を動かしてみよう

電子工作に限らずどの分野の勉強でも,座学で知識を詰め込むだけでは,応用が効きません.自分で手を動かして大小様々な失敗を重ねていって,ようやく身につくことがたくさんあります.興味を持ったら,ぜひ自分で試してみてください.最初は,本に書かれている工作例のコピーしか作れないかもしれませんが,場数を踏んで経験値を積むと見えてくる世界があります.

電子部品は,極端な高電圧(許可されている電圧の2倍とか)や逆電圧(±の間違い)をかけたり高温(目玉焼きが焼けるくらい)で放置すると壊れてしまいますが,少しくらい回路の接続を間違えても短時間ならばめったに壊れません.あまり臆病にならずに,積極的に工作を試してみましょう.今回の工作では一番高価な部品だって,一万円しないラズベリーパイです.

とは言うものの,教授がようやく手に入れたレア部品とか1個数万円もする高価な部品,もう生産中止になった部品を接続するときは,それなりに慎重になってください.

それから,作ったばかりの回路を試すとき,電源を入れてから少しの間は様子を見ていてください.部品が加熱していないか,焦げ臭くないか,ちゃんと動作を続けているかなどを5感を駆使して見守る習慣を付けましょう.メーカーが工場で作る量産品でも,不良部品が入っていたせいで完成直後に壊れる個体がたまにあります.初期不良品の混入は,電子回路の避けられない宿命です.


 

初心者は悩んで当たり前

知らないことだらけの初心者は,エキスパートにとって常識であることも知りません.それが当たり前です.悩むことも大事.重要なことは『自分が何を悩んでいるか』を常に意識することです.言葉にまとめることができたら,身近な電子工作経験者に質問してみましょう.相手も忙しくて,わかりにくい答しか返ってこないかもしれません.それでも諦めずに回避策を探し出せることが,壁を超える能力になります.


 

電子工作の世界にあるお約束を説明します

それでは,分類別にお約束を説明していきましょう.

本当は,100ページ位の単行本で電子工作のひと通りを説明したいところですが,都合により,少ない説明から始めます.なるべく参考文献を挙げるので,興味を持った分野があったら,独学で掘り下げてみてください.


 

ハードウェアのお約束

古きよき時代,エレクトロニクス機器はハードウェア部品を組み合わせるだけで動作しました.今は,コンピューターのソフトウェア抜きでは話が進みません.ソフトウェアとハードウェアを組み合わせて目的を達成します.Raspberry Pi3で作るtwitter温度計でも,毎回全体の手間が最小になるようにハードウェアとソフトウェアのバランスをとっています.

残念なことに世の中のほとんどの電子工作入門書は,ハードウェア目線の書籍とソフトウェア目線の書籍の2種類のどちらかです.著者が得意な分野から解説を始めるからです.本当のシステム設計は,ソフトウェアとハードウェアのバランスを取らなければなりません.もっとも,プロのエレクトロニクスエンジニアを職業に選ばない人は,そんなに気にする必要はありません.


 

電子回路のお約束

電子回路のお約束には、部品,配線,電源,信号の4つのジャンルがあります.この4つは独立していなくてお互いに影響し合います.

ハードウェア→電子回路→部品

電子回路の部品を分類してみます.

大分類 中分類 小分類
主要機能を作るもの 単純な部品(ディスクリートと呼ばれることもある) 抵抗
コンデンサ
コイル
ダイオード
トランジスタ
表示器(LEDや液晶など)
複雑な部品(チップと呼ぶこともある) IC(LSIとも呼ぶ もともと2つの用語を使い分けていたが今ではほとんど同じものをさす)
補助的なもの ケーブル
コネクタ
ジャック,プラグ
基板

表2 電子部品の分類

 

現代の電子工作では,実現したい機能をもとに,最初にICや表示器を選びます.選んだIC,表示器とマイコンを接続するために,単純な部品で間をつないでいきます.

ICを提供するメーカーは,『データシート』という名前の仕様書を用意しています.この『データシート』を読むとICの使い方や,使うときにやってはいけないこと(ある電圧以上の信号を入れてはいけないとか),メーカー推奨の回路図などが載っています.実験の素では筆者がデータシートを読むので,読者の方で気にする必要はありません.

現代はICが主要で複雑な機能を担当していて,単純な部品はICの間の接続を調整する役割に使います.実は,『この単純な部品には似たような性能の部品がたくさんあるけど,どの型番の部品を使うのがよいか』というところで,プロフェッショナルは悩むことが多いです.読者は記事に書いてあることを鵜呑みにして,書かれている通りの部品を書かれているとおりに接続してください.部品を取り替えて実験したくなったら,最初の回路で動作するのを確認してから着手しましょう.

ケーブルや基板は,回路の部品をつなぐのに必要です.エキスパートが部品の間を電線でつないでハンダ付けしている姿を見ることもあるでしょう.

コネクタ,ジャック,プラグは,出来上がった回路を他の回路と接続するときに必要になります.今回接続する相手は,ラズベリーパイだけなので,専用コネクタとケーブルの組み合わせを使います.

 

ハードウェア→電子回路→配線

Raspberry Pi3で作るtwitter温度計ではなるべくハンダ付けしなくて良いように,『ブレッドボード』という白いブロックを使いました.このブレッドボードに並んでいる小さな穴に,部品から出ている電線をさしたり,部品の間をつなぐ電線をさしたりすると,回路が出来上がります.おもちゃのレゴに似ているかもしれません.

ハンダ付けすると間違えた時に直すのが一苦労ですが,ブレッドボードは部品と線の配置をさし直すだけですみます.電子回路の役割が終わったら,出来上がった回路をばらして,部品とブレッドボードを別の目的に再利用することもできます.

 

ハードウェア→電子回路→電源

電子工作の電源については,教わらないと考えていてもわかりません.過去の技術発展の歴史により,現在デジタルICの電源は直流5Vもしくは直流3.3Vの2種類が主流になっています.特殊目的やアナログ部品では,バリエーションもありますが,今回は3.3Vだけで動作する回路を組みました.3.3Vは,ラズベリーパイからもらってブレッドボード上の部品に供給します.ラズベリーパイの中には,外からもらった5V電源を3.3Vに変換する回路があります.

回路や部品に電流を流すには,行きと帰り(プラスとマイナス)の2本の線が必要です.デジタル回路では,マイナスの方をグラウンド(GNDとかGと省略表現することもある)と呼び,プラスの方を3.3Vなどと表現します.グラウンドは,電源以外に信号線のマイナス線も兼ねています.

Fig13_CommonGround

複数ある電源や信号線の帰りが1本のグラウンドにまとめて流れても,行きのプラス線が分かれていれば別の電源、信号として成立します.

 

ハードウェア→電子回路→信号

マイコンからICに指示を送ったり,測定結果をもらうために,信号線を用意します.電源の説明にも書きましたが,電気の流れはプラスとマイナスが必要で,グラウンドという線で電源と信号線のマイナスをまとめてしまいます.グラウンドを使わない例外的な信号処理もありますが,今回は全部グラウンドで共有します.

今回マイコンとICの間の通信には,I2Cという名前の通信方式を採用しました.I2Cの特徴は以下です.

  • グラウンドの他に2本の信号線で通信できる
  • 2本+グラウンドで,複数のICを同時にマイコンに接続し,個別に通信できる
  • マイコンの通信方式としては遅い方

複数のICと個別に通信するため,それぞれのICは『I2Cアドレス』という名称の番号を持っています.ソフトウェアは,マイコンからI2C通信するときにI2Cアドレスで通信相手を指定します.指定されなかったICは,次に指定されるまで,黙っています.

 

ハードウェア→電子回路以外

電子回路以外の項目は,実験の素において意識することはないでしょう.特別に大電力を消費するチップや,電磁波ノイズを盛大に出す部品は使用していません.

それでも,「今回使用した温度センサーを『高温多湿の実験装置』に入れよう」なんて話になると,考慮する必要が出てくるかもしれません.電子回路ですから,結露はショートの原因となり大敵です.

 

ソフトウェア→実行環境

ラズベリーパイは高機能なコンピューターです.測定結果を一旦ファイルに記録することができれば,表計算ソフトで統計処理することなど朝飯前です.高機能な分,実行環境の準備は手間取ります.

 

ソフトウェア→実行環境→OSのインストールと設定

OSのインストールなんて,普通の人はやったことが無いと思います.そもそもなぜ必要なのでしょうか.

パソコンを買ってくると,OSがすでに入っていて電源ONで使えることがほとんどです.パソコンを部品で買って組み立てたりすると,WindowsをDVDからインストールしたりしますが,そういう人は少数派ですね.

ラズベリーパイは,安い代わりに本体価格にOSの値段が入っていません.自分でOSを準備することになります.ラズベリーパイで使えるOSは,Windows10IoTというバージョンもありますが,Raspberry Pi3で作るtwitter温度計ではRaspbianというOSを使います.Raspbianは,Linuxというジャンルに分類されるOSで,無料で入手できます.

ラズベリーパイは,OSやプログラム,データの置き場にハードディスクを使いません.マイクロSDカードに全部入れてしまいます.ラズベリーパイのためにSDカードをセットアップするのはユーザーの役目です.パソコンを使ってインターネットからRaspbianをダウンロードし,パソコンを使ってマイクロSDカードに書き込みます.最初にRaspbianを起動した時は,いろいろ設定を行う必要もあります.

 

ソフトウェア→実行環境→テキストファイルの作成方法などOS世界のお約束を学ぶ

OSの設定を変えたり,プログラムを作ったりする時,テキストファイル(文字情報だけのファイル)を編集できなければなりません.その他にも,Raspbianの終了処理の開始方法や,マウス操作だけでは扱えないコマンドなど,Raspbian独自のお約束があります.Windowsしか使ったことのない人,そもそもパソコンすら使ったことのないスマホ派の人には,大きなハードルです.

  • まず端末を開こう

Raspberry Pi3で作るtwitter温度計で行う作業はマウス操作だけで完結していません.コンピューターのユーザーとして作業しているのではなく,特注システムのメーカー(発注したのも受注したのも貴方自身)として作業するために,使いにくいツールを使用する局面もあります.『端末』と呼ばれるプログラムを起動して,キーボードから文字でコマンドを打ち込む操作方式にもなれてください.

  • 次に文字ファイルを書こう

OSを設定したり,プログラムを作ったりするためには,文字ファイルを作成したり編集したりする必要があります.

Linuxには文字ファイルを作成できるツール(エディタと呼ばれる)がたくさんあります.Windowsユーザーだったら,『メモ帳』に似た感覚で使用できるgeditが使いやすいでしょう.

  • superuserになって作業する必要もあるよ

superuserとは,Windowsの世界でAdministratorと呼ばれているシステム管理者のことです.ちょっとした操作ミスでハードディスクを全部消去してしまったり,OSが2度と立ち上がらないようなダメージを与えることすらできる特別な権限を持っています.

Windowsを使っているときは,システムに変更を加える時にコマンドメニューを右クリックして『Administratorとして実行』を選ぶことがあるでしょう.また新しいプログラムをインストールする時,『なんとかがシステムを変更する許可を求めています』といったメッセージダイアログで,重要なコマンド実行の許可を求められることもあります.

ラズベリーパイのLinuxでは,端末から”sudo”というコマンドを頭に付けて実行すると,一般のユーザーがアクセスできないファイルも特別な権限で読み書きできるようになります.

 

ソフトウェア→アプリケーションの作成→プログラミング言語の準備

SDカードのRaspbianを起動した直後は,出来合いのプログラムしか使えません.

電子工作の回路を接続したラズベリーパイは,いわばオーダーメードのスーツしか着られない体型の人のようなものです.レディーメードのスーツでは間に合いません.

スーツだったらお金を払って仕立てることもそんなに高価ではありませんが,電子工作を動かすソフトウェアをプロに作らせると大学研究室の予算が10年分くらい飛んでしまいます.おとなしく,自作しましょう.

では,プログラミング言語の準備とは何が必要なのでしょうか?プログラムを動かすためのソフトウェア(コンパイラとかインタープリターとか呼びます)を用意しなければなりません.C言語やPythonなどラズベリーパイの世界でメジャーな言語は,SDカードにインストール済みですが,他の言語を使う場合はインストール操作が必要になる場合もあります.Raspberry Pi3で作るtwitter温度計では、言語にPythonを使いますので,パソコンからSDカードに書き込んだ時にインストールずみです.

 

ソフトウェア→アプリケーションの作成→作成したプログラムを実行する

Pythonのプログラムは,テキストファイルとして作ります.実行時には,テキストファイルに書かれたコマンドを直接Pythonのインタープリターが実行します.実験の素の電子回路をそのまま組み立てた場合は,すぐに使用可能なプログラムが今回のZIPファイルに含まれているので,そのファイルを実行します.

ラズベリーパイの電源が一旦切れた時,再起動直後に自動で実行したい場合には,ひと工夫必要です.

Linuxの持つ/etc/rc.localというファイルに登録しておくと自動起動が可能です./etc/rc.localファイルの書き方は,他の資料(TBD)を参考にしてください.

ページトップへ