大好きArduino

Arduino総合情報サイト

4.Arduinoはじめてのプログラミング

2018/11/26

スポンサードサーチ


1.まずはとにかくプログラミング

それではとにかくインストールした開発環境を起動し、なにはともかくわけのわからないまま下記の通りプログラムを書いて動かしてみましょう。

スポンサードサーチ

①開発環境を起動する

それではデスクトップのアイコンをダブルクリックして開発環境を起動しましょう!
editor

赤く囲った部分は、これから作成するプログラムの名前です。
この写真ではファイル名は sketch_jul23a となっていますが、ここはみなさんのパソコンの状況によってそれぞれ異なる名前がついていると思われます。
ファイル名は、保存するときに自由な名前をつけることができるので、今はあまり気にしないでください。 

②とにかくプログラムを書いてみましょう!

わかりやすく作文用紙のようなマス目に大きく書いてみました。
ひとつの箱は半角のスペースを表します。
このとおりにプログラムを書いてください。
※文字の色が青やオレンジになっていますが、これは開発環境が勝手に自動で色をつけてくれますので、みなさんは気にしないでひたすらキーボードを打ち続けます ^ ^
※プログラムを書くときには必ず漢字モードをOFFにしてください。
※経験してもしても間違えやすいのが....スペースです。スペースは何も見えないので、わからないまま全角のスペースが入っていてプログラムエラーを起こす時があります。

kanji

prgram_big

実際には画面上このようにかけているはずです!!arduino_program

keybord



2.ダウンロードをして動かしてみましょう!

 ①ダウンロードを開始する

下記の図を参考にダウンロードし進行状況を確認しましょう!

sinkoujyoukyou

※特に黒い部分にオレンジ文字が表示されたら、なにかエラーがありますので、オレンジ文字の内容をじっくり読んで、どうしてエラーが起こったのかを確認してください。
エラーがなく正しくコンパイルとダウンロードが完了すると下記のような表示となります。

OK

※コンパイル後のスケッチサイズ:●●●●●●バイト(最大容量▲▲▲▲▲▲バイト)
●●●●●●バイト ▲▲▲▲▲▲バイト はプログラムの量によって変わりますが、記述がこのようであれば正しく完了したという目安です。

②ダウンロードボタンをクリックした後、この開発環境は

1.C言語のプログラムに何か誤りが無いか?をチェックする
2.C言語のプログラムをマシン語(機械語)のデジタルに変換する「コンパイルされる」
3.学習用のボードと通信を行いマシン語プログラムをボードに転送する(転送が始まるとボード上...USBケーブルが刺さっている小さなLeonardoボード上の緑LEDがチカチカ点滅します)
4.転送後勝手にプログラムが動き始める

という動きをします。
ダウンロードボタンを押した直後から、ボードとパソコンの画面をキョロキョロ見るようにしてください!

③プログラムの結果は

ダウンロードの結果は....たいしたことではないのですが、下記の写真のように左側のLEDがピカっと光るはずです!

kekka



3.Arduino + C言語 開発の最小ルールだけを..

あまり最初から飛ばし過ぎると疲れてしまいますから、ここでは、今回使用しているメインボード[Arduino]でのC言語でのプログラミングにおける最小ルールをちょっとだけ説明します。
あとすこしだけお付き合いください!

まずは下の図を御覧ください。
プログラムについて少し説明(ポイント)を書いてみました。

pr_kaisetu

[1]プログラムは赤い四角で囲った全てなのですが、実は、上の箱と下の箱で区切ったように2つのブロックで作られています
[2]機能の名前は、この2つのブロックにそれぞれ名前をつけています。名前はそれぞれのブロックの最初の部分、void setup(void) と void loop(void) で、各名前に対する機能の詳細(処理)は、
[3]名前の下の { から始まり 次に現れる } までとなっています。つまり、このプログラムは2つの大きな機能をもち、各々の機能の中で、、
[4]その機能に見合う命令を書いているのです。そしてその命令は、この処理の { から } までの間に何個でも書くことができますが、
[5]命令の終わりには必ず ;(セミコロン)を書きます。

命令を書く決まりは、1行1つの命令でも、1行の中にズラ~っと横に;で区切って書くこともできます。それは「;が一つの命令の終わりを示す」、日本語でいうところの句読点(。)の意味があるからです。これはC言語全てにおけるルールです。

しかし、殆どの場合、後々の見やすさも考えて1行1命令を書いて最後に ; で締めくくります。

1行にズラ~っと書いてみると....
pinMode(3,OUTPUT) ; pinMode(4,OUTPUT) ; pinMode(5,OUTPUT) ;

1行に1命令のほうが見やすいし流れがよくわかる
pinMode(3,OUTPUT) ;
pinMode(4,OUTPUT) ;
 pinMode(5,OUTPUT) ;

★C言語では、このように名前をつけた処理をもつ機能を関数と呼びます。
★そして関数の中には多くの命令を、動いてほしい順番に上から下に書いていきます。
※関数の中の命令は動いてほしい順番に上から下に書かなければいけませんが
※関数はどんな順番で書いても構いません。
ただし、Arduinoの標準のルールでは、必ずここに書かれた void setup(void) と void loop(void) という機能をこの順番で書かなくてはいけないことになっています。
これは Arduino独特のルールです。

4.関数の解説

それでは最後にせっかくなのでArduino独特のこの2つの絶対機能(関数)について簡単に説明をしておきます。

void setup(void)  ボイド セットアップ ボイド

Arduinoにプログラムがダウンロードされ、プログラムが動き出すときに、一番最初に1回だけ動く部分です。
通常Arduinoプログラムでは、この関数の中では、ボードのセッティング状態(どのピンに何がつながっていてどうやって動かしたいか)の命令を記述します。
今回命令の pinMode(3,OUTPUT) ; というのは、「3番ピンは出力用に使います!」とセッティングしていることを示します。

void loop(void)  ボイド ループ ボイド

Arduinoでは setup関数が動いた後、必ずこの loop という関数が動きます。
この関数は名前の通り ループ(回る) する動きをします。
つまり、この関数の 開始の { から 終わりの }まで、Arduinoの電源が落ちるか、Arduinoが壊れてしまうまで、ずっと延々繰り返して動くのです。
今回の命令の digitawWrite(3,LOW) ; というのは、「デジタル的に3番のピんにLOWを書いてね!」としています。

この説明では void や 書く命令の細かい部分には触れません。
これはあとあとじっくり説明そしていく中でわかっていきます。

 

今回は、プログラムの雰囲気や全体、イメージをしっかり理解してください!

-お勉強