基礎 · 読了まで4分

Arduinoとは?初心者のための完全ガイド

Arduinoとは何か、何に使えて、どう動くのか。Arduino Unoの各部、最初のプロジェクトに必要なもの、プログラミング、よくある失敗を1つのガイドにまとめました。

Arduinoは、パソコンで書いたコードで電子回路を制御できる、オープンソースのマイコンボードです。LEDを光らせる、センサーで温度を測る、モーターを回す、スマートフォンからランプをつける。こうしたことが、数本のワイヤーと数行のコードでできます。そのためArduinoは、学校から趣味の工作、エンジニアまで、何百万人もの人にとって電子工作の最初の一歩になってきました。

Arduino Uno
Arduino Uno:USBポート、電源ジャック、デジタルピンとアナログピンのヘッダー。

Arduinoで何ができる?

Arduinoは小さな頭脳のようなものです。外の世界から情報を受け取り(ボタン、センサー)、自分で書いたルールに従って処理し、出力を生み出します(LED、モーター、ディスプレイ、音)。この繰り返しで、たとえば次のような何百ものプロジェクトが作れます。

  • 暗くなると自動で点灯するナイトライト
  • 物が近づくほどブザーが速く鳴るパーキングセンサー
  • 温度と湿度をディスプレイに表示する気象ステーション
  • カードで開くRFIDドアロック
  • 土が乾くと動き出す自動水やりシステム

Arduinoはどう動く?

ボードの中心にはマイコンがあります。Arduino UnoではこのチップがATmega328Pで、16 MHzで動作し、32 KBのプログラムメモリと2 KBのRAMを持っています。パソコンのArduino IDEで書いたコード(スケッチと呼びます)は、USBケーブルでこのチップに書き込まれます。ボードに電源が入っている間、コードは無限ループで動き続けます。パソコンにつないだままにしておく必要はありません。

Arduinoのプログラムには、2つの基本部分があります。

  • setup():ボードの起動時に1回だけ実行されます。ピンを入力にするか出力にするかは、ここで決めます。
  • loop():setupが終わったあと、ずっと繰り返し実行されます。センサーの読み取り、判断、出力はここで行います。
C++ (Arduino IDE)
1void setup() {
2  pinMode(13, OUTPUT);     // 13. pini çıkış yap / set pin 13 as output
3}
4
5void loop() {
6  digitalWrite(13, HIGH);  // LED'i yak / LED on
7  delay(1000);             // 1 sn bekle / wait 1 s
8  digitalWrite(13, LOW);   // LED'i söndür / LED off
9  delay(1000);
10}
このコードを書き込むのに追加の部品は要りません。Arduino Unoの「L」LEDは13番ピンにつながっていて、1秒ごとに点滅します。最初の一歩にぴったりです。

Arduino Unoのピンは何に使う?

ボードの縁にある黒いソケットをピンと呼び、ジャンパーワイヤーで回路をつなぎます。Unoの主なピンは次のとおりです。

ピン役割使用例
D0〜D13(デジタル)HIGH/LOWの読み書きLED、ボタン、リレー
~3、5、6、9、10、11(PWM)analogWriteで中間の値を出すLEDの明るさ、モーターの速度
A0〜A5(アナログ)0〜5 Vを0〜1023として読むポテンショメーター、LDR、温度
A4(SDA)、A5(SCL)I2C通信I2C LCD、RTC、センサー
5V、3.3V、GND回路への給電センサーやモジュールの電源

各ピンの役割をボード上で確認するには、インタラクティブなArduino・ESP32・Raspberry Piのピン配置ツールを使ってください。

Arduinoを始めるのに必要なものは?

高価なキットは要りません。最初の10〜15個のプロジェクトの多くは、次の部品で作れます。

