マイクロコントローラーとは?現代エレクトロニクスにおける役割と仕組みを徹底解説
執筆:Taron Foxworth(タロン・フォックスワース)
本質的に言えば、マイクロコントローラーとは「ごく小さなコンピュータ」です。
しかし、「小さなコンピュータ」という表現だけでは、実態はあまり伝わりません。そこで、もう少し深く掘り下げてみましょう。多くの人がマイクロコントローラーというとArduinoを思い浮かべますが、まず押さえておきたいのは、Arduino自体はマイクロコントローラーではないという点です。Arduinoとは、ソフトウェアとハードウェアの両方を含む総合的なプラットフォームなのです。
Arduinoは「Arduino Uno」のようなデバイスを製造しています。

Arduino Uno
そして、このArduino Unoもまたマイクロコントローラーではありません。Atmel製ATmega328Pマイクロコントローラーを搭載したブレークアウトボードです。
Atmelのマイクロコントローラー本体は、次のような外見をしています。

もし初心者がこのAtmel製マイクロコントローラー単体を手にしても、そのままではほとんど役に立ちません。そこで登場するのがブレークアウトボードです。
ブレークアウトボードは、マイクロコントローラーの細かなピンを、より大きなデバイス(Arduino Unoなど)へと引き出します。これにより、マイクロコントローラーが格段に扱いやすくなります。
Arduino Unoの場合、ブレークアウトボードのおかげで、USBケーブルの接続、電源供給、プログラムの書き込みなどが簡単に行えます。

ブレークアウトボードがなければ、初心者にとってこれは非常にハードルの高い作業になります。まさにこの問題を解決するためにArduinoは存在しています。ハードウェアの学習を、誰でも簡単に始められるようにするためです。
Raspberry Piと同じもの?
答えは「完全に一致するわけではない」です。定義上、ArduinoもRaspberry Piもどちらも「コンピュータ」であることに変わりありません。しかし、Raspberry Piはシングルボードコンピュータ(SBC)に分類されます。シングルボードコンピュータとは、1枚の基板上にフル機能のコンピュータを実装したものです。

Raspberry Pi
実は、皆さんのノートパソコンも技術的にはシングルボードコンピュータの一種です。ただし、高性能なものですが。Raspberry Piは、ノートパソコンと同じハードウェア構成のシンプル版と言えます。ノートパソコンがOS(Windows、macOS、Linux)を動作させるように、Raspberry PiもLinuxオペレーティングシステムを動かします。
さて、話をマイクロコントローラーに戻しましょう。マイクロコントローラーはオペレーティングシステム(OS)を動かすことができません。また、多くのシングルボードコンピュータと比べて、計算能力やリソースも大きく劣ります。
マイクロコントローラーは、1つのプログラムを繰り返し実行するだけであり、OS全体を動かすわけではありません。これはArduinoのプログラムにも表れており、必要な関数はSetupとloopの2つだけです。Setupは起動時に一度だけ実行され、loopは無限に繰り返し実行されます。

Setup と Loop
では、マイクロコントローラーとは何か?
まとめると、マイクロコントローラーとは「少ないメモリと、プログラマブルな入出力(I/O)周辺装置を備えた小型コンピュータ」のことです。
入力と出力
ご存じのとおり、コンピュータのすべての処理は、最終的にはバイナリ(0か1)に行き着きます。

入力とは、マイクロコントローラーがバイナリデータを読み取ることを指します。入力の代表例はセンサーです。
出力とは、マイクロコントローラーがバイナリデータを送信することを指します。モーターやLEDを制御するのが典型的な出力例です。
なぜマイクロコントローラーが必要なのか?
実は、マイクロコントローラーは、今日私たちが知る「コンピュータ」という概念が確立される前から存在していました。それが今も使われ続けているのは、一部の計算タスクが極めて単純で、シンプルなロジックだけで済むからです。例えば、スイッチのオン・オフやLEDのような小型部品の制御に、メール送信などの日常的なタスクと同じリソースは必要ありません。
今日でもマイクロコントローラーが広く使われる理由は、低消費電力かつ低メモリであるため、低コストにできる点にあります。マイクロコントローラーは、IoT(Internet of Things)が今日可能になり、成功している大きな要因の一つなのです。
どうやって手に入れる?
どのマイクロコントローラーを選ぶべきかは、解決したい課題によって異なります。単純な作業——何かのオン・オフ切り替えやセンサーの値の読み取り——であれば、ほぼどんなマイクロコントローラーでも十分です。
一方、ゲームを動かしたり、より複雑なアイデアを実現したりしたい場合は、より高い計算能力が必要になるため、Raspberry Piのようなシングルボードコンピュータへのステップアップを検討しましょう。
AdafruitやSparkFunは、素晴らしいキットやハードウェアを多数取り扱っており、充実したチュートリアルも活用できます。
Losantにも魅力的なキットがあります。例えば、ドアセンサーを自作すれば、ドアが開けっ放しになったまま長時間経過したときに通知を受け取ることができます。
特に解決したい課題が思いつかない場合は、まず適当なハードウェアを手に入れて、いろいろと触って遊んでみるのがおすすめです。
入門用として購入するとよいものを、いくつか紹介します。
1. NodeMCUボード

