はじめに無線マイコン TWELITE - トワイライトはデジタル、アナログ、シリアル、I2C の I/O ポートを持った３２ビットのマイコンを内蔵しており、自由にプログラミングをすることができます。
プログラミングする際はパソコン上で TWELITE STAGE SDK を使用します。
TWELITE STAGE SDK は TWELITE を動作させるためのアプリのビルド、書換、設定、そして、データを表示する機能を統合した評価開発環境です。
まず始めに TWELITE STAGE SDK をパソコンにインストールしてください。

TWELITE STAGE SDK
アプリのビルド、書換、設定、そして、データを表示する機能を統合した評価開発環境です。以下からダウンロードできます。

mono-wireless.com/stage

actとはTWELITE で動作するアプリを書くことができるプログラムを act（アクト）と呼びます。act はなるべく手軽に TWELITE のプログラミングを開始できることを目的としています。
act をテキストエディタで記述し、ビルドという作業で実行ファイルを生成し、これを TWELITE に書き込み動作させます。
act は setup() と loop() という 2 つの関数により構成されます。
setup() はピンの入出力等を定義する場所で起動時やリセット時に 1度だけ実行されます。loop() はメイン処理部で電源が切れるまで繰り返し実行されます。
インストールした MWSTAGE フォルダ内にある MWSDK フォルダに Act̲samples フォルダがあります。Act̲samples フォルダには各種サンプルが入っています。

準備
1. TWELITE STAGE ボードの「❸ DIP コネクタ」に TWELITEDIP を向きに気を付けて接続する。
2. TWELITE STAGE ボードの「7P インターフェイス」に TWELITE
R2 を向きに気を付けて接続する。
3. TWELITE R2 と USB ケーブルを接続する。
4. USB ケーブルをパソコンの USB ポートに接続する。

5.「電源スイッチ」
を右側（LITER）に倒して電源を入れる。
6. TWELITE STAGE を起動する。

7. 表示されたリストから接続したデバイスを選択する。

TWELITE STAGE のメインメニューが表示されます。

ステップ１： LEDを点滅させる
1. メニューから「アプリの書換」>「act ビルド＆書換」>「act1」を選択する。
ビルドが始まり、書換が終わると「⓳ LED（DO1）」
が 0.5 秒間隔で点滅を始めます。

トワイライトステージ

プログラミング入門
ステップ２： LEDの点滅速度を変える
TWELITE STAGE SDK の MWSTAGE フ ォ ル ダ 内 に あ る
MWSDK フ ォ ル ダ に Act̲samples フ ォ ル ダ が あ り ま す。
Act̲samples フォルダには各種サンプルが入っています。
act1.cpp は LED を点滅させるサンプルプログラムです。これを編集してみましょう。
1. 任意のテキストエディタ（メモ帳等）で MWSTAGE > MWSDK> Act̲samples > act1 > act1.cpp を開く。
2. プログラムの１2 行と１4 行の５００を１０００に書換えて保存する。
01: #include <TWELITE>
02:
03: /*** the setup procedure (called on boot) */04: void setup() {05:pinMode(18, OUTPUT);
06:
digitalWrite(18, LOW); // TURN DO1 ON
07:
Serial << "--- act1 (blink LED) ---" << crlf;
08: }
09:
10: /*** loop procedure (called every event) */11: void loop() {12:delay(500); // 500ms delay
13:
digitalWrite(18, HIGH); // TURN DO1 OFF
14:delay(500); // 500ms delay
15:
digitalWrite(18, LOW); // TURN DO1 ON
16: }3. メニューから「アプリの書換」>「act ビルド＆書換」>「act1」を選択する。
ビルドが始まり、書換が終わると「⓳ LED（DO1）」が 1 秒間隔で点滅を始めます。

解説：待ち時間の調節
act1 では点滅の間隔を delay() で設定しています。delay() は設定した時間だけ処理を止めて待ちます。設定値はミリ秒（1000 分の 1秒）です。500 を設定すると 0.5 秒間待ちます。この値を変えることにより点滅の速度を調節できます。

