大好きArduino

Arduino総合情報サイト

C言語の初歩の初歩

ArduinoでC言語を体験する

※本学習の開設は弊社で開発をした学習ボードをベースに記述いたします。
※本ボードのご入手を希望される方はメールで私までご連絡ください。
※数に限りがあります。

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

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

 ①開発環境を起動する

それではデスクトップのアイコンをダブルクリックして開発環境を起動しましょう!
赤く囲った部分は、これから作成するプログラムの名前です。
この写真ではファイル名は sketch_jul23a となっていますが、ここはみなさんのパソコンの状況によってそれぞれ異なる名前がついていると思われます。
ファイル名は、保存するときに自由な名前をつけることができるので、今はあまり気にしないでください。

editor

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

わかりやすく作文用紙のようなマス目に大きく書いてみました。
ひとつの箱は半角のスペースを表します。
このとおりにプログラムを書いてください。
※文字の色が青やオレンジになっていますが、これは開発環境が手に自動で色をつけてくれますので、みなさんは気にしないでひたすらキーボードを打ち続けます ^ ^
※プログラムを書くときには必ず漢字モードを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

プログラムは赤い四角で囲った全てなのですが、実は、上の箱と下の箱で区切ったように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 や 書く命令の細かい部分には触れません。

これはあとあとじっくり説明そしていく中でわかっていきます。

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

それではいよいよ次回からは本格的にプログラミングへ入っていきます!

-C言語の初歩の初歩