内蔵スイッチを使う
about Nefry BT Default SwitchNefry BTに内蔵のスイッチを扱う方法を紹介します。
事前に「環境構築(Arduino IDE)」で、Nefry BTにプログラムを書き込める環境を作ってから始めましょう。
まずはノンプログラミングでNefry BTを動かしたい、という方は、「ノンプログラミングでLINE連携」「ノンプログラミングでIFTTT連携」を試してみてください。
制御方法
内蔵LEDは、Nefryライブラリで用意されているNefry.enableSW()
関数とNefry.readSW()
関数を利用します。
#include <Nefry.h>
void setup() {
// スイッチを有効化
Nefry.enableSW();
}
void loop() {
// スイッチが押されたら
if (Nefry.readSW()) {
Nefry.setLed(255, 0, 0);
Nefry.ndelay(1000);
}
// 青色に戻す
Nefry.setLed(0, 0, 255);
}
以下では、スイッチを押している間LEDを赤く点灯させる方法を手順つきで紹介します。
ボードの選択
Arduino IDEを開き、メニューのツール > ボード > Nefry BT
を選択します。この際、ボードは使っているリビジョンに合わせて選択してください。(参照:リビジョンを確認)
シリアルポートを選択
Nefry BTをPCのUSBポートにさします。プログラムはこのポートを介して、シリアル通信でNefry BTに流し込まれます。
Macの場合は、メニューのツール > シリアルポート > /dev/cu.usbserial-xxxxxx
を選択します。環境によっては/dev/tty.usbserial-xxxxxx
などの場合もあります。
Windowsの場合は、ツール > シリアルポート > /dev/COM-XX
を選択します。
※Nefry BTを抜き差しすると、シリアルポートの選択が解除される場合があります。適宜確認しましょう。
■シリアルポートが見つからない・書き込めないとき
お使いのPCによっては、USBドライバのインストールが必要な場合があります。(参照:困ったときは)プログラムの書き込み
メニューのファイル > 新規ファイル
を選択します。以下のようなウインドウが表示されます。
初期状態で書かれているコードを削除して、以下のコードに差し替えましょう(行頭の数字は不要です)。スイッチを押すと、内蔵LEDが1秒赤く光るコードです。
#include <Nefry.h>
void setup() {
// スイッチを有効化
Nefry.enableSW();
}
void loop() {
// スイッチが押されたら
if (Nefry.readSW()) {
Nefry.setLed(255, 0, 0);
Nefry.ndelay(1000);
}
// 青色に戻す
Nefry.setLed(0, 0, 255);
}
ちなみに、if (Nefry.readSW){}
はif (Nefry.readSW == HIGH){}
と同義です。比較を省略した場合、Trueのとき(つまりHIGHのとき)に条件式が実行されます。
プログラムの保存とボードに書き込み
左上の→
ボタンを押してNefry BTにプログラムを書き込みます。
ESP32モジュールの特性上、書き込みに1分ほどかかる場合があります。エラーが出てしまうときは、「シリアル通信で書き込む」を参照してください。
確認
プラグラムを書き込んでNefry BTが再起動したら試してみましょう。スイッチを押したら内蔵LEDが赤に光ります。
お疲れ様でした!