ステップ3： 押しボタンでLEDを点灯させる
1. メニューから「アプリの書換」>「act ビルド＆書換」>「act4」を選択する。
「⓲ 押しボタン（DI1）」を押すと「⓳ LED（DO1）」が点灯します。

ステップ4： 押しボタンとLEDの割り当てを変更する

ステップ5： App̲Tweliteをactで書く「⓰ 押しボタン（DI2）」を押すと「⓱ LED（DO2）」が点灯するように変更してみましょう。

超簡単！標準アプリ（App̲Twelite）と同様な動きをするプログラ
ムを act で書いてみましょう。

1. テキストエディタで MWSTAGE > MWSDK > Act̲samples >act4 > act4.cpp を開く。

1. 2 枚の TWELITE STAGE ボードそれぞれに TWELITE DIP を接続する。

01: #include <TWELITE>
02:
03: const uint8_t PIN_LED = 18;
04: const uint8_t PIN_BUTTON = 12;05:
06: void setup() {07:
pinMode(PIN_LED, OUTPUT);08:
pinMode(PIN_BUTTON, INPUT_PULLUP);
09:
10:
Buttons.setup(5);11:
Buttons.begin(1UL << PIN_BUTTON, 5, 10);
12:
13:
Serial << "--- act4 (button&LED) ---" << crlf;
14: }
15:
16: /*** loop procedure (called every event) */17: void loop() {18:
if (Buttons.available()) {19:
uint32_t bm, cm;
20:
Buttons.read(bm, cm);
21:
22:
if (bm & (1UL << 12)) {23:
digitalWrite(PIN_LED, HIGH);
24:
Serial << "Button Released!" << crlf;
25:} else {26:
digitalWrite(PIN_LED, LOW);
27:
Serial << "Button Pressed!" << crlf;
28:}
29:}
30: }

2. プログラムの 03 行の 18 を 19 に、04 行の 12 を 13、22 行の 12 を 13 に書き換えて保存する。
3. メニューから「アプリの書換」>「act ビルド＆書換」>「act4」を選択する。
「⓰ 押しボタン（DI2）」
を押すと「⓱ LED（DO2）」が点灯します。

2.「❹ ディップスイッチ」でどちらか片側を親機に、もう片側を子機に設定する。
M1 M2 M3 BPS

M1 M2 M3 BPSO O O OO O O O

GG G

G

G

親機G G

G

子機

3.「⓭ アナログ内外部切替スイッチ」を ON BRD AI 側にする。
4. 電源を入れる。
5. メニューから「アプリの書換」>「act ビルド＆書換」>「BRD̲APPTWELITE」を選択して、2 枚の TWELITE DIP にそれぞれ書き込む。
6. TWELITE STAGE ボード上の押しボタンや可変抵抗を操作する。
親機→子機
親機の押しボタン（DI1）を押すと、子機の LED（DO1）が点灯
親機の押しボタン（DI2）を押すと、子機の LED（DO2）が点灯
親機の可変抵抗を回すと、子機の LED（PWM1）の明るさが変化
子機→親機子機の押しボタン（DI1）を押すと、親機の LED（DO1）が点灯
子機の押しボタン（DI2）を押すと、親機の LED（DO2）が点灯
子機の可変抵抗を回すと、親機の LED（PWM1）の明るさが変化

MWX ライブラリ

サンプルアクトの解説は以下をご覧ください。
mwx.twelite.info

解説：I/Oポート割り当て
act

I/O ポートの割り当ては以下の通りです。
ポート名

ポート番号

デジタル入力 2（DI2）13

デジタル入力 1（DI1）

act の詳細は以下をご覧ください。

12

押しボタン

デジタル出力 1（DO1）

18

LED 赤

アナログ入力 1（AI1）

A1

可変抵抗

PWM 出力 4（PWM4）8デジタル出力 2（DO2）PWM 出力 1（PWM1）

195

mono-wireless.com/act

押しボタン

LED 緑LED 黄コネクタ（アナログ）

超簡単！標準アプリ（App̲Twelite）に戻す
TWELITE STAGE の メニュー から「アプリ書 換」>「TWELITEAPPS ビルド & 書換」>「App̲Twelite」を選択する。

アクト

モノを無線でつなぐ、モノワイヤレス

act
手軽にプログラミング。