PR

Arduinoの開発環境の作り方とスケッチ例の使い方

組み込みエンジニア
本記事はプロモーションが含まれています。

参考資料:旧バージョン1.8.19

メジャーバージョンアップによって旧バージョンを使用するケースはないと思いますが、参考資料として残しています。

Arduino IDEのダウンロード

ダウンロード手順1
ダウンロード手順1

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」を選択します。

ダウンロード手順2
ダウンロード手順2

ダウンロードが終わったら「arduino-1.8.19-windows.exe」をクリックしてインストールを開始します。(1.8.19は2022年7月時点のバージョンです。)

広告

インストール

インストールは基本的に次の項目に進むボタンを押すだけで問題ありません。

インストール手順1
インストール手順1

「I Agree」をクリックします。

インストール手順2
インストール手順2

特に変更せずに「Next」をクリックします。

インストール手順3
インストール手順3

インストール先のフォルダーを選択して「Install」をクリックします。(特に設定する必要はありません)

インストール手順4
インストール手順4

インストールが終わったら「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にしましたが、ソフトウェアによるシリアル通信であるためシリアル通信専用のポートではありません。

SoftwareSerialを使用する場合はボーレートを高くしすぎないように注意してください。ボーレートが早くなるほどデータの取りこぼしが発生します。経験上9600bpsもしくは19200bps程度がよさそうです。

上記の例では115200bpsでも行けましたが、複数バイトになると頻繁にデータを取りこぼす現象が発生しやすくなります。

Arduino UNOはシリアル通信専用ポートが1つしかないので複数使用したい場合はボーレートを高くしすぎない設定でSoftwareSerialを使用することが多いです。

関連リンク

Arduinoのライブラリを使って動作確認を行ったことを下記リンクにまとめています。

Arduinoで学べるマイコンのソフト開発と標準ライブラリの使い方

Seeeduino XIAOで学べるソフト開発と標準ライブラリの使い方

ESP32-WROOM-32Eで学べるソフト開発と標準ライブラリの使い方

PR:技術系の通信教育講座ならJTEX

最後まで、読んできただきありがとうございました。

タイトルとURLをコピーしました