# 2.Arduinoの始め方 ## **2.1 Arduinoとは何か?** Arduinoは使いやすいハードウェアとソフトウェアに基づいたオープンソースの電子プラットフォームです。Arduinoボードは入力を読み取ることができます。例えば、センサーの光、ボタンに触れた指、またはTwitterのメッセージなどです。そしてそれを出力に変換します。例えば、モーターを動かす、LEDを点灯させる、オンラインで何かを公開するなどです。IDEでプログラムコードを書き、ボード上のマイクロコントローラに指示を送ることで、ボードに何をするかを伝えることができます。そのためにArduinoプログラミング言語(Wiringに基づく)と、Processingに基づいたArduinoソフトウェア(IDE)を使用します。 ## **2.2 Windows用Arduino IDEのインストール** 最新のArduino IDEバージョンをダウンロードするには、 にアクセスしてください。Windows、Mac、Linux用のバージョンがあります。 **Arduino IDE 2** Arduino IDE 2は堅牢な前バージョンArduino IDE 1.xから大きく進化しており、UIの刷新、ボード&ライブラリマネージャの改善、デバッガ、オートコンプリート機能など多くの新機能が搭載されています。 ここではWindowsにArduino IDE 2.2.1をダウンロードしてインストールする方法を紹介します。 インストーラー(.exe)とZipパッケージのどちらかを選べます。Arduinoソフトウェア(IDE)を使うために必要なすべてを直接インストールし、ドライバも含まれているインストーラーの使用をお勧めします。Zipパッケージの場合はドライバを手動でインストールする必要があります。Zipファイルは[ポータブルインストール](https://arduino.cc/en/Guide/PortableIDE)を作成したい場合にも便利です。 ![](../media/06c450364fe07776520f5b245a6ed165.png) ![](../media/38c6badd454d9c623543a457d32f832f.png) ![](../media/bb179a14b42ee1e130df8c8da575c509.png) ![](../media/ecb1b309ea3db40704e3dca0d341e031.png) ![](../media/c26346f5750f926978e7fefffa5216d4.png) ![](../media/f3c51f678212efc301ef976a892cf9c6.png) ![](../media/56d37d47b71547d2c310c8e7cb440abb.png) ![](../media/539cb1702833b283cda61cc2bb1a1dc2.png) ![](../media/7a1e5c40aec7d793ca7975966ddf3cc4.png) 「Finish」をクリックしてArduino IDEを起動します。 ![](../media/5038e9b20e71f7b401a691c43baf599a.png) ファイアウォールがアクセス許可を求めるので、**Allow access**をクリックしてください。 ![](../media/0194e55376dc05f8f403d1b547150003.png) Arduino IDE 2.0 ![Arduino IDE](../media/a438335b489d8e6390131b6f44eb2019.jpeg) **Verify / Upload** - コードをコンパイルしてArduinoボードにアップロードします。 **Select Board & Port** - 検出されたArduinoボードとポート番号が自動的に表示されます。 **Sketchbook** - コンピュータにローカル保存されているすべてのスケッチがここにあります。さらにArduino Cloudと同期したり、オンライン環境からスケッチを取得することもできます。 **Boards Manager** - Arduinoおよびサードパーティのパッケージを閲覧し、インストールできます。例えば、MKR WiFi 1010ボードを使うにはArduino SAMD Boardsパッケージのインストールが必要です。 **Library Manager** - Arduinoとそのコミュニティが作成した何千ものライブラリを閲覧できます。 **Debugger** - プログラムをリアルタイムでテスト・デバッグします。 **Search** - コード内のキーワードを検索します。 **Open Serial Monitor** - シリアルモニターツールをコンソールの新しいタブで開きます。 Arduino IDEについてもっと知りたい場合は、こちらのドキュメントを参照してください:[Getting Started with Arduino IDE 2](https://docs.arduino.cc/software/ide-v2/tutorials/getting-started-ide-v2) ## 2.3 Keyestudio UNOボードの紹介 このボードのコアプロセッサはATMEGA328P-AUで、ATMEGA16U2がUART-USB変換チップとして使われています。 14本のデジタル入出力ピン(うち6本はPWM出力として使用可能)、6本のアナログ入力、16 MHzの水晶発振器、USB接続、電源ジャック、1つのICSPヘッダー、リセットボタンを備えています。 USBケーブルでコンピュータに接続し、DC 7-12Vの外部電源で電源を供給するだけで使用できます。 ![](../media/8bb76386a2505a9dd0b18a8c78745a64.png) | **マイクロコントローラ** | **ATMEGA328P-AU** | |-----------------------------|----------------------------------------------------------| | 動作電圧 | 5V | | 入力電圧(推奨) | DC 7-12V | | デジタルI/Oピン | 14 (D0-D13) | | PWMデジタルI/Oピン | 6 (D3,D5,D6,D9,D10,D11) | | アナログ入力ピン | 6 (A0-A5) | | フラッシュメモリ | 32 KB (ATMEGA328P-AU)、うち0.5 KBはブートローダ使用 | | SRAM | 2 KB (ATMEGA328P-AU) | | EEPROM | 1 KB (ATMEGA328P-AU) | | クロックスピード | 16 MHz | ![](../media/fad6c7bef8e618006f403af9a068476f.png) | **インターフェース番号** | **説明** | |----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 | **ICSP(インサーキットシリアルプログラミング)ヘッダー** AVRのArduinoマイクロプログラム用ヘッダーで、MOSI、MISO、SCK、RESET、VCC、GNDで構成されています。SPI(シリアルペリフェラルインターフェース)とも呼ばれ、出力の「拡張」と考えられます。SPIバスのホスト下でスレーブ出力デバイスとして機能します。PCに接続する際は、ATMEGA328P-AUにファームウェアを書き込みます。 | | 2 | **シリアル通信ピン** シリアル通信に接続します。4ピン(GND、VCC(スライドスイッチで3.3Vまたは5Vを切替)、RX、TX) | | 3 | **GND** グランドピン | | 4 | **Vピン(VCC)** 外部センサーやモジュールに電源を供給します。スライドスイッチで3.3Vまたは5Vを選択可能。 | | 5 | **デジタルI/O** 14本のデジタル入出力ピン(D0からD13まで)があり、そのうち6本はPWM出力として使用可能です。これらのピンはデジタル入力ピンとして論理値(0または1)を読み取ることができます。また、LEDやリレーなどのモジュールを駆動するデジタル出力ピンとしても使用できます。D3、D5、D6、D9、D10、D11はPWM生成に使用可能です。デジタルポートはメスヘッダーまたは2.54mmピッチのピンヘッダー(Sラベル付き)で接続可能です。 | | 6 | **AREF** アナログリファレンス用。外部リファレンス電圧(0-5V)をアナログ入力ピンの上限として設定する場合に使用します。 | | 7 | **SDA** IIC通信ピン | | 8 | **SCL** IIC通信ピン | | 9 | **ICSP(インサーキットシリアルプログラミング)ヘッダー** AVRのArduinoマイクロプログラム用ヘッダーで、MOSI、MISO、SCK、RESET、VCC、GNDで構成されています。ATMEGA16U2-MUに接続されています。PCに接続する際は、ATMEGA16U2-MUにファームウェアを書き込みます。 | | 10 | **マイクロコントローラ** 各制御ボードは独自のマイクロコントローラを持ち、ボードの「頭脳」と考えられます。マイクロコントローラは通常ATMEL製です。Arduino IDEで新しいプログラムをロードする前に、ボードに搭載されているICを確認する必要があります。この情報はICの上部に記載されています。このボードで使用されているマイクロコントローラはATMEGA328P-AUです。 | | 11 | **D13 LED** デジタルピン13に接続された内蔵LEDがあります。ピンがHIGHのときLEDが点灯し、LOWのとき消灯します。 | | 12 | **TX LED** ボード上に「TX(送信)」ラベルがあります。シリアル通信でメッセージを送信するときにTX LEDが点滅します。 | | 13 | **RX LED** ボード上に「RX(受信)」ラベルがあります。シリアル通信でメッセージを受信するときにRX LEDが点滅します。 | | 14 | **電源LED** LEDが点灯している場合、回路ボードに正しく電源が供給されています。消灯している場合は電源が入っていません。 | | 15 | **USB接続** USB接続でボードに電源を供給できます。またUSBポート経由でプログラムをアップロードできます。USBケーブルでボードをPCに接続してください。 | | 16 | **ATMEGA16U2-MU** USBからシリアルへの変換チップで、USB信号をシリアルポート信号に変換します。 | | 17 | **電源スイッチ** スライドスイッチでV(VCC)ピンの電圧を3.3Vまたは5Vに切り替えられます。 | | 18 | **電圧レギュレータ** ボードに供給される電圧を制御し、プロセッサや他のコンポーネントで使用される直流電圧を安定化します。外部入力のDC7-12VをDC5Vに変換し、プロセッサや他のコンポーネントにDC5Vを供給します。出力電流は2Aです。 | | 19 | **DC電源ジャック** DC7-12Vの外部電源をDC電源ジャックから供給できます。 | | 20 | **IOREF** マイクロコントローラの動作電圧を設定するために使用します。あまり使いません。 | | 21 | **RESETヘッダー** 外部ボタンを接続してボードをリセットできます。リセットボタンと同じ機能です。 | | 22 | **3.3Vピン** 3.3Vの電圧出力を提供します。 | | 23 | **5Vピン** 5Vの電圧出力を提供します。 | | 24 | **Vin** このピンを通じて外部からDC7-12Vの電圧入力をボードに供給できます。 | | 25 | **アナログピン** ボードには6つのアナログ入力ピン(A0からA5まで)があります。デジタルピンとしても使用可能で、A0=D14、A1=D15、A2=D16、A3=D17、A4=D18、A5=D19に対応します。アナログポートはメスヘッダーまたは2.54mmピッチのピンヘッダー(Sラベル付き)で接続可能です。 | | 26 | **IIC通信ピン** IIC通信に接続します。4ピン(GND、VCC(スライドスイッチで3.3Vまたは5Vを切替)、SDA、SCL) | | 27 | **リセットボタン** ボードをリセットしてプログラムを初期状態から開始できます。 | ## 2.4 Arduino IDEでのボードとポートの選択 ![](../media/9719a62c6ebf40346819de383b90d86c.png) 接続された制御ボードにコードをアップロードする前に、Arduino IDEでボードとポートを選択する必要があります。 以下の2つの方法を紹介します: 1. ツールのドロップダウンリストからボードとポートを選択する方法 2. ボードセレクターを使用する方法 ![](../media/9b6c571bb9efb9776d7f13e97356520f.jpeg) ![](../media/27fdb72344a4ae4a32d8de7bfbfe18d4.png) ![](../media/7f90bccae208b43956dbb5ea18e7b96d.png) ## 2.5 Arduino IDEへのライブラリの追加 **なぜライブラリを使うのか?** ライブラリはあらゆる種類のプロジェクト作成時に非常に役立ちます。開発体験を大幅にスムーズにし、ほぼ無限の数が存在します。多くの異なるセンサー、RTC、Wi-Fiモジュール、RGBマトリックス、もちろんボード上の他のコンポーネントとインターフェースするために使われます。 **スケッチにライブラリを含める** ![](../media/04646b12f83ae55602cd7e186850034c.png) ![](../media/79939cc2b0037a52ce8b7571cb448699.png)![](../media/067e9b7efcc117f4dd702c49f66f1735.png) **Arduino IDEにライブラリを追加する2つの方法** 1.**方法1:.zipライブラリのインポート** ![](../media/68b46d43a6912da4b010ae4c37cc496e.png) ![](../media/3eb07bb12bf9ada902326970dc7a455a.png) ![](../media/0713a4d4dc9e43f97ffb5175bc094c96.jpeg) 2.**方法2:手動インストール** Arduinoスケッチが保存されるデフォルトの場所はスケッチブックと呼ばれます。スケッチブックは他のフォルダと同様にコンピュータ上のフォルダで、スケッチの便利なリポジトリとして機能し、追加のコードライブラリもここに保存されます。 **Librariesフォルダ** **sketchbook\\libraries**フォルダはArduino IDEからライブラリがインストールされるデフォルトの場所です。 ライブラリを手動で追加したい場合、ライブラリファイルはzipファイルのままでは追加できません。解凍してスケッチブックの**libraries**フォルダに自分で入れる必要があります。 ![](../media/54ed3cb6b4303dfb851d49ec6c998256.jpeg) ![](../media/4dde6298b58678953a4f0e8cb09229cc.jpeg) ![](../media/28fdb140904c915c2b37ba02923a68f6.png) Arduinoライブラリのアンインストール Arduinoライブラリのアンインストールはインストールより簡単です。コンピュータ上のスケッチブックフォルダ(「手動でライブラリをインストールする」章と同じ場所)を見つけてください。その場所に移動し、「libraries」フォルダを開きます。削除したいライブラリのフォルダを選択して単純に削除してください。次回Arduino IDEを開くと、Sketch > Include Libraryメニューに削除したライブラリは表示されません。 ![](../media/7a7fc5fc95be160fe7f9aa50be140f6d.png) ライブラリはあまり容量を取らず、ほとんどの場合削除する理由はありません。ただし、今後使う予定がなくリストを整理したい場合は安全に削除できます。必要になったらいつでも再インストール可能です。