参考資料:旧バージョン1.8.19
メジャーバージョンアップによって旧バージョンを使用するケースはないと思いますが、参考資料として残しています。
Arduino IDEのダウンロード
Arduino IDEは下記のリンクから取得できます。
Arduino IDEのダウンロードーDownload the Arduino IDE
Download the Arduino IDEのページから「Windows win 7 and newer」を選択します。クリックするとContribute to the Arduino Softwareのページに遷移します。寄付する場合は「CONTRIBUTE&DOWNLOAD」を選択します。ダウンロードだけの場合は「JUST DOWNLOAD」を選択します。
ダウンロードが終わったら「arduino-1.8.19-windows.exe」をクリックしてインストールを開始します。(1.8.19は2022年7月時点のバージョンです。)
インストール
インストールは基本的に次の項目に進むボタンを押すだけで問題ありません。
「I Agree」をクリックします。
特に変更せずに「Next」をクリックします。
インストール先のフォルダーを選択して「Install」をクリックします。(特に設定する必要はありません)
インストールが終わったら「Close」をクリックして終了です。
USBドライバーがインストールされていない場合インストールの途中にUSBドライバーをインストールするかを問われることがあります。ArduinoボードをUSBで接続して開発を行うためUSBドライバーも迷わずインストールしましょう。
Arduino IDEを起動する
Arduino IDEを起動すると初期画面に空のスケッチが表示されます。setup()関数内に各種機能の初期化処理を記述します。loop()関数には処理内容を記述します。
初期起動時はボードとしてArduino Unoが選択されています。他のシリーズを開発する際はボードを対象のシリーズを選択します。ボード選択は「ツール」内のボードからArduino AVRの中から選択します。
初心者でもライブラリーの使い方が分かるようにスケッチ例が準備されています。
スケッチ例を確認する
int pushButton = 2;
void setup() {
Serial.begin(9600);
pinMode(pushButton, INPUT);
}
void loop() {
int buttonState = digitalRead(pushButton);
Serial.println(buttonState);
delay(1);
}
スケッチ例はファイル欄にあるスケッチ例から選択することができます。内蔵のスケッチ例から01.Basics内の「DigitalReadSerial」を選択して動作確認を行います。
5行目のSerial.Begin(9600)でシリアル通信のボーレートを9600bpsに設定します。6行目のpinMode(pushButton,INPUT)で2ピンをINPUT(入力ピン)に設定します。
11行目のdigitalRead(pushButton)で2ピンの状態を読み込んでいます。12行目のSerial.println(buttonState)で読み込んだ2ピンの状態を改行コード付きでシリアルモニタに表示します。
スケッチ例を見ながらArduino環境におけるコーディングの仕方を学習することができます。スケッチ例から使えそうなソースコードをコピーしながら実際に動作させることで効率よく学習できます。
シリアルモニターで確認する
DigitalReadSerialのスケッチ例とSoftwareSerialのスケッチ例を少し改造してシリアル通信をシリアルモニタを確認します。シリアルモニタの「送信ボタン」でUNOのRXに受信データが転送されます。そのデータをSoftwareSerialのRX(10:RX)に送信します。
7ピンは内部プルアップを使用する入力ピンに設定します。7ピンの状態がLOWになったとき、準備したデータの「0x30、0x31、0x32、0x33」をシリアルモニタ上に表示するようにします。
これらのバイトデータは文字コードの「0123」に相当するものであるためモニタ上で確認しやすくなります。
シリアルモニタはエディターの右上のマークをクリックするかツール欄からシリアルモニタを選択することで表示できます。
7ピンをLOWにするとモニタに0123が表示されます。送信欄に1を入力して送信ボタンを押すとmySerial-readと文字列の1(49)が表示されます。改行コードを入れた場合はLF(10)やCR(14)が表示されます。今回の動作確認では改行なしにしています。
Serialをシリアルモニタ用の表示に特化して使用するとデバッグしやすいと思います。今回はボーレートを115200bpsにしましたが、ソフトウェアによるシリアル通信であるためシリアル通信専用のポートではありません。
上記の例では115200bpsでも行けましたが、複数バイトになると頻繁にデータを取りこぼす現象が発生しやすくなります。
Arduino UNOはシリアル通信専用ポートが1つしかないので複数使用したい場合はボーレートを高くしすぎない設定でSoftwareSerialを使用することが多いです。
関連リンク
Arduinoのライブラリを使って動作確認を行ったことを下記リンクにまとめています。
Arduinoで学べるマイコンのソフト開発と標準ライブラリの使い方
Seeeduino XIAOで学べるソフト開発と標準ライブラリの使い方
ESP32-WROOM-32Eで学べるソフト開発と標準ライブラリの使い方
最後まで、読んできただきありがとうございました。