NodeMCU
NodeMCUは、ESP8266マイクロコントローラーをベースにしたボードです。このボードが特別なのは、安価でありながらWi-Fi対応である点です。Amazonなら約8.79ドル、eBayならさらに安く入手できます。
すべてのマイクロコントローラーがWi-Fiに対応しているわけではありません。このボードがWi-Fi対応であることは、さまざまなプロジェクトへの扉を開きます。例えば、データを収集してクラウド☁️へ送信するといったことが可能になります。
2. センサー類

ブレッドボード
ハードウェア工作にセンサーは欠かせません。センサーがあれば、周囲の環境や世界を検知できます。学習ツールとしても最適です。
3. ブレッドボードとジャンパーワイヤ


センサーとマイクロコントローラーをつなぐには、両方をブレッドボードに差し込み、ジャンパーワイヤで接続します。
覚えておいてください:eBayやAliExpressなら、ほとんどの部品がより安く手に入ります。ただし、配送まで数週間待つ必要があります。
何を作ればいい?
繰り返しになりますが——いくら強調しても足りません——最初にプロジェクトのテーマを決めておくことが、断然おすすめです。マイクロコントローラーとは何か、どうやって手に入れるかが分かったところで、身の回りの世界を少し違う目線で見てみましょう。何を制御できるでしょうか? 何を自動化できるでしょうか? こうした問いに答え始めると、自然とプロジェクトが見つかるはずです。
プロジェクトのアイデア探しには、Hacksterが最高の味方になってくれます。HacksterにはESP8266のプロジェクトが大量に投稿されており、クールなArduinoプロジェクトも豊富です。
例えば、子どもの頃の夢を実現することだってできます。
ロボットを作ることだって可能です。
大切なのは、アイデアさえ持つことです。
時には、仮想世界のプログラミングよりも、現実世界をプログラミングするほうがずっと楽しいものです。
次は何をする?
マイクロコントローラーは、ほんの入り口にすぎません。あなたの前に広がるのは、探索すべきハードウェアの世界です。Happy Hacking!
さらに読む:
The Absolute Beginner's Guide to Arduino(Arduino超初心者ガイド)
仕事のクリスマス休暇に何か新しいことを学びたいと思い、以前から気になっていたArduinoに挑戦しました……(forefront.io)
Taron Foxworthはハードウェアハッカーであり、LosantのDeveloper Evangelistです。技術を、多くの人が学び、愛し、インスピレーションを得られる形に翻訳することを目標に活動しています。
freeCodeCampのオープンソースカリキュラムは、これまで4万人以上の方々を開発者の仕事へと導いてきました。無料で学習を始めてみませんか。
-
Macのメール整理にお困りですか?「スマートメールボックス」を活用して受信箱をすっきりさせよう
ビジネスやプロフェッショナルな用途において、メールは今なお最も優れたコミュニケーション手段です。しかし多くのユーザーを悩ませるのが、未読メッセージであふれた散らかった受信トレイではないでしょうか。締め切りが迫るプロジェクトを抱えているのに、無関係なメッセージの山から必要な情報を掘り起こさなければならないとなると、大きなストレスになり得ます。 幸い、Apple Mailには「スマートメールボックス」という便利な機能が備わっており、メールを素早く整理して、重要なメールだけを1つのメールボックスにまとめて確認できます。この記事では、スマートメールボックスの設定方法と活用術を詳しく解説します。 スマー
-
macOS VenturaのStage Managerをマスターする:パワーユーザー向けステップバイステップガイド
公開日: 2022年11月21日 午前7:30 EST筆者は初代iPadの登場以来テクノロジーに情熱を注ぎ、Apple・Samsung・Google製品に関する経験を10年以上積んできました。2000年代初期からMacを使い始め、2008年からiPhone、そしてiPadとApple Watchも初代モデルから使用しています。家族や友人にとっては何でも相談できる「テクノロジーの頼れる存在」であり、技術記事の執筆以外にも音楽鑑賞や写真撮影(製品レビューにも活用)を楽しんでいます。macOSにおけるウィンドウ管理は、常に賛否が分かれるテーマでした。Mission Controlを好むユーザーもいれ