Arduinoと開発環境の構築とLED点滅(Lチカ)

Arduino開発用の環境構築と、基本のプログラムであるLEDを点滅させる方法を紹介する。今までは、PICで車の電子工作を行っていた。PICを基板に実装するためには、電子工作の知識や、プログラムの知識が必要だった。しかし、マイコンを簡単なプログラムで弄ることができるArduionoが登場。これにより、電子工作の知識がそれほどなくても、プログラムを書くことができれば動くものを作ることができるようになった。構成がシンプルなPICの方が車載を中心とした電子工作には向いているとは思うが、Arduinoであれば電源の取り回し等がとても簡単であることと、少ない追加部品でできることがたくさんあるので、組み込み電子工作初心者の方には、まずArduinoらから取り組むのがおすすめだ。PICに関してはこちらの記事を参照↓

あわせて読みたい
PIC焼き込み環境の構築(AKI-PICプログラマーVer.4) 数年前、マイコンの勉強のためにPICを弄ったことがある。当時は電子工作の知識は皆無だったので抵抗とは??プルアップとは???というレベルであったが、しばらく続け...
目次

Arduinoとは

Arduino(アルディーノ)とは、電気的な入出力ポートを持ったマイコンボード。マイコンの基礎を学ぶ目的で作られたそうだが、電子工作の基礎を学ぶことはもちろん、これを用いて車に関連する電子工作を行うにはもってこいの素材だ。

Arduinoには、搭載されるマイコンの性能、あるいは「ある程度電源周りの実装は自分でできる」という方向けの小型化された製品といった派生もあるが、王道はArduino UNOというもの。これに、追加で「シールド」という拡張機能をもつハードウェアを組み合わせて使用する。今回は、ハイパワーなArduino Megaを購入した。一番メジャーな、Arduino Unoと今回購入したMegaの違いはマイコンのパワーと、入出力ピンの数。といっても、Arduino MegaはUnoの上位互換と考えて差し支えない。環境構築の段階では変わらないので、初めてArduinoに興味を持って電子工作を始めてみようという方にも参考になると思う。

Arduinoの統合開発環境の構築(無料)

ArduinoはAmazon等で簡単に手に入る。基本的な仕組みとしてはPICと変わらず、IDE(統合開発環境)を用いてプログラムしたファイルをコンパイルし、Arduinoに焼き込むことで動作する。ということで、早速IDE(統合開発環境)を整備する。開発環境は無償で提供されている。↓のリンクからArduinoのホームページ(英語)に移動。

あわせて読みたい
Arduino - Home Open-source electronic prototyping platform enabling users to create interactive electronic objects.

SOFTWAREボタンをクリック

Downloadsから、最新のIDEをダウンロードする。使用するPC環境によって必要なバージョンを選択。私の開発環境はWin10 64bitなのでそちらを選択してダウンロード。

Support The Arduino IDE、という寄付を募集する画面があるので、余裕がある方は開発に感謝して寄付しても良いし、そうではければ「JUST DOWONLOAD」ボタンをクリックするとダウンロードが開始される。インストーラーがダウンロードできたら管理者権限で実行。以下の手順でインストールする。基本、フォルトでも困らないはずだ。

開発環境(IDE)の構築は以上で完了。

Lチカ(LEDを点滅させる)プログラムの作成

ハードウェア+ソフトウェアの、いわゆる「Hello World!」のようなもので、LEDをマイコンボードからの指示により点滅させるプログラムを作成してみよう。うまくいくと、LEDをチカチカと点滅させることができる。

必要なもの

Arduino本体

これがないと始まらないが、基本を学ぶなら、Arduino Unoが安価でよい。これに、追加で「シールド」という拡張機能をもつハードウェアを組み合わせて使用する。シールドは、多くがArduino Uno向けに設計されているので、まず初めてという方はArduino Unoを選んでおけば間違いない。

今回使用したのはArduino Mega。Unoよりも高機能だが少し大きい。

LED

電子工作で結構使うので、安いやつを大量買しておくと何かと役に立つ。

抵抗

LEDをそのままマイコンボードに接続すると、電流が大量に流れてLEDが壊れる。よって、抵抗が必要だ。大体330Ωであればこの手の抵抗値としてはOK。

ブレッドボード

次に、ブレッドボード。電子工作を長くやっている方は必ず持っているハズ。部品をテスト的に繋いで見るための「回路」のようなもの。テストには必須だ。私は長年サンハヤト製を愛用しているが、もっと安価なものはたくさん売っている。

サンハヤト
¥4,322 (2024/02/29 20:49:25時点 Amazon調べ-詳細)

