組み込みエンジニアはソフトだけじゃない!ハードウェア知識が必要な理由を解説
この記事では、組み込みエンジニaアにはソフトウェアだけでなくハードウェアの知識も必要 というテーマで、何をどう考えればよいのかを分かりやすく解説します。
組み込みエンジニアの基本:マイコンにプログラムを書く仕事
組み込みエンジニアの主な仕事は、マイコン(マイクロコントローラ)にプログラムを書くこと です。
- 開発環境でプログラムを書く
- マイコンに書き込む
- マイコンのピン設定を行う
マイコンには多くのピンがあり、それぞれに
- 入力
- 出力
- 通信
- 演算
- LCD制御
などの機能を割り当てる必要があります。
これは自由に設定できるわけではなく、データシートに記載された選択肢の中から決める 形になります。
LEDを光らせるだけでもハードの知識が必要

まずはシンプルな例として、マイコンからLEDを光らせる 場合を考えてみます。
LEDを直接つなぐと壊れる理由
マイコンのピンからLEDへ直接電圧をかけると、LEDは壊れます。
理由は簡単で、電子部品には流せる電流・かけられる電圧の上限がある からです。
LEDの場合、一般的には 10mA 程度 流せば光ります。
しかし、マイコンから直接つなぐと、マイコンが流せるだけ電流が流れてしまい、LEDが破損します。
抵抗を入れて電流を調整する
そこで必要なのが 抵抗 です。 オームの法則(V = R × I)を使って計算します。
- マイコンの出力:3V
- LEDに流したい電流:10mA(0.01A)
計算: 3 = R × 0.01 → R = 300Ω
つまり、300Ωの抵抗を直列に入れれば安全にLEDを光らせられる ということです。
スイッチ入力を使ってLEDを制御する

次に、スイッチを押したらLEDが光るようにしたい場合。
- スイッチの状態を読み取る入力ピンを設定
- スイッチが押されていれば電圧が入力される
- その状態をプログラムで判定してLEDをON/OFF
このように、ユーザーの操作をハードウェアから受け取り、ソフトで制御する という流れになります。
タイマー割り込みでLEDを点滅させる
LEDを一定周期で点滅させたい場合は、マイコンの タイマー機能 を使います。
- クロック数が一定値に達したら割り込み発生
- 割り込み処理でLEDのON/OFFを切り替える
これにより、ソフトウェア側の理解も深まります。
モーターはマイコン直結では動かない

LEDの次にやりたくなるのがモーター制御ですが、マイコンのピンから直接モーターを動かすことはできません。
理由:
- モーターを動かすには大きな電流が必要
- マイコンのピンが流せる電流には限界がある
モーターを動かすための方法
- トランジスタ
- FET
- リレー
- オペアンプ
などを使って、別電源でモーターを駆動する回路を作る必要があります。
ここで初めて、ハードウェアの知識が重要になってきます。
電圧を測るには「分圧」が必要

次に、電池の電圧を測ってLEDを点灯させる例を考えます。
例えば6Vの電池を使っていて、5V以下になったらLEDを点灯させたいとします。
しかし、6Vをそのままマイコンに入力すると壊れます。 そこで必要なのが 分圧 です。
分圧の例
100Ωの抵抗を2つ直列につなぎ、その真ん中をマイコンに入力すると…
- 全体:6V
- 真ん中:3V(6Vの半分)
このように、抵抗で電圧を安全な値まで落としてから入力 します。
ただし、マイコンに入ってくるのは3Vなので、プログラム側では
「3V → 実際は6Vだな」
と補正して計算する必要があります。 これが 演算処理 です。
組み込みエンジニアはソフトとハードの両方が必要
ここまでの例から分かる通り、組み込みエンジニアは
- プログラム(ソフトウェア)
- 電気回路(ハードウェア)
の両方を理解しておく必要があります。
もちろん最初から全部分かる必要はありません。
教えてもらいながら、作りながら、データシートを読みながら、少しずつ理解していくものです。
まとめ
- 組み込みエンジニアはマイコンにプログラムを書く仕事
- LEDひとつ光らせるにもハードの知識が必要
- 抵抗・分圧・トランジスタなどの基礎が重要
- ソフトとハードの両方を理解することで仕事がしやすくなる
- 経験を積むほど価値が高まる職種
組み込みの世界は奥が深いですが、学べば学ぶほど面白くなります。
ぜひ楽しみながら取り組んでみてください。
以上で解説を終わります。ありがとうございました。