ブレッドボード
ブレッドボード
ジャンパーワイヤー
ジャンパーワイヤー
LED
LED
抵抗
抵抗
タクトスイッチ
タクトスイッチ
ポテンショメーター
ポテンショメーター
  • Arduino Uno(純正品または互換品)とUSBケーブル
  • ブレッドボード(はんだ付け不要の試作用ボード)とオス-オスのジャンパーワイヤー
  • いろいろな色のLEDと、220 Ω・330 Ω・10 kΩの抵抗
  • タクトスイッチを数個、ポテンショメーター1個、パッシブブザー1個
  • あると便利:LDR、HC-SR04距離センサー、サーボモーター、16x2 LCD

Arduinoのプログラミング言語は難しい?

ArduinoはC/C++をベースにした、わかりやすい言語を使います。digitalWrite、analogRead、delayなどの便利な関数があるので、少ない命令で動くプロジェクトが作れます。コードを書いたことがなくても、サンプルプロジェクトを少しずつ変えながら学ぶ方法がとても効果的です。Pythonに近い書き方がよければ、Raspberry Pi PicoとMicroPythonもよい選択肢です。

Arduino、ESP32、Raspberry Piの違いは?

Arduino Uno
Arduino Uno
ESP32
ESP32
Raspberry Pi Pico
Raspberry Pi Pico
ボード主な特徴向いている人
Arduino Uno5 V、丈夫、情報が最も多いまったくの初心者
ESP32Wi-Fi+Bluetooth、高速、安いインターネットにつなぐ(IoT)プロジェクト
Raspberry Pi PicoMicroPython、とても安いPythonで学びたい人
Raspberry Pi 4/5Linuxが動くコンピューターカメラ、画像処理、サーバー

どのArduinoを選べばよいか迷ったら、Arduino Uno・Nano・Megaの比較をご覧ください。

初心者によくある失敗

  • LEDを抵抗なしでつなぐ:LEDとピンが壊れることがあります。正しい値はLED抵抗計算ツールで求めましょう。
  • GNDの接続を忘れる:回路とボードのGNDが共通でないと、何も動きません。
  • プルアップ/プルダウン抵抗なしでボタンを読む:値がランダムに変わります。INPUT_PULLUPを使いましょう。
  • モーターやリレーをピンから直接動かす:ピンが流せる電流は最大でも約20 mAです。大きな電流が必要な負荷にはトランジスタやドライバーを使いましょう。
  • シリアルモニタのボーレートをコードと合わせない:画面に文字化けした文字が表示されます。
Arduinoのアナログピンとデジタルピンに5 Vを超える電圧をかけないでください。それより高い電圧を測るときは分圧回路を使います。

最初のプロジェクトはどう選ぶ?

いちばんの学び方は、簡単なプロジェクトを動かしてから少しずつ変えていくことです。まずLED1個、次に信号機、そしてボタンでの制御、センサーへと進みましょう。どのプロジェクトから始めればよいかわからないときは、BlueGraysアプリのプロジェクトファインダーが、興味や手持ちのボードに合ったプロジェクトを選んでくれます。

よくある質問

Arduinoを使うにはプログラミングの知識が必要ですか?

いいえ。まずは用意されたサンプルプロジェクトを書き込んで動かし、コードを少しずつ変えながら理解していけば大丈夫です。基本的な命令は数日で覚えられます。

純正のArduinoと互換品、どちらを買うべきですか?

互換ボードも同じように動き、価格も安めです。互換品の中には別のUSBチップ(CH340)を使うものがあり、その場合はパソコンにドライバーのインストールが必要です。純正ボードを買うことは、Arduinoプロジェクトの支援にもなります。

Arduinoは電池で動かせますか?

はい。9 V電池や7〜12 VのACアダプターはボードの電源ジャックに、5 VのモバイルバッテリーはUSBポートにつなげます。長時間電池で動かすプロジェクトでは、低消費電力モードや省電力なボード(ESP32のディープスリープなど)が向いています。

ArduinoとRaspberry Piは同じものですか?

