はじめてのArduino(マイコン入門)

Arduino マイコン

ものつくり系では、電子工作でラズベリーパイや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」を改行付きで送信しなさいというコードです。

注意点は、それぞれのコードのあとに「;」セミコロンがあることです。

C++のコードは行ごとに「;」セミコロンが必要!
これは、とても重要なルールなので、もしエラーが起こったときは、まずこのセミコロンを疑ってください。
これだけでも動作できます。スケッチメニューからコンパイルをしてエラーがなければ、マイコンボードに書き込むを実行してください。(書き込むときもコンパイルは実行されます)
メニューのツール→シリアルモニターを実行してください。Ctrl+Shift+Mのショートカットも便利です。
すると、画面に文字が表示されます。
これで、C++のプログラムの第一歩を進みました。

時間経過を表示させるプログラム

 

それでは、続きをやりましょう。1秒ごとにカウントアップして表示させましょう。

最初の行に

int count;

という行があります。これは、変数の宣言文で、型を整数型(int)であると教えています。そして変数名はcountとしました。ここでも;を忘れずに・・・

次にloop()の中身ですね。

delay(1000);
count++;
Serial.println(count);
delay(1000)は1000msecつまり1秒待たせます。
count++は、count変数に1を加える作業。
そして、さきほども使ったSerial.println(count)ここでは、変数を直接通信させています。
そしてさきほどのマイコンに書き込むを実行すれば、1秒ごとに秒数を表示させるプログラムが走ります。
このプログラムは、無限ループになりますので、永久に動き続けます。
マイコンは電源を失うまで、プログラムを飽きもせず動かし続けるのです。ご苦労さま
以上がArduinoをはじめて動かすときのハードの準備、ソフトの準備、そして、プログラムの作成と実行の仕方を紹介しました。
この表示をさせるプログラムだけでもいろいろと勉強できます。応用を考えてみて、ぜひトライしていてください。
このブログでもArduinoを使ったサンプルプログラムを紹介していきたいと思います。そして、PythonとArduinoを通信させて、外部からArduinoを自在に制御する方法も紹介していきたいと思います。
最後に、大きなプログラムを作ったり、多くの外部出力信号、入力信号が必要になったら、最上位機種のArduino MEGAを使いましょう。
純正はこちら。5000円弱くらいです。


 

互換機は、価格がかなりリーズナブル。趣味で使うならこちらで全然OKですね。

 


 

それではまた

コメント