※ 当ページには【広告/PR】を含む場合があります。
2021/02/19
Debain Linux (64bit)版にArduinoを導入してみる
[Arduino工作 〜 発展編] Arduino Uno Rev3にFreeRTOSのインストールしてLチカも試す
巷にはArduino〇〇と題して様々な製品バリェーションがありますが、搭載しているマイコンが違えば必然的にピン配置が違ってきます。当然モデルごとのピンアサインメントが違うので、ArduinoIDEでプログラミングするのにも、ピン番号の理解は欠かすことのできない要素です。さて前回はLinux環境でArduinoIDEが簡単にインストールできることをネタにそのインストール手順を説明ました。Debain Linux (64bit)版にArduinoを導入してみるDebian LinuxにArduino IDEを導入する手順を解説します。
今回はLinuxからArduinoIDEを使っても、ちゃんとLEDをチカチカさせることを確認します。
Arduino Uno Rev3 ATmega328 マイコンボード A000066 ELEGOO Arduino用UNO R3スターターキット ESP32&Arduino 電子工作 プログラミング入門 組込みエンジニアの教科書 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)に接続されていることが分かります。
Arduino Uno Rev3 ATmega328 マイコンボード A000066 ELEGOO Arduino用UNO R3スターターキット ESP32&Arduino 電子工作 プログラミング入門 組込みエンジニアの教科書 Lチカ
ということでビルドインLEDだけをとりあえずLチカさせてみようと思います。まずはパソコン(手元では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ポートが内部で接続されていることが確認できました。
Arduino Uno Rev3 ATmega328 マイコンボード A000066 ELEGOO Arduino用UNO R3スターターキット ESP32&Arduino 電子工作 プログラミング入門 組込みエンジニアの教科書 まとめ
今回はLinuxにインストールしたArduinoIDEを利用して、ArduinoのLチカを簡単に行ってみました。ArduinoIDEも色々なOSやCPUアーキテクチャに対応してきています。ラズパイにArduino IDEをインストールしてからArduino側に書き込めるような使い方も最近ではできるようになっているようで、本格的なパソコンを組まなくとも小学生向けのArduino教室などで、軽量な開発用ラズパイPCでも十分Arduinoのプログラミングが可能です。