いいえ。Arduinoは1つのプログラムを実行するマイコンで、すぐに起動してハードウェアを直接制御します。Raspberry PiはLinuxが動く本格的なコンピューターです。センサーやモーターのプロジェクトなら、Arduinoのほうがシンプルです。

Arduinoボードがパソコンに認識されません。どうすればよいですか?

まず、USBケーブルがデータ通信に対応しているか確認してください。充電専用のケーブルもあります。互換ボードの場合はCH340ドライバーをインストールし、Arduino IDEの「ツール」メニューで正しいボードとポートを選びましょう。

全プロジェクトを見る
LEDの点滅
#1初級

LEDの点滅

電子工作の第一歩は、1個のLEDを点けたり消したりすることです。Arduinoで短い間隔で点灯と消灯を繰り返すと、LEDが素早く点滅します。ボードが光を制御する仕組みを最もシンプルな形で確かめ、これから取り組むプロジェクトの基礎を身につけます。

4.6(188)
1127
信号機
#3初級

信号機

毎日道路で見かける信号機の小さな模型です。赤が2秒点灯し、黄が一瞬点灯した後、緑が2秒点灯します。その後、再び黄を経て赤に戻り、この動作を繰り返します。3個のLEDを順番に点けたり消したりしながら、タイミングの組み立て方を学びます。

4.8(131)
397
ボタンでLEDを点灯(押している間のみ)
#9初級

ボタンでLEDを点灯(押している間のみ)

呼び鈴のように、押している間は点灯し、離すと消灯します。Arduinoはボタンの状態を常に読み取り、押されている間はLEDを点灯させ、指を離した瞬間に消灯させます。このシンプルな回路で、ボードが外部からの操作を検知する仕組みを学べます。

4.8(113)
229
LDRで作る常夜灯
#12初級

LDRで作る常夜灯

暗くなると自動で点灯し、朝になると消灯する小さな常夜灯です。光センサーが部屋の明るさを測定し、Arduinoが十分に暗くなったらLEDを点灯させ、明るくなったら消灯させます。街灯が夕方になると自動で点灯する仕組みも理解できます。

4.8(102)
205
ブザーの使い方
#13初級

ブザーの使い方

呼び鈴やアラームがどうやって音を出すのか、気になったことはありませんか?Arduinoが小さなブザーを短い間隔で鳴らし、音を出す、止める、を繰り返します。電気で音が生まれる仕組みを学び、メロディーを演奏するプロジェクトへの第一歩を踏み出せます。

4.7(89)
161
サーボモーターの使い方
#35初級
プレミアム

サーボモーターの使い方

小型サーボモーターのアームが、一方の端、中央、もう一方の端の3つの位置へ順番に回り、それぞれの位置で2秒間止まります。Arduinoが保持する角度をモーターに指示すると、モーターはその位置まで動いて止まります。ロボットアームや自動開閉するふたが動く仕組みを学べます。

4.7(48)
67
HC-SR04で距離を測定(シリアルモニタ表示)
#27初級

HC-SR04で距離を測定(シリアルモニタ表示)

HC-SR04センサーは、コウモリが暗闇で道を見つけるのと同じ仕組みで動作します。人には聞こえない音を出し、その反響を捉えて前方の物体までの距離を測ります。Arduinoは0.5秒ごとに距離をセンチメートル単位でコンピューターの画面に表示し、3〜100センチメートルの測定値を示します。駐車センサーや障害物を避けるロボットなどのプロジェクトの基礎になります。

4.6(46)
71
DHT11で温度と湿度を測定
#55中級

DHT11で温度と湿度を測定

部屋の温度は何度で、空気は湿っているでしょうか、それとも乾燥しているでしょうか?DHT11センサーが温度と湿度を測定し、Arduinoが2行のLCDディスプレイに値を表示して、数秒ごとに更新します。センサーに異常があればエラーメッセージが表示されます。自分だけの小さな気象観測装置を作る第一歩です。

4.7(47)
73