プログラミング初心者におすすめ「M5Stack」社製「ATOM LITE」を使った定番の「Lチカ(LEDを点灯/消灯させる)」プログラムについて詳しく紹介します。
サンプルプログラムも準備しましたので、コピペで書き込むだけで動作確認まで行えます。
「ATOM LITE」については以下のリンクで詳しく紹介しています。
1.「Lチカ」とは?
「Lチカ」とはLEDを点灯/消灯(チカチカ)させるプログラムです。
今回準備した「Lチカ」プログラムは電源ONで本体のLEDが白く点灯し、本体のボタンを押すとLEDが青色に変わるというプログラムです。
本体のLEDはフルカラーLEDなので数値を変えるだけで好きな色に変えることができます。
フルカラーLEDとは、見た目は1個のLEDですが内部に赤、緑、青の3個のLEDが内蔵されており、それぞれの光の強さを調節することで様々な色を表現できます。
(色の3原色の理解にもなりますので後でいろいろ試してみましょう)
2.サンプルプログラム(コピペ)
「ATOM LITE」の「Lチカ」プログラムを以下に準備しましたので「コピペ」して書き込んでください。
下のコードを「コピペ」して書き込んでください。
※コピーは下コード(黒枠)内の右上角にある小さなアイコンのクリックでもできます。
#include <M5Atom.h> //Atomのヘッダファイルを準備
// FastLEDライブラリの設定(CRGB構造体)
CRGB dispColor(uint8_t r, uint8_t g, uint8_t b) {
return (CRGB)((r << 16) | (g << 8) | b);
}
// 初期設定 -----------------------------------------------
void setup() {
// 本体初期化(UART有効, I2C無効, LED有効)
M5.begin(true, false, true);
// LED全消灯(赤, 緑, 青)
M5.dis.drawpix(0, dispColor(0, 0, 0));
}
// メイン -------------------------------------------------
void loop() {
M5.update(); //本体のボタン状態更新
if (M5.Btn.isPressed()) { //ボタンが押されていれば
M5.dis.drawpix(0, dispColor(0, 0, 255)); //LED(指定色)
} else { //ボタンが押されてなければ
M5.dis.drawpix(0, dispColor(20, 20, 20)); //LED(白)
}
delay(100); //100ms待機
}
3.フルカラーLED制御プログラム(「FastLED」ライブラリ)の紹介
フルカラーLEDの制御には専用のライブラリ「FastLED」を使用します。
「FastLED」でフルカラーLEDを制御するプログラムについて紹介します。
12行目がフルカラーLEDの色を指定するプログラムです。
これはフルカラーLED制御用のライブラリ「Fast LED」固有のものです。
初期設定として全消灯を指定しています。
M5.dis.drawpix ( LED番号, dispColor ( 赤LED, 緑LED, 青LED ) );
・青文字:フルカラーLEDを制御するためのコマンド
・LED番号:制御するLEDの番号「M5ATOM LITE」は1個しかないので常に「0」
※「M5ATOM MATRIX」は25個あるので「0」~「24」
・赤LED:赤色LEDの光の強さを数値で指定「0」~「255」
・緑LED:緑色LEDの光の強さを数値で指定「0」~「255」
・青LED:青色LEDの光の強さを数値で指定「0」~「255」
※「0」で消灯
19行目がLEDを青色に設定するプログラムです。
赤LEDと緑LEDを「0」(消灯)、青LEDを「255」(最大値)
M5.dis.drawpix ( 0, dispColor ( 0, 0, 255 ) );
赤、緑、青のLEDを全て同じ数値にすると白色に点灯します。
ここでは「20」とし弱めの発光に指定しています。
M5.dis.drawpix ( 0, dispColor ( 20, 20, 20 ) );
4.最後に
ようやく「Lチカ」までたどり着きました!
プログラムになじみのある方には「いまさら何を?」だと思いますが、まったくの初心者の方には初めてのことばかりで大変だったのではないでしょうか?
もし、このブログで初めて挑戦されてここまでたどり着けた方がいたとしたら
「おめでとうございます!プログラミングの世界へようこそ!」
まだ実感は無いかもしれません、実際に「今日からあなたもプログラマー」の段階では残念ながらありません。
しかし「明日からはプログラマー」かもしれません!。
ここまでたどり着いたことで、少なくとも開発環境は手に入れています。
エディタとして準備した「VS Code」は様々なプログラミング言語に対応しており、ここまでで「もうメンドクサイ」ってなった方でも、「またやってみるか」と思ったときや、他のサイトさんで紹介されているプログラムをやってみようとした時にすぐに挑戦できることでしょう。
まだ具体的なプログラムの作成には触れていませんが、自分で書込みを行い動作確認を行えたことで確実に1歩前に踏み出しています。「0歩」が「1歩」に、これは非常に重要なことです。
プログラミングの世界は「0」と「1」の組み合わせで様々な動作を実現しており、「0」は日本語で「偽」、「1」は「真」と呼ばれており、「真」と「偽」では大きな違いです。
話が大げさになりましたが、「1歩」踏み出したことで今までできなかったことができるようになりました。
このブログでは引き続き順を追って説明していきますので1ページづつ読み進めてください。
ここまでで「こうやってやるのね」「じゃあ、こんなこともできるし、あんなこともできるのね」と思えた方は「すばらしい!」どんどん想像力を膨らませましょう。
逆に「言われるがままにやっただけで結局なにやってんの?」って方もいると思います。
私も昔(大昔)に定番プログラム「Hello World!!」の表示をやったときはそうでした。
そうはなってほしくないので、ここから先はそれぞれの理解と興味に合わせて下に3つのリンクを準備しました。
好奇心の赴くままに読み進めてみましょう♪
「ATOM LITE」本体とUSBケーブルがあればお試しできますが、本格的にやってみたい方には「回転角ユニット(ボリュームです)」や「スイッチ」「液晶表示器」などもおすすめします。
「回転角ユニット(ボリューム)」や「スイッチ」「液晶表示器」については以下のリンクで詳しく紹介しています。
コメント