[LinuxでArduino!事始め編] Arduino Uno Rev3のピン配置等の基礎知識まとめと簡単なLチカ手順


※ 当ページには【広告/PR】を含む場合があります。
2021/02/19
Debain Linux (64bit)版にArduinoIDE2.0を導入してみる
[Arduino工作 〜 発展編] Arduino Uno Rev3にFreeRTOSのインストールしてLチカも試す




巷にはArduino〇〇と題して様々な製品バリェーションがありますが、搭載しているマイコンが違えば必然的にピン配置が違ってきます。
当然モデルごとのピンアサインメントが違うので、ArduinoIDEでプログラミングするのにも、ピン番号の理解は欠かすことのできない要素です。
さて前回はLinux環境でArduinoIDEが簡単にインストールできることをネタにそのインストール手順を説明ました。

合同会社タコスキングダム|蛸壺の技術ブログ
Debain Linux (64bit)版にArduinoIDE2.0を導入してみる

Debian LinuxにArduino IDE2.0を導入する



今回はLinuxからArduinoIDEを使っても、ちゃんとLEDをチカチカさせることを確認します。


Arduino Uno Rev3



Arduino製品にはマイナーなモデルや既に販売したモデルもあるので全てのモデルのピン配置と対応するマイコンの説明をすると切がないですので、ここではArduinoの代名詞的な
Arduino Uno Rev3 に絞った話をします。 以降、Arduino Uno Rev3を便宜上Arduinoと称させていただきます。
Arduinoの公式にピン配置図がありますので、これを引用させていただきます。

合同会社タコスキングダム|蛸壺の技術ブログ


搭載されているマイコンはマイクロチップ(旧Atmel)製ATmega328Pで、細長いソケットタイプ(PDIP28)のモデルと小型のソケットタイプ(QFN/MLF28)のモデルの2つがあります。
Arduinoを長く大切に使おうと思っている方は脱着可能なPDIP28を購入を検討すべきです。
QFN/MLF28もヒートガンなどを使えば基板から剥げなくは無いのですが、新しいマイコンを交換になったときにQFNのブートローダーを焼き込むソケットジグもおそらくは購入しなくてはいけないので、小型化する以外のメリットが薄いです。
それはさておき、Lチカの話です。
Arduinoには動作確認用のビルドインLEDが一つ付いています。(図中の
LED_BUILTIN がそれです。)
これがマイコン側の
PB5 というピンに接続されていることが分かります。

ATmega328P の日本語のリファレンスから以下の図を拝借して説明しますと、

合同会社タコスキングダム|蛸壺の技術ブログ


PB5はマイコンの19番ピンにアサインされていることが分かります。
この記事ではLチカするだけなのであまり関係がないのですが、Arduinoもどきを自作するときにはマイコンのピン番号を間違って接続してしまうと、ショートしてお陀仏になってしまう可能性もありますのでピンアサインメントはデリケートに扱う必要があります。
話をArduinoに戻すと、このマイコンのPB5がArduino側の13番ピン(D13)に接続されていることが分かります。


Lチカ



ということでビルドインLEDだけをとりあえずLチカさせてみようと思います。

            #define LED_PIN 13

void setup() {
    pinMode(LED_PIN, OUTPUT);
}

void loop() {
    digitalWrite(LED_PIN, HIGH);
    delay(500);
    digitalWrite(LED_PIN, LOW);
    delay(500);
}

        

まずはパソコン(手元ではLinuxですがArduinoIDEがインストールしてあればどんなPCでも)とArduinoをUSB接続させます。
次にArduinoIDEを起動して作業します。
まずは以下のように
[ツール] > [ボード: "Arduino Uno"] > [Arduino Uno] でボードマネージャーのターゲットを指定します。

合同会社タコスキングダム|蛸壺の技術ブログ


次にArduinoとの通信設定を確認するために、
[ツール] > [シリアルポート: ...] の項目で正常に接続されている状態であれば既にここで現在接続中のArduinoのシリアル通信ポート(ここでは /dev/ttyACM0 )が候補として出てきます。
出てこない場合には接続ケーブルと良く確かめてみたりして、接続の甘いところを確認しましょう。

合同会社タコスキングダム|蛸壺の技術ブログ


これでプログラムの書き込みはスタンバイOKですので、以下の図のように
ボタンでソースコードをコンパイルし間違いがないかをチェックし、問題がなければ ボタンでArduinoにプログラムを書き込みます。

合同会社タコスキングダム|蛸壺の技術ブログ


書き込みが成功するとビルドインLEDはチカチカしているはずです。

合同会社タコスキングダム|蛸壺の技術ブログ


...当然かも知れませんが、Linux側からでもArduinoへの書き込みが無事行えました。


ディスクリートのLEDでLチカ



ビルドインのLEDだけチカチカさせては見たものの、実際のArduino側のポートから出力が出ているのかを確かめて見るために、適当なLEDを使ってLチカさせてみます。
ArduinoのD13のポートを+側、GNDの一つのポートをー側に設定し、どこのメーカーか分からないLEDを目分量で500Ωくらいの抵抗を一つ噛まして直列に繋ぎますと、以下の写真のようにビルドインLEDと一緒にチカチカしております。

合同会社タコスキングダム|蛸壺の技術ブログ


これでマイコン側のPB5ポートとArduino側のD13ポートが内部で接続されていることが確認できました。


まとめ



今回はLinuxにインストールしたArduinoIDEを利用して、ArduinoのLチカを簡単に行ってみました。
ArduinoIDEも色々なOSやCPUアーキテクチャに対応してきています。
ラズパイにArduino IDEをインストールしてからArduino側に書き込めるような使い方も最近ではできるようになっているようで、本格的なパソコンを組まなくとも小学生向けのArduino教室などで、軽量な開発用ラズパイPCでも十分Arduinoのプログラミングが可能です。