ジャンパー線

ブレッドボードに挿して使う。ハンダ付けしなくとも通電の確認ができる。ピンの形状がオスメス複数の組み合わせがあると便利。

ハードウェアの接続

準備ができたら、ArduinoとPCをUSBケーブルで接続する。電源はUSBから供給される。これで準備完了。簡単だ。

IDEの設定

開発環境が整ったので、次はプログラムを作成する。ArduinoとPCをUSBケーブルで接続する。

IDEを起動後、ツール→ボードで、Arduinoの種類を選択する。今回はArduinoMega。Arduino Unoを購入した場合はそちらを選択する。

続いて、ツール→シリアルポートで、Arduinoが認識されているポートを選択する。今回はCOM4が認識されていた。PCによって異なる。

また、ファイル→環境設定で、以下の設定をしておくと開発が楽。

プログラムの作成

ファイル→新規ファイルで、新しいソースコードを作成する。Arduino用のソースコードを、「スケッチ」という。初期状態でスケッチにsetup()とloop()関数がテンプレートで記載されているので、以下のようにコードを記載する。

void setup() {
  // put your setup code here, to run once:
  pinMode(13,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(13,HIGH);
  delay(1000);
  digitalWrite(13,LOW);
  delay(200);
}

コードの説明

Arduinoに電源が入ると、setup()関数が呼ばれ、その後loop()関数が実行される。

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

これは、Arduinoの13番めのピンをアウトプット(電気的出力)に設定するコマンド。続いて、loop()では、13番のピンの出力をHIGHにしたり、LOにしたりを繰り返す処理が記載されている。delay(時間)は、指定した時間が経過するまで待つ、と言うコマンドだ。

void loop(){
    digitalWrite(13,HIGH);
    delay(1000);
    digitalWrite(13,LOW);
    delay(200);
}

これにより、LEDは1000[ms]点灯し、200[ms]消灯、を繰り返すプログラムとなる。完了したら、下記✓ボタンを押下するとコンパイル(Arduinoへの焼き込みファイルの生成)が実行される。

エラーが出た場合には、その内容に従ってプログラムを修正して再度コンパイル。

コンパイルが完了したら、今度はArduinoへの焼き込み。⇒のボタンでマイコンボードに書き込む。

うまくいかない場合は、「ツール」の「ボード」と「シリアルポート」の設定を確認しよう。”ボードへの書き込みが完了しました”のメッセージが出れば成功。これで、Arduinoへの焼き込みは完了。一度USBケーブルを抜いておく。次に、ブレッドボードへ搭載されたLEDと接続する。

LEDのブレッドボードへの搭載とArduinoへの接続

ブレッドボードは、以下のような接続となっている。

今回は、LEDのを点滅させるため、Arduinoの13番ピンの出力の先に抵抗、その先にLED、その先にGNDを接続し、GND接続はArduinoのGNDへ戻る構成となっている。今回は赤い線をArduinoの13番ピンに、GNDをGNDピンに接続。

ブレッドボードに接続。

接続が完了したら、Arduinoを電源に接続すると、LEDの点滅が始まる。LEDの点滅時間は、ソースコードのdelay( ) 関数の引数を変えれば調整可能。変更したらまた、ビルド→焼き込みで最新がArduinoに焼かれる。

実行結果

まとめ

今回は、Arduino開発環境と、開発環境でビルドしたArduinoを実行するところまで完了した。C言語の知識があれば、ハードウェアの知識がそれほどなくても、簡単にプログラムを作成することができる。

基本を学ぶなら、Arduino Unoを選択しておけば問題ない。これに、追加で「シールド」という拡張機能をもつハードウェアを組み合わせて使用する。シールドは、多くがArduino Uno向けに設計されているので、まず初めてという方はArduino Unoを選んでおけば間違いないだろう。

更には、回路構成も公開されているため、同じ機能を持つ互換品も様々販売されている。中国製のものが多いが、工作精度を気にしなければ、同様の機能のものが本家Arduinoの半額程度で手に入る。慣れてきたらこちらを使っても良い。

車載用にもっと小型化されたArduino NANOおよびその互換機を使ってLEDを点滅させてみた記事はこちら

あわせて読みたい
Arduino Nano(互換機)とELEGOO NanoボードでLED点滅(Lチカ) 車載ガジェットを作成するのに便利なArduino。Arduinoに挿して使える”シールド”も豊富であるため、これらを使って簡単に試作品を作成する事ができる。一方で、Arduino U...
この記事をSNSでシェアする
  • URLをコピーしました!

コメント

コメントする

目次