今回はスケッチを見やすくします。
キッチンタイマーのスケッチを作る前に
第12回までの記事で、LEDを1秒ごとにつけたり消したりするスケッチを作成して、実際にArduinoを動作させてみました。
動作としては単純ですが、そこまでの道のりは意外に大変でしたよね。でもそこまでに身につけた知識は今後も役に立ちますし、さらに知識をつけるといろいろなことができるようになります。この先も一緒にいろいろな知識を身につけていきましょう!
いよいよこれからキッチンタイマーのスケッチを新規に作成していきますが、途中でいろいろな動作確認をするために別のスケッチを作成します。
今の時点では作成したスケッチは1つしかありませんが、今後スケッチがどんどん増えてくるわけです。
PCで何かのファイルをいくつか作成するとき、ファイルがごちゃごちゃになってきた経験はありませんか? ファイル名に日付を入れたり、ファイル名に変更内容を簡単に付け足したり、いろいろな工夫をしてファイルを区別していたかもしれません。
これから作成するスケッチは、基本的にファイル名を工夫してわかるようにします。例えばファイル名が「LED_blink」であれば、1秒ごとにLEDをつけたり消したりするスケッチとわかります。
でも、例えばスケッチ作成の練習として0.5秒ごとにLEDをつけたり消したりするスケッチを別につくりたいとき、ファイル名を工夫しても、ファイル名からスケッチの中身を思い出すのは難しくなってきそうですよね。
そこで、どのようなプログラミング言語でも「プログラムの中にメモ書きできる仕組み」が用意されています。
このメモ書きできる仕組みを利用してスケッチの中に動作内容をメモ書きしておけば、あとからスケッチをみたときにスケッチの指示内容を見なくても、メモ書きを読めば動作内容がすぐにわかるというわけです。
それでは、これから作成した「LED_blink」スケッチの中に、「1秒ごとに12番ピンに接続したLEDをつけたり消したりするスケッチ」という内容をメモ書きしていきます。
コメント
「LED_blink」スケッチの中に「12番ピンに接続したLEDを、1秒ごとにつけたり消したりするスケッチ」と直接書き込むと、当然ながら(?)、以下のようにArdiuno IDEに怒られます(例の、気に食わないとダメなところを目立つようにして英語で怒られるやつです)。
それでは、これからスケッチにメモ書きするやり方を確認していきましょう。
と行きたいところですが、その前に用語を覚えたいと思います。
スケッチ(プログラム)に書くメモのことを「コメント」と呼んでいます。
C++言語ではコメントの書き方は2通り用意されています。それではひとつずつ覚えていきましょう。
今後、スケッチの書き方の説明では、上の説明図のように右上に「C++」などの表記をします。
「C++」はC++言語の文法、「Arduino」はArduino独自のものになります。
文章の最初を「/*」、最後を「*/」で囲むとその部分がコメントとなります。
先ほどのようにスケッチにコメントを書く場合は、次のように書きます。
/* 12番ピンに接続したLEDを、1秒ごとにつけたり消したりするスケッチ */
このコメントは複数行で書いても問題ありません。例えば以下のように書いてもOKです。
/* 12番ピンに接続したLEDを、
1秒ごとにつけたり消したりするスケッチ */
このコメントの書き方では「/*」から始まって、「*/」が出てくるまで、全てがコメント(メモ書き)として扱われます。
次のように書けば、命令の意味をメモしておくこともできます。
digitalWrite(12, HIGH); /* 青色LEDをつける */
C++言語ではもうひとつコメントの書き方があります。
「/」(半角のスラッシュ)を2回続けて書くと、「//」から改行まで、つまりその行の終わりまでがコメントになります。
次のコメントの書き方はOKです。
// 1秒ごとに12番ピンに接続したLEDをつけたり消したりするスケッチ
次のようにコメント途中で改行すると、2行目は「何?」ってことで怒られてしまいます。
// 1秒ごとに12番ピンに接続したLEDを
つけたり消したりするスケッチ
行の途中から書くこともできるので、指示内容をメモ書きしておくこともできます。
digitalWrite(12, HIGH); // 青色LEDをつける
先ほどの「/* コメント */」のコメントより入力する文字が少ないので、こちらのコメントの方が使いやすいですね。
例の謎の文章の解明
新規スケッチに最初から書いてあった謎の文章がありましたよね。
これはコメントだったんです。
コメントはちょっと薄いグレーの色になっていますよね。これは、Arduino IDEがこの行をコメントと認識してグレーにしているためです。
スケッチの主体は指示(命令)で、コメントは脇役です。Arduino IDEでは、コメントはそれほど目立たないようにグレーで表示するようになっています。
ところで、このコメントの意味を確認してみましょう。
“put your setup code here, to run once:”
「1回だけ実行する命令をここに書いてください」
“put your main code here, to run repeatedly:”
「ずっと繰り返し実行する命令をここに書いてください」
スケッチのsetupとloopの仕組みはわかっていますので、このコメントはもう必要ないですよね。あとで削除しましょう。
ただ、このコメントの先頭にスペースが入っているのは相変わらず気にはなりますが…
スケッチにコメントを書こう
それでは、あとからスケッチを見て内容がすぐにわかるようにコメントを書いてみます。
書く内容は、スケッチの動作内容以外にも自分で書いておきたい内容を書いておいてください。といっても何を書けばいいの?って感じですよね。
コメントの書き方は特に決まりはありませんが、一般的にプログラムの先頭には以下のようなコメントを書くケースが多いです。
- プログラム名
- プログラムの動作内容
- 作成日
- 変更した場合、変更日と変更内容
- プログラムのバージョン(Version 1.0など)
- 作成者名
- 注意事項
- ライセンス(商用に使ってはダメ、とか細かい規定)
とはいっても、個人でつくるものですので、自分があとから見てわかる内容であればOKです。
コメントは複数行で書きますので「/* コメント */」の方で書きましょう。それでは作成した「LED_blink」を開いてください。
コメントに書く内容は自由ですので、あとで見たときに内容がわかるようにしておくと良いと思います。初めてのスケッチですので、「初めて作ったスケッチ!」とか書いておくと記念になるかもしれませんね。
コメントは次のように書いてみました。また、新規スケッチに書いてあったコメントは必要ありませんので削除しました。
他の人のコメントを見てみよう
ここで、他の人はどのようなコメントを書いているか見てみましょう。
Arduino IDEの「ファイル」→「スケッチ例」→「01.Basics」→「Blink」を選択してください。
「スケッチ例」メニューにはたくさんのサンプルスケッチが入っています。「01.Basics」は基本的なスケッチで、「Blink」は俗に「Lチカ」(LEDをチカチカする)と呼ばれる、LEDを点滅すスケッチです。
このスケッチの最初の部分にたくさんのコメントが書いてあります。(というかスケッチの命令本体よりコメントの方が長いですよね)
書いてある内容は以下です。
- タイトル
- 動作内容(「LEDを1秒つけて1秒消す、という動作を繰り返す」という内容)
- Arduinoの各製品の違いの説明
- 変更日と変更した人の名前
- このプログラムは自由に使っていいですよ、という内容
- サイトの説明へのリンク
上のスケッチのコメントは、一般に公開するのでかなり詳しく書いてありますね。
ところで、やはり気になるのが、上のスケッチでもそれぞれの行の指示の先頭にスペースが空いています。これはこういうしきたりなんでしょうか?
次回の記事でこの謎を解明していきます。
更新履歴
日付 | 内容 |
---|---|
2019.7.21 | 新規投稿 |
2021.8.22 | 新サイトデザイン対応 |
2022.2.9 | 誤記訂正 |
2024.11.18 | Arduino IDE2の内容に変更 |