ものつくり系では、電子工作でラズベリーパイやArduinoを使った趣味も増加しています。ここでは、Arduinoというマイコンを使って、プログラミングを勉強します。
Arduinoは、イタリア生まれの教育用のマイコンですが、結構本格的なシステムを構築することもできる本格的なマイコンです。
この記事で、まずはArduinoを動作させて、マイコンの楽しさの入り口をノックしましょう!
この記事は、以下のような方におすすめできる内容です
1.マイコンを使って電子工作をしてみたいけど、やり方がわからない
2.Arduinoを使って、C++言語の勉強をしたい
3.Pythonで通信のテストをしたいけど、いい題材がないと探している
4.マイコンもC++も何も知らないけど、興味がある
Arduinoを手に入れよう
Arduinoは、いろいろな種類がありますので、購入する際も困ってしまいます。
おすすめは、UNOです。手頃な値段で、使いやすいです。
値段は3000円前後です。
NANOという小型のかわいいArduinoもおすすめです。UNOとは異なりピンを差し込むところがないので、ピン付を購入して、ブレッドボードやジャンパー線を使う前提です。とにかく安いです。
ブレッドボード用のワイヤーも手に入れましょう
ブレッドボードやワイヤー、そしてLEDなどをセットでも販売しています
とにかく、マイコンで遊ぶのは、コストのあまりかからない趣味と言えます。
Arduinoのプログラム開発環境をダウンロード
マイコンの開発はC++言語を使います。「ええ、C++!!!!」と引かないでください。
コンパイルから書き込みまで、とても簡単にできるように、よく工夫されていて、さすが教育用です。
開発環境も無料で提供されています。入手サイトなど詳しく説明しましょう。
ソフトウエアのダウンロードはこちらでできます → Download
このページの下には、Windows用、Mac用、Linux用すべて整っています。
Winodws用は、USBに入れても動作する「Windows Zip file for non admin install」を選んでおくとのちのち便利になります。
ファイルをダウンロードしたら、適当なフォルダに解凍しましょう。
この中で、arduino.exeをダブルクリックすると開発環境IDE(スケッチという名前)が立ち上がります。
こんな感じです。
ファイルメニューから環境設定をしましょう。
スケッチブック(プログラムファイル)の保管場所の設定やもしお気に入りのエディタがあれば外部エディタを使用するをチェックしましょう。
プログラムの作成
いよいよ、プログラムを作成します。プログラムを作成するのにArduinoは必要ありません。(そうなんです。コンパイルまではPCだけでできるのがすごい)
この画面で、setup()が起動してから一回だけ実行してくれる関数で、loop()がずっとぐるぐると走り続ける関数です。そう無限ループ構造になっています。
- setup() プログラムを起動してはじめに実行される。一回だけしか実行されない
- loop() 次に実行される関数で、永遠にこの中を実行し続けます
まずPCとAarduinoをつなげよう
何からするのがよいかというと、パソコンの画面に何か文字を表示させるのがよいでしょう。いきなり、ハードウェアを制御するのは少しハードルが高いので、まずはパソコンとケーブルとArduinoだけで何かできることをするのがいいですね。
それでは、Arduinoとパソコンをつなげましょう。といってもUSBケーブルをつなぐだけです。ここで注意は、USBケーブルにもコネクタの種類がいろいろあるので、購入したArduinoに合わせて
- タイプA USB
- micro USB
- mini USB
の三種類がありますので、手持ちにない場合はネットで購入しましょう。
こんな感じのケーブルです。
はじめてのC++プログラムを作成しましょう
いよいよプログラムですね。さきほど、説明した「文字を表示させる」プログラムを作成しますが、マイコンの場合は表示させるデバイスがないのです。
では、どうやって表示させるのかというと
そうです、ArduinoとPCを通信させるのです。
たかだか文字を表示させるのも実は、ハードウェアの制御をして、表示させるのです。
具体的には
(1)ArduinoとPCをシリアル通信するようにする
(2)IDEにあるシリアルモニターという通信アプリを立ち上げる
(3)Arduinoが起動後、文字列を送信する
(4)シリアルモニターが文字列を受信して、PCの画面に表示する
という順序になります
kldjflさj
setup()のところに、Serial.begin(19200);を打ち込みます。
これは、シリアル通信を19200kbpsの速度で準備しますよ~というコードです。
次に Serial.println(“Program Start”) ; これは、文字列「Program Start」を改行付きで送信しなさいというコードです。
注意点は、それぞれのコードのあとに「;」セミコロンがあることです。
時間経過を表示させるプログラム
それでは、続きをやりましょう。1秒ごとにカウントアップして表示させましょう。
最初の行に
という行があります。これは、変数の宣言文で、型を整数型(int)であると教えています。そして変数名はcountとしました。ここでも;を忘れずに・・・
次にloop()の中身ですね。
count++;
Serial.println(count);
互換機は、価格がかなりリーズナブル。趣味で使うならこちらで全然OKですね。
それではまた
コメント