第2回 マイコンとは?

そもそもマイコンとは何か?、どのようなことができるのか?、概要を説明します。

目次

マイコンとは?

「マイコン」は身の回りの製品にかなり浸透しているのをご存じでしょうか?

「マイコン」という言葉を知らなくても、実はほとんどの方が知らないうちにマイコンを使った製品を使用しているんです

例えば、テレビや洗濯機、冷蔵庫や炊飯器などの家電製品、またそれらのリモコンに使われています。

もっと大きな製品では、例えば自動車では1台に数十個〜100個程度のマイコンが使われています。


多くの身近な製品に入っているのはいいとして、そもそもマイコンって何をするものなのでしょうか?

一言でいうと、、、

外部から電気信号を受けて、
それをマイコンの中のプログラムで何らかの処理をして、
その結果をマイコンの外部に電気信号として出力する

というものです。

???

そういわれても言葉の意味もよくわからないし、結局何ができるの???って感じですよね!

これからもう少し具体的に説明していきます。

マイコンの外観とできること

最初に、マイコンの外観の確認です。

小さなサイズから大きなサイズまでいろいろな種類がありますが、できることの基本部分は同じです。

どのサイズのマイコンも「できることの基本部分」とは「外部から電気信号を受けて、それをマイコンの中のプログラムで何らかの処理をして、その結果をマイコンの外部に電気信号として出力する」という機能は同じなんです。

「できることの基本部分は同じ」と説明されると、逆に「違い」もちょっと気になりますよね。

細かい違いはたくさんあるのですが、大きなところでは、例えば処理スピードが違ったり、USB通信に対応していたり、というように性能や機能が異なっています。(USB通信に対応したマイコンを使うと、オリジナルのUSB機器が作れます)

細かい違いについてはマイコン内部の知識が必要になりますので、まずはこのような理解をしていただければと思います。

マイコンの働き

次に、マイコンの働きについてもう少し詳しくみていきましょう!

マイコンは、黒いマイコン本体部分から金属のようなものが出ています。これはどのマイコンでも共通の作りです。

マイコンから出ている金属の部分を「ピン」や「端子」、「足」と呼んでいます。

この「ピン」はどれも同じように見えますが、それぞれのピンにはいろいろな役割(機能)があります。

例えば、マイコンを動作させるための電源に接続するピン、マイコンに電気信号を入力するピン、マイコンにプログラムを記憶させるためのピンなどです。

マイコンの働きとして「外部から電気信号を受ける」「外部に電気信号を出力する」と説明しましたが、この電気信号はピンを通して外部とやり取りをします。


さらに、マイコン本体の内部ではプログラムが動作して何らかの処理をします。

プログラムでは、ピンを通して受け取った電気信号を処理して、その結果を外部に電気信号として伝えます。

と、ここまでマイコンの働きを漠然と説明してきましたが、やっぱりスッキリしないですよね。


そもそも「電気信号」自体がよくわからないですし、プログラムで処理をするといってもどんな処理ができるのかもよくわかりませんよね…

このあと、さらに具体的に説明していきますが、まずはここまでの説明で頭の中に次のようなイメージが描ければOKです。

マイコンの動作

電気信号の入力・出力とは?

今まで説明で「電気信号」という言葉を使ってきましたが、もう少し具体的に掘り下げていきましょう。

「電気信号」というと漠然としていますが、具体的には「電圧」になります。

例えばよく使う乾電池の電圧は「1.5V」というのは聞いたことがあると思います。マイコンが扱う電気信号とは、この電圧の値ということになります。

つまり、マイコンは「ピン」で電圧を読み取って、プログラムで何らかの処理をして、「ピン」に電圧を出力する、という処理をします。

ところで、マイコンへの電圧の「入力」と、マイコンからの電圧の「出力」は具体的にはどのようなものなのでしょうか。

これからさらに深掘りしていきます。

「入力」の種類

「入力」の種類として2つの具体例を見ていきます。

スイッチ

例えばマイコンのピンに電池とスイッチを次のように接続します。

このように接続すると、スイッチを押しているときはマイコンのピンは5V、スイッチを押していないときは0Vになります。

つまり、マイコンはピンの電圧を読み取ることにより、スイッチのオンやオフの信号を読み取ることができる、というわけです。

マイコンがスイッチのオンオフが読み取れるようになれば、例えばモーター制御をする場合はON/OFFのスイッチや速度切り替えのスイッチに使えそうですよね。

温度センサー

スイッチはON/OFF情報の読み取りしかできませんでしたが、他にもいろいろな情報を読み取ることができます。

