マイコン

マイコンとは

マイコン(マイクロコントローラ)は、CPU・メモリ・入出力機能を1つのチップに収めた小さなコンピュータです。炊飯器・エアコン・自動車・キーボードなど、身の回りの電子機器のほとんどに入っており、「機器を制御する」ことに特化しています。

PCのプロセッサが性能を追求するのに対し、マイコンは低価格・低消費電力・リアルタイム性を優先します。数十円のチップが電池で何年も動き、ボタン入力に即座に反応する — この割り切りがマイコンの本質です。

PCとの違い

観点マイコンPC・サーバー
構成CPU・メモリ・周辺機能が1チップ部品を組み合わせる
メモリKB〜MB単位GB単位
OSなし(ベアメタル)か小さなRTOS[[Linux]] や Windows
用途機器の制御に専念汎用的な処理

マイコンには [[OSの基礎]] で扱うようなフル機能のOSが載らないことが多く、電源投入と同時に書き込んだプログラム(ファームウェア)が直接動きます。複数の処理を時間制約付きでこなす場合は、FreeRTOSのようなRTOS(リアルタイムOS)を使います。[[プロセスとスレッド]] のような仕組みを、ごく小さなメモリで実現するイメージです。

開発の入り口

  • Arduino — マイコンボードの定番。C++ベースの簡単なコードでLED点灯やセンサー読み取りを試せる
  • Raspberry Pi Pico / ESP32 — 数百円で買える人気ボード。MicroPythonでも開発でき、ESP32はWi-Fi・Bluetooth内蔵
  • 開発の基本は GPIO(汎用入出力ピン)の制御 — ピンの電圧をON/OFFしてLEDを光らせ、センサーの値を読む

なお、名前が似ている Raspberry Pi(無印)はマイコンではなく [[Linux]] が動くシングルボードコンピュータです。「OSが動くか」が両者を分ける分かりやすい境界線です。

初学者向けポイント

  • IoTデバイスの実体はたいてい「センサー+マイコン+通信モジュール」。測定値を [[エッジコンピューティング]] やクラウドへ送る末端を担う
  • Webエンジニアにとっても、キーボードやIoT家電のファームウェア更新など、マイコンは意外と身近な存在
  • 制約の中でどう動かすかを考える組み込み開発は、メモリやCPUを意識する良い訓練になる

関連技術とのつながり

  • [[OSの基礎]] — マイコンはOSなし(ベアメタル)や小さなRTOSで動く点がPCと対照的
  • [[エッジコンピューティング]] — マイコンを載せたIoTデバイスはエッジ側の末端にあたる
  • [[Linux]] — OSが動くシングルボードコンピュータとの境界を理解する対比先
  • [[プロセスとスレッド]] — RTOSはタスク切り替えの仕組みを小さなメモリで実現している
Q: マイコンの説明として正しいのはどれ?
- [x] CPU・メモリ・入出力機能を1チップに収め、機器の制御に特化した小さなコンピュータ
- [ ] PCのCPUを小型化して性能を追求したプロセッサ
- [ ] クラウド上で動く仮想マシンの一種
解説: マイコンは性能よりも低価格・低消費電力・リアルタイム性を優先し、機器制御に専念する1チップのコンピュータです。

Q: マイコンとRaspberry Pi(無印)を分ける境界として本文で挙げられているのはどれ?
- [ ] チップの製造メーカーが違う
- [x] LinuxのようなOSが動くかどうか
- [ ] インターネットに接続できるかどうか
解説: Raspberry Pi(無印)はLinuxが動くシングルボードコンピュータで、OSなしや小さなRTOSで動くマイコンとは役割が異なります。

Q: ファームウェアの説明として正しいのはどれ?
- [ ] マイコンの周辺機能を拡張する外付け部品
- [ ] マイコン向けのクラウド管理サービス
- [x] マイコンに書き込まれ、電源投入と同時に直接動くプログラム
解説: フル機能のOSを持たないマイコンでは、書き込んだファームウェアが起動と同時に直接ハードウェアを制御します。