さて皆さん、ワレコの電子回路実験のページにようこそ。
ワテの場合、PICとかArduinoなどのプログラマブルなロジックデバイスに関しては、昔から興味は有ったのだが今まで使った事が無かった。
何故かと言うと、デジタル回路よりもアナログ回路を作るほうが好きなのと、プログラムで制御するのは手っ取り早いとは思うけれど、それだとあまり面白く無い感じ。
やはりSN7400シリーズのICを組み合わせて論理回路を作成しなくては勉強にならないんじゃ無いか?などと言う変なこだわりが有ったのも一因である。
つまりまあ、人間、楽な手段を選ぶよりも茨の道を進まなくては成長しない。
さて、そんなストイックな信念を持つワテが先日、Arduino Uno R3を買ってみた。
秋月電子で抵抗やコンデンサなどの幾つかのパーツをネット注文していた時に、たまたま目に付いたArduino Uno R3が案外安かったのと、Visual Studioを使って開発する環境があるという情報を以前何かの記事で見ていたからだ。
Arduinoには専用の無料開発環境もあるのだが、パソコンに色んな開発環境を混在させると、管理も面倒だし、使い方も覚えなくてはならないので、何かと手間が掛かる。
ところがArduinoをVisual Studioを使って開発出来るわけなので、ほんならワテもいよいよArduinoとやらをやってみるかなあと一大決心をして購入に踏み切ったのだ。
で、USBケーブルを買うのを忘れていて、それもネット注文して先日届いたので、早速Visual Studio2017でArduinoを試してみた。
結論としては、1時間も掛からずに、無事にLEDをチカチカ点滅させるサンプルの実行に成功した。
これは便利。
皆さんにもお勧めしたい。
まあ、茨の道を進むよりも楽して目的の機能を短時間で実装するほうが重要だな。
と言う訳で、あっさりと信念を曲げる軟弱なワテである。
この記事ではVisual StudioでLEDチカチカまでの手順を備忘録としてまとめた。
PICとかArduinoなどのプログラマブルなマイクロコントローラについて
ワテの場合、この分野は殆ど素人なので詳しくは知らない。
ワテの理解で言うと、PICとかArduinoなどのプログラマブルなマイクロコントローラとは、要するに小型のコンピュータだ。
つまりCPU、クロックジェネレータ、RAM、ROM(フラッシュメモリなど)、AD変換、DA変換、シリアルポート、USBポートなどを持っている。
勿論、すべてのマイクロコントローラが上記の機能を全て持っている訳では無いと思うが、まあ、現在市販されているPICやArduinoのボードにはこんな機能が備わっているようだ。
それが2000円とか3000円くらいで購入できる。
使い方としては、USBケーブルを使ってホストパソコン(Windows、Linux、Macなど)に接続して、専用の開発環境(IDE=Integrated Development Environment)でC/C++言語などを使い、目的とする制御プログラムを書き、コンパイルしてUSB経由でROMに書き込む。
そうすると、お手軽に目的の機能を実装出来るのだ。
SN7400シリーズのICや抵抗、コンデンサなどを必死で組み合わせる必要も無い。
今回はLEDをチカチカ点灯させてみた。
Arduino Uno R3とは何か?
ワテの場合、秋月電子でたまたま見付けた純正Arduino Uno Rev3ボードを買った。
アマゾンでも売っている。
Arduinoの場合、純正品や互換品が多数ネットショッピングサイトで販売されている。
純正品なら例えば以下の製品がある。
あるいは、互換品も沢山販売されているので、自分の好きな奴を買えば良いだろう。
互換品だとこんな安いのがあるのか!
でもまあ、初心者のワテの場合には、取り敢えず純正品のArduino Uno R3を買った。
こう言う実験をする場合には、最初は純正品を買っておく方が安心だ。
もし互換品を使って実験して上手く動かない場合に、もしかしたら互換品だから動かないのか?などと言う疑問が生じても解決しない。
そう言う疑念を排除する為にも、最初は純正品で実験するほうが結局は時間や出費も節約出来る事が多い。
Arduinoの純正品はAmazonにも沢山あるし、スイッチサイエンスさんの場合には永久保証が付いているのでお勧めだろう。
ワテの場合にはArduino本体だけでなく、小形のブレッドボードも買った。
こんなヤツだ。
Arduino本体とブレッドボードをアクリルの板に張り付けておくと、ちょっとした実験回路をブレッドボードで組んでArduinoで制御するなどの実験がお手軽に出来るのでお勧めだ。
Arduinoのどれを買えば良いのか?
さて、Arduinoで検索していると、ArduinoシリーズはCPUや機能の違いで色んなバージョンがあるようだ。
ワテの場合、その辺りの事情には全く疎いので、いざArduinoをやるぞ!と思って色々調べたのだがどれを買ったら良いのかサッパリ分からない。
そう言う時には秋月電子だな。
秋葉原の秋月電子の売れ筋のArduinoを買っておけば、それは今、世間で最も人気のあるArduinoだろう。
電子工作趣味の人が大勢使っているArduinoを買っておけば間違い無い。
「赤信号みんなで渡れば怖くない」みたいなもんか?ちょっと違うか。
「秋月電子、みんなで買い物に行けば怖くない」か?それも違うか。
でもまあ、秋葉原初心者の人は秋月電子のあのお客さんで満員の店舗に入るのは勇気が必要かもしれない。そう言う時は団体で行けば良いだろう。
さて、下らない話題で横道にそれてしまったが、本題に戻ろう。
それでワテが選んだのが、Arduino Uno Rev3だ。
Rev3と言うのはRevision 3 と言う事なのかな?
一方、Unoとは何か?良く知らん。
ArduinoのWikipediaから引用すると以下の通り。
Arduino Uno
従来のDuemilanoveと同じATmega328を使用しているが、シリアルコンバーターにはあらかじめプログラムされたATmega8U2(最新のRevision 3ではATmega16U2に変更)を使用している点がFTDIのチップを使用していた従来のモデルと異なっている。このため、コントロールパネルから簡単にUNOを確認できる。
引用元 ArduinoのWikipedia
まあ、上の説明文を読んでもワテにはサッパリ分からない。
ちなみに同じくWikipediaから引用すると本日(2017/9/25)時点で、Arduinoシリーズは以下のものがあるらしい。
- Arduino Uno
- Arduino Due
- Arduino Leonardo
- Arduino Mega 2560
- Arduino Mega ADK
- Arduino Micro
- Arduino Mini
- Arduino Nano
- Arduino Ethernet
- Arduino Esplora
- Arduino BT
- Arduino Fio
- Arduino Pro
- Arduino Pro Mini
- LilyPad Arduino
- LilyPad Arduino USB
- LilyPad Arduino Simple
- LilyPad Arduino SimpleSnap
- Arduino Yún
- Arduino Robot
- Arduino TRE
- Arduino Zero
- Arduino Gemma
以下は生産終了した物。
- Serial Arduino
- Arduino Extreme
- Arduino NG
- Arduino NG plus
- Arduino Diecimila
- Arduino Duemilanove
- Arduino Mega
う~ん、多すぎるだろ。
選択肢が多いのは悪い事では無いのだが、初心者のワテなんかどれを買ったら良いのかすら分からない。
それで、秋月電子で見付けたArduino Uno Rev3を買ったのだ。
Arduino Uno Rev3
通販コード M-07385
発売日 2014/03/17
メーカーカテゴリ Arduino Srl(アルドゥイーノエスアールエル)
書籍などでよく取り扱われている一般的なArduinoボードです。初めての方はこちらがおすすめです。マイコンがDIP型ですので取り外しができますので、プログラムを書き込んだ後に別の回路への移動が出来ます。
■主な仕様
搭載マイコン:ATmega328(I-03142)
マイコン動作電圧:5V
ボード入力電圧:7-12V
動作確認済みおすすめ電源(M-02193、M-07772)
動作確認済みおすすめ電池スナップ(P-07356)
デジタルI/Oピン:x 14
PWM出力可能ピン:x 6
アナログ入力ピン:x 6
フラッシュメモリ:32キロバイト
SRAM:2キロバイト
EEPROM:1キロバイト
クロック周波数:16MHz
引用元 秋月電子のサイト(赤字強調はワテが付けた)
上の秋月電子のサイトの説明のように、
「書籍などでよく取り扱われている一般的なArduinoボードです。初めての方はこちらがおすすめです。」
と書いてあるのでこのArduino Uno Rev3を買っておけば間違い無いだろう。
またDIPパッケージなので、このボードでプログラムを書き込んだCPUを別の自作ボードに挿すなども可能だ。要するにライター機能にも使える。
直ぐに使いたい人は、細々としたパーツ一式を買う方が良いだろう↓。
ACアダプター電源とUSBケーブルも買う
ボード入力電圧は7~12Vとの事なので、この電圧範囲のACアダプター電源を買えば良い。
電流は、1A~2Aも有ればいいんじゃ無いかな?
ちなみに秋月電子のサイトでは、Arduino Uno Rev3ボードの関連商品として、ACアダプターが記載されている。
その仕様は以下の通り。
出力電圧:9V
出力電流:最大2A
プラグ:外形5.5mm 内径2.1mm
極性:センタープラス
適合ジャック:内径2.1mm、外径5.5mm
引用元 秋月電子のサイト
適合ジャック(メス)は内径2.1mm、外径5.5mmなので、最も一般的なACアダプターだ。
電流は2Aも有れば十分だろう。
と言う事でワテはこの商品では無いが、手持ちに9V1.6AのACアダプターが有ったのでそれを使った。
USBケーブルは Aオス-Bオス
USBケーブルは一端がUSBコネクタ(A端子)、もう一端がUSBコネクタ(B端子)のケーブルでパソコンと接続する。俗にUSB Aオス-Bオスと呼ばれるヤツだ。
ワテはパソコンを棚の上に載せていて机まで距離があるので3メートルの長めのUSBケーブルを採用した。まあ短くて届かないよりも、多少長めのケーブルのほうが何かと便利だ。
Arduino Uno Rev3ボード、ACアダプター、USBケーブルの三点があれば準備完了だ。
次は開発環境を整える。
Arduinoの開発環境を整える
Arduinoの公式サイトは以下のURLだ。
でも、このサイトを開いても初心者のワテにはややこしくて良く分からん。
Visual Studio2017でArduinoをやる
次に、こんなサイトを見付けた。
Arduino IDE for Visual Studio
図 Arduino IDE for Visual Studioのダウンロードサイト
う~ん、Visual StudioをArduinoの開発環境(IDE)に出来るVisual Studio拡張機能のようだ。
42万人もダウンロードしているし、★★★★★も5個もあるし、まあ良さそうな感じだ。
早速ワテも使ってみる。
上記サイトからダウンロードしても良いが、ワテの場合にはVisual Studioを起動しておいて、
ツール
拡張機能と更新プログラム
に入る。
下図が出るので、オンラインをクリックして、検索欄に[arduino]と入れたら二個出て来た。
図 Visual Studioの拡張機能と更新プログラムメニュー
一つ目のヤツをDownloadしてインストールした。
Visual Studioを終了するとインストーラーが開始する(下図)。
図 Arduino IDE for Visual Studioをインストール開始
図 Arduino IDE for Visual Studioをインストール途中
図 Arduino IDE for Visual Studioをインストール完了
さて、これで準備完了だと思ったのだが違っていた。
Arduino IDEをインストールしておく必要があったのだ。
つまり、上でインストールしたVisual Studioの拡張機能はArduino IDEをVisual Studioから利用するための機能であって、Arduino IDEそのものは入っていない。
と言う事で、先にArduino IDEを入れておいてからVisual Studioの拡張機能を入れるほうが良かった。
でもまあ、ワテのようにArduino IDEを後から入れても以下のようにやれば問題なく使える。
Arduino IDEをダウンロードしてインストールする
からWindows用のインストーラーをダウンロードして実行した。
図 Arduino IDEをダウンロードする
インストール中には以下の三つの確認メッセージが出たので全部OKした。
図 Adafruit Industries LLCポートのデバイスドライバをインストールする
図 Arduino USB Driver (発行元 Arduino srl)デバイスドライバをインストールする
図 Arduino USB Driver (発行元 Arduino LLC)デバイスドライバをインストールする
何故二種類のArduino USB Driverをインストールする必要があるのかは知らないのだが、まあ言われる通り入れた。
無事にインストール出来たのでVisual Studioを起動してみた。
そうすると、vMicroと言う新しいメニュー項目が追加されていていい感じだ。
図 Visual StudioにvMicroと言うメニューが追加された
でも気になるのは、上図左端にあるように
Visual Micro (No IDE)
と表示されている。
Arduino IDEはさっき入れたはずなのだが。
後からArduino IDEを入れたのでArduino IDE for Visual StudioがArduino IDEを見付けられなかったのかも知れない。
まあ兎に角、Arduinoプロジェクトを作成してみる
図 Arduinoの新規プロジェクトを作成してみる
下図のように、テンプレートが表示されているが、下段の出力欄には、エラーメッセージがある。
図 Arduinoプロジェクトを作ってみたがエラーメッセージが出ている
エラーメッセージは以下の通り。
Intellisense was unable to find Arduino or compartible packages.
と出ている。
下図は確かVisual Studioの「ビルド」メニューのクリーンを実行した後のメッセージかな。
図 Arduinoプロジェクトを作ってみたがエラーメッセージが出ている(その2)
ビルドクリーンしてみたら、別のエラーメッセージが出ている。
Please install Arduino board in the Micro Explorer -> Board Manager or set a valid location for an Adruino compartible IDE.
と出ている。
良く分からんが、指示通りに
Micro Explorer -> Board Manager
を開いて何か設定すると解決しそうだ。
Configure IDE Locationsを開いてみる
図 Configure IDE Locationsを開いてみる
下図のようにConfigure IDE Locationsの設定画面が開くが、ワテは何も変更しなかった。
図 Configure IDE Locationsの設定は何も変更していない
次に、Micro Explorer -> Board Managerを開いてみた。
Visual Micro Explorerを開く
図 Visual Micro Explorerを開く
下図が開く。
何だか沢山の機能がある。
Manage Boardsタブをクリックしてみた。
図 Visual Micro ExplorerのManage Boardsを開く
良く分からんが一番新しい Version 1.6.19をクリックしたらインストール画面が開いたのでインストールした。
その後、上部にあるRescanなどを適当にクリックした記憶がある。
再び新規にArduino Projectを作成してみる(下図)。
図 再びArduinoプロジェクトを作成してみる
プロジェクト名は何でも良いので、
MyLED_OnOff
としてみた。
そうすると、先ほどと同じくテンプレートが読み込まれる(下図)。
void setup() { /* add setup code here */ } void loop() { /* add main program code here */ }
図 Arduinoプロジェクトで読み込まれるテンプレートコード
ここで、ネットで見付けたLEDチカチカのサンプルをコピペしてみた(下図)。
#define LED_PIN 13 void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); delay(200); digitalWrite(LED_PIN, LOW); delay(200); }
図 ArduinoでLEDをチカチカするコード(らしい)
チカチカの間隔は200ミリ秒にしてみた。
この辺りの値は自由に変更して実験してみると良い。
いよいよビルドしてUSB経由でアップロードするのだが、その前に、現在のワテのVisual Studioの画面を紹介しよう(下図)。
上部ツールバーの部分には、
Arduino 1.6/1.8
Arduino/Genuino Uno
COM3
を選択している。何故COM3なのかなどは良く分かっていない。
まあ、それ以外のCOMポートが選択項目に無いのでCOM3を選んだのだ。
図 LEDチカチカのVisual StudioのArduinoプロジェクトをビルドしてアップロードする
CTRL+F5のデバッグ実行をするとアップロードが開始する。
画面に二個のCOMポート関連ウインドウが開いたが何をするものか分からない。
多分、COMポートの状態をモニターする為のウインドウなのかな?
今後調査したい。
Arduinoプロジェクトをビルドしてアップロードする
LEDチカチカのVisual StudioのArduinoプロジェクトをビルドしてアップロードする為には、ツールバーにあるアイコン(上図右端)でも良いし、CTRL+F5でも良いみたいだ。
無事に成功すると、下図に示すようにLEDが指定した時間間隔でチカチカし始める。
図 Visual Studioを使ってArduinoでLEDの点滅実験に成功した
なお、ツールバーにあるアイコン(上図右端)でビルド+アップロードした場合は、デバッグ実行(CTRL+F5)になるようだ。
なのでCTRL+F5押下でデバッグ実行しても良い。
もしデバッグ無し実行したい場合にはF5で良い。
この辺りはVisual Studioのキー設定通りに動く。
上の写真では、静止画なのでチカチカの実演はお見せ出来ないが、実際にいい感じでチカチカと点滅している。
なおこのチカチカしているLEDはArduino Unoボードに標準で付いているLEDなのだが、何のために付いているのかは知らない。
多分、こういう実験用に付いているのかな?
その辺りも今後調査したい。
まとめ
マイコンプログラミングは楽しい
自称、Arduinoの初心者のワテが、Visual Studio 2017 Communityを使って発光ダイオードの点滅実験に成功した。
必要なハードウェアは三点のみ。
- Arduino Uno Rev3
- USB Aオス-Bオスケーブル
- ACアダプター(7~12Vで2A程度)
あと、小型のブレッドボードも買っておくと便利。
必要なソフトは以下の通り。
- Visual Studio 2017 Community
- Arduino IDE
- Arduino IDE for Visual Studio
の三つだ。
この順番にインストールするのが良さそう。ワテは三番目のVisual Studio拡張機能を先に入れて、その後で二番目のArduino IDEを入れたので少々手間取ったが。
約一時間の作業で、Visual Studioを使ってArduino経由でLEDの点滅実験に成功した。
こんなに便利なら、もっと早くやれば良かったかも知れない。
皆さんにもお勧めしたい。
でもまあ、ワテの場合、SN7400シリーズをシコシコ組み合わせてロジックを組む方が好きだが。
ワテと同じ実験をしたい人向けの商品
互換品のようだが、沢山入っていてこの価格なら買っても良いかも。
でも念のために純正品で実験したい人はこれがお勧めだ。
それとUSBケーブルはAオス-Bオスで、長さは必要に応じて選べば良い。
ワテは3mの長めのヤツを買った。
ACアダプターは2A程度で5.5mm/2.1mm(7~12V)を選べば良い。
Arduinoの本を読む
(続く)
コメント
できるのですね
やってみようかな
吉田様
本日は、小生のブログ記事にコメントありがとうございました。
ええ、Visual Studio 2017 Communityを使ってArduinoの制御は出来ましたよ。
でも世間ではVisual Studio Codeを使ってArduinoを制御している人のほうが圧倒的に多いようですね。
私の場合は、その後、Arduinoの実験は中断していますが、将来何かArduinoを使って作ってみたいと思っています。
その時にはVisual Studio Codeを使って作業する予定です。
と言うのは、当記事で解説したようにVisual Studio 2017 CommunityでArduinoの制御は出来ますが、そうするとVisual Studio 2017 CommunityにArduino関連のメニューが多数追加されます。
私の場合は、滅多にArduino実験をしないので、Visual Studio 2017 CommunityにArduino関連メニューが多数あると、ちょっと見た目がごちゃごちゃして見辛い感じがします。
それと、Visual Studio CodeでArduinoを使う情報のほうがネットで見付け易いですから。
そう言う理由で私は今後は、Visual Studio CodeでArduinoを使う方針で行こうかなあと思っています。
[…] https://www.wareko.jp/blog/flashing-led-using-arduino-uno-r3-with-visual-studio-2017 […]