↑どうぞ
ArduinoIDEという総合開発環境をあなたのPCにインストールするところまでいきましたでしょうか?
できてないかたはこちらへ
今回はArduino本体をパソコンに接続・認識させ最初のプログラム書き込みに適したスケッチ(プログラムの事)を書き込むところまでいきます。
これで開発環境と実際にプログラムを書き込む事でArduinoの基礎の”キ”は完了になります。
動画での説明↓
目次
PCにArduino本体を接続する
とりあえずUSBケーブルでarduino UNO R3とPCを接続してください。
ArduinoIDEを起動させます。
まぁ順番はどちらでもOKです。
赤枠のSelect Boardをクリックしてください。
上図のようにうまくいけば、Arduino Uno と選択する項目があればArduinoの認識も成功です。
これでプログラミングができる状態になったのです。さいこーーー
テストプログラムを書き込む Arduino ハローワールド!!
いよいよArduinoが使用可能になりました。
初心者のみなさんはここで、まずはテストプログラムなるものを書き込む事をお勧めします。
よく、プログラム言語を学ぶさいに最初に書き込むプログラムに”halo world”を表示させるのが慣習なのですが、Arduinoでは基盤のLEDを光らせるというのが手っ取り早くて為になります。
そのテストプログラムの事をblinkプログラムといいます。
それではblinkプログラムを書き込んで実際に基盤のLEDを光らせてやりましょう。
下図のようにFile → Examples → 01.Basics → Blink と進んでBlinkをクリックします。
さすれば下図のようになんとプログラムが勝手に表示されます。
なんだか文字が多くて難しそうですよね?でも大丈夫プログラムに関係するのは下図の文字を選択している部分だけになります。
ほかの文字はグレーになってますよね?グレーになっている文字はプログラムには直接関係なく、プログラムの説明などに使用されているだけのただの文字です。
このプログラムに関係ない文字の事をコメントアウトしていると表現します。
// ←で書いた後の文字はコメントアウトされます。
さらに
/* この両サイドに挟まれた文字もコメントアウトされます。改行もOKです。*/
プログラムの書き込み方法
実際にプログラムに使用されている部分は先ほども説明したように赤枠のところだけです。
それではこのプログラムを書き込んでみましょう。
Arduinoに書き込むにはプログラムを機械語にして、機器に流し込むという作業がいります。
機械語にする事をコンパイルといい危機に流し込む作業をアップロードといったりします。
実際にやってみましょう。
プログラムは何もいじらなくていいので上図の赤丸のチェックマークを押してみてください。もしプログラム的に問題なければDone compilingとコンパイルがうまくいった事がわかります。
コンパイルがうまくいけば機器にアップロードできます。
次にArduino Uno R3にプログラムをアップロードします。
同様に赤丸の矢印マークを押せばアップロードがはじまります。
成功するとDone uploadingと表示がでます。
この方法はどんなプログラムを書いても同じです。
一度やれば大丈夫でしょう。
どうですかArduinoの基板上のLEDが1秒毎についたり消えたりしているでしょう?そうなれば最初のプログラムの書き込みは大成功です。やりました。
Blinkテストプログラムの説明
とりあえずテストプログラムの説明もしておきます。
このプログラムも少しいじってみると面白いです。
1 2 3 4 5 6 7 8 9 10 11 12 |
void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } |
セミコロン;
プログラミングしていく上でプログラム文を書いていきますが、一文書いたらプログラムの最後にセミコロン→;を書く必要があります。
これを忘れるとプログラムがうまくコンパイルできません。忘れずに入力しましょう。
コンパイルや書き込みする時にエラーが出るのでそこで教えてくれる事でわかったりします。
void setup(){ }
void setup(){ } の{ }中にpinMode(LED_BUILTIN, OUTPUT);と書いているのはLED_BUILTIN(基板上のLEDの事)をOUTPUTとして使いますよって宣言しています。
OUTPUTとする事でLEDを光らせる為に端子に5Vの電圧を加えたり、逆に0Vにする事で出力をコントロールする事ができます。
セットアップはプログラムの初めに一度だけ呼ばれるので、ここで色々な定義や取り決めを書く必要があります。
ただ、書く事は使うセンサや使いたい機能で決まっているのでやっていくうちに覚えていきますので、不安に思う必要はありません。
void loop() {}
このloopの中のプログラムがメインプログラムになります。
ループと書かれているようにこの中のプログラムが繰り返し実行されるというわけです。
テストプログラムでは
1 2 3 4 5 6 |
void loop() { digitalWrite(LED_BUILTIN, HIGH); // delay(1000); // digitalWrite(LED_BUILTIN, LOW); // delay(1000); // } |
と書かれています。
先ほどセットアップで出力に設定したLED_BUILTINですがここでdigitalWrite(LED_BUILTIN, HIGH);
と書かれていますが、LED_BUILTINに5Vの電圧を加えるという意味です。
デジタルの世界ではHIGHは5V(場合によっては3.3V)でLOWは0Vです。
ですから、digitalWrite(LED_BUILTIN, HIGH);はLEDが点灯させるプログラム文になります。
逆にLOWとすると基板上のLEDは消灯します。
delay(1000);
最後にdelayについて説明します。
Arduinoはとても高速で動いています。
digitalWrite(LED_BUILTIN, HIGH);でLEDをつけてすぐにLOWにしてLEDを消しても、人間の目にはLEDが光った事さえわかりません。それほど高速に動いています。
ですのdelay関数を用いて人間の目でもわかるように時間を待ってやるという一文になります。
中の数字は㎳(ミリ秒)に相当するので1000㎳で一秒です。
ぜひ、この数字だけ変えてみて同様にArduinoにアップロードしてみてください。
待ち時間だけ変えてLEDの光り方を変更するだけでも感動を得られます。
どうでしたでしょうか?Arduinoの最初の一歩はうまくいったでしょうか?
ここまできたら次はarduinoでのシリアル通信方法やA/D変換、プッシュスイッチの使い方、OLED(有機ELディスプレイ)の表示方法などを勉強してみてください。
アイデア次第ですごいものが作れるかもです。
あなたなら必ずできます。必ず!!