Arduinoって何?
Arduinoを使うと、どんなことができるの?
Arduino(アルデュイーノ)は、電子工作でよく使われるマイコンボードです。LEDを光らせたり、モーターを作動させたり、さまざまなものを作成できます。2005年にイタリアで開発され、世界中に広く普及しています。
しかし、最初はハードウェアやプログラミングの知識が必要で、ハードルが高いと感じてしまうかもしれません。
そこで、本記事では電子工作の入門者に向け、Arduinoの特徴をできることや使い方なども交えわかりやすく解説します。「電子工作を始めてみたいけれど、何から手をつけたらいいかわからない」という方は、ぜひ最後までご覧ください。
- Arduinoとは電子工作で利用されるハードウェア装置
- ArduinoはC言語でプログラムを作成できる
- Arduinoを扱う難易度は低く初心者でも使いやすい
この記事の監修者
フルスタックエンジニア
音楽大学卒業後、15年間中高一貫進学校の音楽教師として勤務。40才のときからIT、WEB系の企業に勤務。livedoor(スーパーバイザー)、楽天株式会社(ディレクター)、アスキーソリューションズ(PM)などを経験。50歳の時より、専門学校でWEB・デザイン系の学科長として勤務の傍ら、副業としてフリーランス活動を開始。 2016年、株式会社SAMURAIのインストラクターを始め、その後フリーランスコースを創設。現在までに100名以上の指導を行い、未経験から活躍できるエンジニアを輩出している。また、フリーランスのノウハウを伝えるセミナーにも多数、登壇している。
本記事の解説内容に関する補足事項
本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。
また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に、提供コースは「教育訓練給付制度の指定講座」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。
記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。
Arduino(アルデュイーノ)とは?
Arduinoは、電子工作でよく使われるマイコンボードです。AVRマイコンと呼ばれる小さな基板に、入出力ポートや電源回路などが搭載されています。
Arduinoを使うと、LEDを点灯させたり、モーターを動かしたりなど、さまざまな電子工作が可能です。
また、ArduinoはC++に似た言語でプログラミングもできるため、エンジニアだけではなくアーティストにも使われています。
コンピュータに精通していない人でも簡単にハードウェアを扱えるのが、Arduinoの大きな特徴です。
電子工作とは
電子工作とは、電子部品や半導体素子と呼ばれる素子を使った工作のことです。Arduinoは、電子工作でよく使われるマイコンボードです。プログラムを書くことで、電子部品を制御できます。
ここからは、Arduinoへの理解を深められるよう、次のトピック別で電子工作について詳しく解説します。
なお、次の記事では電子工作でできることを詳しく解説しているので、あわせて参考にしてください。
→ 電子工作でなにができる?初心者の為に電子工作を分かりやすく解説!
電子工作で作れるもの
電子工作で作れるものは、実用的なアイテムから遊び心のあるものまで、多種多様です。
- LEDライトやスピーカーなどの照明・音響機器
- 温度センサーや湿度センサーを使った環境モニター
- モーターを動かして作動するロボットや玩具
- スマートフォンやパソコンと連携したIoTデバイス
- ゲーム機やおもちゃの改造
- 電子楽器や音響機器の製作
電子工作を覚えると、家にある電気製品を自分で改造できるようになるなど、日常生活でも役に立ちます。
電子工作でさまざまなものを作ることで、身の回りの製品の仕組みや技術を理解できるようになり、あなたの世界観を変えるきっかけとなるでしょう。
電子工作を作るためのツール
電子工作でよく使われるツールとしては、初心者向けの「Arduino」と、より高度な機能を実現できる「Raspberry Pi」の2つがあります。
Arduinoは、C言語風のプログラミング言語で制御できる、小型のマイコンボードです。電源とUSBケーブルがあれば、すぐに電子工作を始められます。
Raspberry Piは、Linux OSを搭載したシングルボードコンピュータです。WebブラウザやOfficeソフトなどのアプリケーションを実行できるため、Arduinoよりも高度な機能を実装できます。
電子工作の初心者には、Arduinoがおすすめです。Arduinoは、使い方が簡単で、さまざまな電子部品を接続できるため、電子工作の基礎を学ぶのに最適です。
Raspberry Piとの違い
電子工作の入門に最適な「Arduino」と、より高度な機能を実現できる「Raspberry Pi」の2つのツールは、どちらも人気があります。
ここでは、次のトピック別にArduinoとRaspberry Piの違いを解説します。
なお、下の記事ではRaspberry Piの特徴を詳しく解説しているので、あわせて参考にしてください。
→ Raspberry Piとは何か?初心者でも3分で分かる基礎知識
システム構築の難易度
Arduinoは、シンプルな繰り返し動作を行う電子工作に適しており、プログラミングや回路設計が比較的簡単です。初心者でも取り組みやすく、LEDの点滅など基本的な動作を容易に実現できます。
一方、Raspberry Piは処理能力が高く、複雑なプログラミングや複数のプロセスを同時に実行するような用途に向いています。高度なコンピューティングやデータ処理、マルチタスクが必要なシステム構築が可能です。
壊れやすさ
Arduinoは、シンプルな構造をしており、適切に取り扱えば故障しにくいです。単純な回路とプログラムで動作するため、外部からの物理的な衝撃や電気的なトラブルにも比較的強いです。ただし、過電流や逆電流など不適切な条件下では、Arduinoも故障します。
一方でRaspberry Piは、高機能なコンピュータを小型の基板上に集積しており、その機能の豊富さが故障リスクを高めています。特にデータストレージの面では、適切なシャットダウン手順を踏まないとSDカードのデータが破損する可能性があり、耐久性という点などArduinoに劣る面もあります。
OSの有無
ArduinoはOSを必要としないため、単一のプログラムを直接デバイスに書き込んで実行します。このシンプルさがArduinoの特長であり、素早くプロトタイピングを進められます。
ただし、メモリ容量が限られているため、複雑なタスクや大規模なプログラムを実行するには不向きです。
一方のRaspberry Piはフル機能のコンピュータとして動作し、OSのインストールが必要です。Raspberry PiにはLinuxベースのOSが多く、モニター、マウス、キーボードを接続すれば、通常のPCと同様に使用できます。
インターネットを利用したプロジェクトや、複数のプロセスを同時に動かすような複雑なタスクもこなせますが、開発環境のセットアップには時間がかかり、Arduinoよりも初期設定が複雑です。
性能の高さ
Arduinoは、単純な逐次処理を得意としており、初期状態ではマルチタスクの処理は難しいです。しかし、RTOSの実装や複数のタスクを高速に切り替えることで、実質的にマルチタスクを実現できます。
また、Arduinoの大きな特長のひとつはその拡張性です。シールドと呼ばれる拡張ボードを使うことで、Wi-Fi接続やセンサーの追加など、さまざまな機能を手軽に追加できます。
一方のRaspberry Piは、高い性能を持っています。特に最新モデルのRaspberry Pi 3 Model B+のようなバージョンでは、Wi-FiやBluetoothが組み込まれており、直接インターネットに接続することが可能です。
Webサーバーを動かすことや、インターネットを利用したプロジェクトを手軽に実現できます。
Arduinoの特徴4つ
ここからは、Arduinoの特徴を4つにまとめて紹介します。
電子工作が苦手な人でも簡単に扱える
Arduinoは、電子工作が苦手な人でも簡単に扱えるマイコンボードです。Arduinoでは、プログラミングと回路の組み立てが分離されており、プログラミングは、C言語風の簡単な言語で行えます。
また、ブレッドボードと呼ばれる基盤の代わりになるものを使っているため、プロトタイピングの段階では、はんだごてを使わずに回路を組めます。
そのため、プログラミングが苦手な人でも、簡単に電子工作を始められます。
初心者でも簡単にプログラムを書ける
Arduinoは、初心者でも簡単にプログラムを書けます。例えば、LEDをチカチカと点滅させるような基本的な操作も、わずか数行のプログラムで実現可能です。
Arduino用のプログラミング言語はC++に似ているため、プログラミング経験がある人はすぐに慣れるでしょう。
温度センサー機能などを簡単に追加できる
Arduinoは、センサーやモジュールを接続することで、さまざまな機能を簡単に追加できます。
具体的な機能は以下のとおりです。
- 温度センサーを接続すれば、温度を測定できる。
- 気圧センサーを接続すれば、気圧を測定できる。
- 赤外線センサーを接続すれば、物体や人の動きを検知できる。
Arduinoには、さまざまなセンサーを接続するためのシールドやモジュールが用意されています。このような機能拡張のしやすさが、Arduinoの大きな特徴です。
ステージの演出で使われている
Arduinoは、ステージ演出をはじめ、幅広い分野で活用されています。エンジニアだけでなく、アーティストや大学の講義・研究などでも利用されているのです。
Arduinoはプログラミングと回路の組み立てを分けて行うため、ハードウェアの知識がなくても簡単に扱えます。
Arduinoの種類
Arduinoの基板は性能や価格に応じて複数の種類があります。ここでは、Arduinoの主な種類を、3つにまとめて紹介します。
Arduino Uno
Arduino Unoは、Arduinoの入門に最適なボードです。Arduino Unoは、価格も数千円程度と手頃で、Arduinoの公式Webサイトでも「最も堅牢で、Arduinoファミリー全体で最も広く使用されているボード」と紹介されています。
そのため、初めてArduinoを使う方でも手に入れやすく、学習に最適な選択肢といえるでしょう。
Arduino MEGA ADK
Arduino MEGA ADKは、Android端末と連携できる上位モデルです。スマートフォンやタブレットと連携したアプリケーションを開発できます。
Arduino MEGA ADKは、Unoよりも多くの入出力ピンと拡張機能を搭載しており、大規模なプロジェクトや複雑なタスクに対応する能力を持っているのが特徴です。
Arduino Uno R4
2023年6月27日に発売された「Arduino Uno R4」は、前モデル「Arduino Uno R3」に比べて大幅な性能向上を実現しています。「R」はリビジョンを意味し、「R4」は「Revision 4」を指します。
「Arduino UNO R3」は2014年に日本で発売され、初心者におすすめのモデルとされていますが、スペックは今となってはやや低いです。
しかし、トラブル時の対処法やサンプルコードがインターネット上に豊富にあるため、初心者でも安心して使用できます。
「Arduino UNO R4」は、優れた特性を受け継ぎつつ、ハードウェアの性能を向上させた新世代のモデルです。より複雑なプロジェクトや高度なプログラミングが求められる用途にも対応できるようになっています。
Arduinoでできること
ここからは、Arduinoでできることを、6つにまとめて紹介します。
なお、次の記事では事例も交え、Arduinoでできることを詳しく解説しているので、あわせて参考にしてください。
→ 【電子工作入門】Arduinoでできることは?実際の作品をもとに紹介
LEDを点滅させる
Arduinoの基本的な活用例として、「Lチカ」と呼ばれる、LEDを点滅させるプログラムがあります。LEDの点灯・点滅を制御し、その間隔や持続時間を自由に設定可能です。
初心者でも簡単に取り組めるため、プログラミングとハードウェアの基本的な理解を深めるのに役立ちます。Lチカは、Arduinoを使用した他の多くのプロジェクトへの入門点です。
スイッチの状態を読み取る
Arduinoは、スイッチのオン/オフ状態を簡単に読み取れるため、さまざまなプロジェクトを実現できます。
例えば、スイッチをオンにするとLEDが点灯し、オフにすると消灯するなどの操作をプログラミングで簡単に実装可能です。
スイッチの読み取りはデジタル入力の基本的な使い方であり、ボタンやセンサーからの信号をArduinoに送信して、その状態に応じたアクションを起こせます。
家電製品のスイッチボタンの操作と同様のイメージで捉えると理解しやすいでしょう。
可変抵抗の変化を読み取る
可変抵抗の抵抗値の変化を読み取り、それを元にさまざまな操作を行えます。例えば、可変抵抗を使ってLEDの明るさを調整したり、モーターの速度をコントロールしたりすることが可能です。
これは昔のテレビのチャンネルや音量の調節に使用されていたツマミと似ています。ツマミを回転させることで抵抗値が変わり、それに伴って電流の流れが変化するため、接続されたデバイスの動作を調節できるのです。
明るさを検知する
周囲の明るさを検知し、その情報をもとにさまざまな操作を自動で行えます。
例えば、暗くなった際に自動でLEDを点灯させたり、逆に明るくなったらLEDを消灯させたりできます。これは自動制御の照明や、夜間の安全灯などとして利用できるでしょう。
また、この機能を応用することで、朝日が昇ると同時にLEDが点灯し、それを目覚まし時計の代わりとして利用するといったアイデアも実現可能です。
モーターを制御する
モーターを使ったデバイスの制御は、Arduinoの応用例の中でも特に人気のある分野です。360度回転するモーターを活用することで、プロペラを回転させるなど、動的なデバイスを作れます。
例えば、ミニ四駆のような小型のモーターを使えば、簡単に自作の小型扇風機を作成できます。Arduinoのプログラムを書いてモーターの回転速度を調整したり、オン・オフを制御したりすることが可能です。
サーボモーターを制御する
Arduinoでサーボモーターを制御することにより、簡単なプログラミングで高度な動きを持つデバイスやロボットを作成できます。
サーボモーターは通常のモーターとは異なり、360度連続して回転するのではなく、特定の角度で停止し、その位置を保持できます。
例えば、ロボットの腕や足の関節を動かす際に、サーボモーターを使って細かい調整を行うことが可能です。
サーボモーターは、ロボットの関節や操縦面制御など、正確な位置制御が必要な用途で非常に有効です。
Arduinoの基本的な使い方
ここからは、Arduinoの基本的な使い方を、4つのステップにまとめて解説します。
- STEP1:Arduino IDEをインストールする
- STEP2:Arduinoとパソコンを接続する
- STEP3:Arduinoにプログラムを書き込む
- STEP4:動作を確認する
STEP1:Arduino IDEをインストールする
Arduinoを使い始めるには、まずArduino IDEをインストールする必要があります。Arduino IDEは、Arduinoのプログラムを作成、編集、実行するための開発環境です。Arduinoの公式Webサイトから無料でダウンロードできます。
インストール手順は以下のとおりです。
- 1.Arduinoの公式ホームページにアクセス
- 2.ページを少し下にスクロールして、対応しているOS(Windows、Mac、またはLinux)を選択
- 3.「JUST DOWNLOAD」をクリックして無料ダウンロードを選択するか、「CONTRIBUTE & DOWNLOAD」を選んで寄付+ダウンロード
- 4.ダウンロードが完了したら、表示される指示に従ってインストールを完了
これで、Arduino IDEがインストールされ、Arduinoプログラミングを始める準備が整います。
STEP2:Arduinoとパソコンを接続する
Arduinoを使うためには、パソコンとArduinoボードを物理的に接続する必要があります。この接続には特定のタイプのUSBケーブルが必要です。
必要なケーブルは「USBケーブル A-Bタイプ」です。一般的なプリンターに使用されるタイプのケーブルで、スマートフォンの充電ケーブルとは異なるので注意してください。
接続が完了すれば、Arduino IDEを通じてボードにプログラムをアップロードする準備が整います。
STEP3:Arduinoにプログラムを書き込む
Arduinoボードに組み込まれたLEDを点滅させる、基本的なプログラムを書き込む手順について説明します。手順は以下のとおりです。
- 1.Arduino IDEを開いて、新しいプログラムを作成
- 2.下記のサンプルコードをIDEに入力するかコピー&ペースト
void setup() { pinMode(13, OUTPUT); // 13ピンの出力設定 } void loop() { digitalWrite(13, HIGH); // LEDを点灯 delay(500); // 0.5秒待つ digitalWrite(13, LOW); // LEDを消灯 delay(500); // 0.5秒待つ }
- 3.ArduinoボードをUSBケーブルでパソコンに接続
- 4.Arduino IDEの「ツール」タブから適切なシリアルポートが選択されていることを確認
- 5.右矢印の「マイコンボードに書き込む」を実行
なお、Arduinoにプログラムを書き込む際は下記2点を確認しましょう。
- コードは大小文字が区別されるため、正確に書かれているかを確認する
- 各命令の最後にはセミコロン(;)が必要なため、漏れがないかを確認する
以上のステップに従えば、ArduinoボードのLEDを点滅させるプログラムが書き込まれ、正しく動作するはずです。
STEP4:動作を確認する
最後にプログラムが正しく動作するかを確認しましょう。ボード上のLEDが0.5秒間隔で点灯し、消灯するのを確認します。
もし、LEDが点滅しない場合は、プログラムの書き込みが正しく行われたか、コードに誤りがないかを再確認します。また、接続が不安定でないか、USBケーブルに問題がないかもチェックしてください。
Arduinoを使用すると、LEDを点滅させるという単純なタスクから、より複雑なプロジェクトまで、電子工作の幅が広がります。最初は簡単なプロジェクトから始めて、徐々にスキルを積み重ねると良いでしょう。
まとめ
電子工作を始めるにあたっては、まずは自分に合ったツール選びが重要です。初心者には、シンプルな構造で簡単にプログラミングできるArduinoがおすすめです。まずはLEDを点滅させるなど、簡単なプロジェクトから始めてみましょう。
Arduinoで電子工作をするのも楽しいですが、将来仕事につなげたいなら、組み込み系のエンジニアとしてのスキルを身につけることが大切です。
なお、次の記事ではそもそもプログラミング初心者は何から始めれば良いのか、その学習手順やおすすめの教材を紹介しているので良ければ参考にしてください。