例えば、電子部品の中には温度を検知する「温度センサー」というものがあります。

このセンサーは温度に応じた電圧を出力することができる電子部品です。

外観はこんな感じです。

この温度センサは、温度に応じた電圧を発生します。(ピンが3本ありますが、2本を電源のプラスとマイナスに接続すると、残りの1本から温度に応じた電圧が発生します)

例えば気温が20度のときは0.8V、30度のときは1.0Vなどというように、温度に比例した電圧を発生する仕組みになっています。

このセンサーをマイコンのピンに接続すると、マイコンでピンの電圧が何ボルトかを調べることにより、現在の温度を知ることができます。例えば、0.8Vであれば20度、という要領です。


ここでは「スイッチ」と「温度センサー」の例を説明しましたが、「マイコンのピンで電圧を読み取る機能」で状態を知ることができる電子部品は他にもいろいろあります。

そのような電子部品で感知できるものは、明るさ、色、音、水分、圧力、ph(酸性/アルカリ性)、温度、湿度、大気圧、位置(GPS衛星電波受信情報)、高さ、傾き、加速度、方位、アルコール濃度、ガス濃度、臭い、距離、動き、曲げ、ほこり、炎、衝撃、風、、、と本当にたくさんあります。

上の温度センサーのように、マイコンのピンに接続すると、ピンの電圧を調べることにより知りたい状態がわかるわけです。

「電気信号を受け取る」と説明しましたが、このようにピンに電子部品を接続して電圧を調べることによ、本当にたくさんの状態を知ることができるんです。

「出力」の種類

次に出力ですが、こちらの機能はイメージはつかみやすいと思います。

例えば電圧で制御できるものとしては、LEDやスピーカー、モーターなどがあります。

マイコンのピンにこれらの部品を接続すると、ピンの電圧を制御して、光らせたり、音を出したり、動かしたりすることができます。(実際にはマイコンの出力ピンの電圧は数V程度なので、直接モーターに接続したり、大型のスピーカーを鳴らすことはできません。その場合は制御する電子回路を接続します)

電圧の「出力」についてはイメージがつきやすいと思いますが、マイコンのピンの電圧を制御することにより、実現できることの具体例を一つご紹介します。


家電製品を操作するリモコンは「赤外線」という目に見えない光を利用しています。

次の画像のようなリモコンの信号送信部を見たことがあるのではないでしょうか。

Ir controller covered

リモコンはこの送信部分から「赤外線」で家電に制御信号を送っています。

上の画像のリモコンは、信号送信部分がカバーで覆われているのでわかりづらいですが、もうちょっとわかりやすいリモコンが手元にありましたので、こちらもご紹介します。

Ir controller led

このリモコンは赤外線を発生する部品が見えています。

これは、赤外線を出すことのできる「赤外線LED」というものがあります。この赤外線LEDという部品から赤外線のON/OFFを繰り返しパターンで家電に制御信号を送っています。

この赤外線LEDという部品は、一般的なネット通販や、電子部品を扱うショップでしたら普通に販売されています。

次のショップは一例ですが、赤外線LEDは1個10円程度で売られています。(単価が安いのでまとめ売りされていることが多いです)

赤外線LED(秋月電子通商)

この赤外線LEDをマイコンのピンに接続して、電圧をON/OFFして制御すると、赤外線リモコンとして動作させることができます。

家の中の家電を全て制御する自分用の家電コントローラも作れるかもしれませんね。

入力と出力の組み合わせ

ここまで説明したさまざまな入力と出力を組み合わせると、いろいろなものを作ることができます。

そこで、具体的な組み合わせの例を考えてみます。


身近にある家電製品のリモコンがどのような動作をしているか、ちょっと考えてみます。

リモコンの中では何をしているかというと、

リモコン処理

こんな感じになります。

マイコンを使うとうまく実現できることをイメージしていただければと思います。


他にも、エアコンや炊飯器では温度センサーを使って、そのセンサーの電圧をマイコンで読み取って、温度の応じてエアコンの運転を制御したり、炊飯器の電熱器を制御したりして、空調したりご飯を炊いたりしています。

これらは結構直球的な使い方ですが、応用するといろいろと面白い使い方もできます。

以前、「エアコン快適コントローラ」という製作記事を見かけたことがあります。

この装置を、寝るときにベッドの片隅に置いておき、加速度センサを使用して寝返りの状態を検知して(入力)、もし寝返りが頻繁におこるようだったら不快と判断して(プログラム処理)、エアコンの温度を調整する(赤外線LEDからエアコン制御信号を出力)、というものです。


ここでご紹介した入力機能や出力機能の組み合わせをいろいろ考えて、オリジナル作品を想像してみてください。

PICマイコンとは?

ところで、マイコンは多くのメーカーがいろいろな種類の製品を製造、販売しています。

例えば自動車は、多くの自動車メーカーから多くの車種が販売されていますよね。それと同じような感じです。

その多くあるマイコンの中でも、この入門シリーズでは「PICマイコン」というものを使います。

この「PICマイコン」は、Microchip社が製造販売しているマイコンで、個人の趣味でも多く使用されているマイコンです。


そのほかにも、耳にしたことがある方もいらっしゃるかもしれませんが、Microchip社の「AVRマイコン」、サイプレスセミコンダクタ社の「PSoCマイコン」、ルネサス社の「RAマイコン」など、多くの種類があります。

他にもちょっと異質なメーカーがあります。

「ARM社」という会社があるのですが、この会社はマイコンを製造していないんです。

ARM社はマイコンのベースとなる仕様を作成していて、この仕様をベースにしたマイコンを作りたい会社は、ARM社から仕様書とライセンスを購入し、設計、製造しています。

先ほどのルネサス社の「RAマイコン」は、ARM社の仕様をベースに設計されたマイコンです。

他にも有名なところでは、iPhoneやiPadに搭載されているプロセッサはARMベースだった時期がありました。(現在はApple社自身で設計したものを使用しています)


ところで、自動車の場合はどのメーカーのどの車種でも運転方法はだいたい同じですよね。ハンドル、アクセル、ブレーキの操作は共通しているので、初めての車でも基本的な運転はできます。

ところが、マイコンの場合、製品によって使い方(開発の仕方)がかなり異なります。

具体的には、PICマイコンの場合には、PICマイコン用のプログラムを開発するソフトウエア、PICマイコンにプログラムを記憶させるためのツールなどが必要になります。これらのツールは他のマイコンには使用できません。

ただ、どのマイコンも、個人的な趣味に使う場合、開発ソフトウエアは無償です。

また、プログラムをマイコンに記憶させるツールはちょっと高いものがありますが、一度購入すればずっと使えます。

高速プロトタイピング

この入門シリーズではマイコンを使って電子工作とプログラミングを行なっていきますが、これとは別に「高速プロトタイピング」と呼ばれるシステムもあります。

ここで、高速プロトタイピングについて簡単に説明しておきます。


例えば、「LEDを何個か使用して、こんな感じで光らせた場合はどんな雰囲気になるか確認したい」というように、何か「ちょっと簡単に試してみたい」ということがあります。

このようなとき、マイコンを買ってきて、必要な回路を作って、、、という作業が必要になります。やりたいことは簡単にLEDの光り具合を確認したいだけなのに、マイコンでゼロから作るにはちょっと手間がかかります。


このように、誰もがやりそうな一般的なことだったらすぐに試せるように、予めマイコンと必要な回路、いろいろなソフトウエアが予めすでに用意されていて、簡単に電子工作ができるシステムが「高速プロトタイピング」と呼ばれるものです。

代表的な製品としては、「Arduino」(アルディーノ・アルドゥイノ)というシステムがあります。電子工作にご興味があれば聞いたことがあるかもしれませんね。

Arduinoは必要な回路が組み込まれていて、LEDの制御を確認する程度でしたら本当簡単にできてしまいます。

他にも「Raspberry Pi」(ラズベリーパイ)という製品があります。

このラズベリーパイは、簡単な電子工作に必要な回路の他にも、ネットワークポート、USBポートなどが装備されていて、それを操作するためのソフトウエアもすでにできています。


高速プロトタイピングは名前のとおり、短時間で試作する(プロトタイピング)、という目的のものです。

いろいろとご紹介しましたが、高速プロトタイピングでは簡単にいろいろとできるので魅力的ですが、一方でマイコンの細かい動作や電子回路の組み方などの知識や作業は必要ない分、マイコンの内部や電子工作の深いところの知識はなかなか身につかないこともあります。

この入門シリーズでは「PICマイコン」というマイコンを通して、マイコンの詳しい使い方や電子回路の組み立て方を基礎からひとつひとつ説明していきます。

ぜひ一緒に実際に作りながら進めていきましょう!

更新履歴

日付内容
2016.6.5新規投稿
2018.10.25誤記訂正
リンク切れ修正
2023.9.19デザイン調整
2024.7.17説明文更新
2025.3.7説明内容補足
説明図追加
通知の設定
通知タイミング
guest
0 コメント
新しい準
古い順 一番投票が多い
本文中にフィードバック
全てのコメントを見る
目次