えるいーだーマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません
マクロ機能

このページではマクロ機能を紹介します

複数のLEDを設定ファイルに従ったパターンで発光させます。
このページの最後にサンプルを掲載しています

参考までに、こちらにgoogle Driveに公開したサンプルファイルをアプリからダウンロードして、アプリに取り込むまでの動画を載せておきます。

画面の説明

通常のマクロ実行

通常のマクロ実行画面です。普段はON とOFF を使用します

各部の説明は以下の通りです
Editモードになります
② マクロを実行します。JSONファイル(後述)で指定したパターンでLEDが発行します
③ マクロを停止します
④ タイトルです

編集モード

マクロ編集中の画面です。
各部の説明は以下の通りです
① 全ての編集を破棄して マクロ実行画面に戻ります
② チェックを付けたマクロを削除します
③ 新しいマクロを追加します。マクロファイルインポート画面に移動します。
④ チェックを付けると削除対象になります

マクロファイルインポート

マクロファイルインポート画面です。
「ファイル選択」をクリックするとファイル選択ダイアログが表示されます。

ダイアログでJSONファイルを選択してください。長押しすると複数ファイルを選択出来ます。

覚え書き
通常はJSONファイルを自動的に抽出し、他のファイルは選択出来ませんが`Anroid8/9``は抽出出来ないので無関係なファイルを選択出来てしまいます
頑張って正しいファイルを選択してください
警告
Androidでは電文作成時に512バイトを超えるデータ送信出来ません。そのためJSONファイルが複雑だとインポートに失敗します
現在その制限を超えて送信出来るような方法を考えています
その他の制限はJSONファイルの仕様を参照してください]

JSONファイルの仕様

えるいーだーがインポート出来るJONファイルの仕様です。

### JSONの仕様
このページは`えるいーだー`がインポート出来るJONファイルの仕様を解説します
<!-- このファイルは他のファイルからインクルードされます
独立したページにならないようにEXCLUDEに追加しておいてください -->
#### 仕様
JSONファイルは以下のような構成になっています
ただ、仕様を見ても大抵の人は「なんのこっちゃ」としかならないと思うので[サンプル](#json_Sample)を見てください
---
##### 1. 全体データ{#json_overview}
全体的なデータを示します
| 項目 | 内容 | 備考 |
| :--- | :-------- |:--- |
| **ID** | 数値 | 人間が管理するための識別子です。自分の管理しやすい番号を付けてください |
| **タイトル** | 文字列 | マクロのタイトルです。`えるいーだー`のアプリ上で表示されます <br />わかりやすい名前を付けてください|
| **シーケンスデータ** | - | [シーケンスデータ](#json_sequence)参照 |
---
##### 2. シーケンスデータ{#json_sequence}
シーケンスデータの基本部分です
| 項目 | 設定値 | 備考 |
| :--- | :--- | :--- |
| **シーケンス個数** | 0-255 | 何回分のシーケンスがあるか記載します<br />人間がわかりやすくするためにあるだけです。プログラムは無視します |
| **繰り返し処理** | 0 or 1 | `0`=1回だけで終了 `1`=繰返し |
| **シーケンス内容** | 配列 | [シーケンス内容](#json_sequence_detail)参照 |
---
##### 3. シーケンス内容{#json_sequence_detail}
シーケンス内容の詳細部分です。ここでLEDをどのように点灯させるかを指定します
| 項目 | 設定値 | 備考 |
| :--- | :--- | :--- |
| **LED個数** | 1-8 | このシーケンスで点灯させるLEDの数です<br />人間にわかりやすいように付けているだけです。プログラムは無視します |
| **シーケンス保持時間** | 10-4200000000 | このシーケンスを何ミリ秒保持するかを指定します<br />10ミリ秒単位で指定します(1ms単位の数値は10msに切り上げられます<br /> [※1](#ss_one) |
| **LED動作情報** | 配列 | [LED動作情報](#json_led_action)参照 |
---
##### 4. LED動作情報{#json_led_action}
LED動作情報の詳細部分です。ここでLEDの明度を指定します
| 項目 | 設定値 | 備考 |
| :--- | :--- | :--- |
| **LED番号** | 1-8 | どのLEDを操作するかを指定します<br />1が一番左、8が一番右です |
| **明度** | 0-100 | LEDの明度を指定します<br />0が消灯、100が最大点灯です |
---
###### ※1{#ss_one}
32ビットの符号なし整数(約42日)で保持しているのですが、実際のところ試したわけではないので<br/>そんなデカい数値を入れて正常に動作するかわかりません
##### サンプル{#json_Sample}
このJSONファイルのサンプルはLEDを順番に1個ずつ点灯させていくパターンです<br />
```json
{
"ID": 2,
"タイトル": "流れるような動き1",
"シーケンスデータ": {
"シーケンス個数": 8,
"繰り返し処理": 1,
"シーケンス内容": [
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 1, "明度": 100 }, { "LED番号": 8, "明度": 0 } ]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 2, "明度": 100 }, { "LED番号": 1, "明度": 0 } ]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 3, "明度": 100 }, { "LED番号": 2, "明度": 0 } ]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 4, "明度": 100 }, { "LED番号": 3, "明度": 0 } ]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 5, "明度": 100 }, { "LED番号": 4, "明度": 0 } ]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 6, "明度": 100 }, { "LED番号": 5, "明度": 0 } ]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 7, "明度": 100 }, { "LED番号": 6, "明度": 0 } ]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [ { "LED番号": 8, "明度": 100 }, { "LED番号": 7, "明度": 0 } ]
}
]
}
}
```
上記のサンプルはLEDを以下のような順番で点灯・消灯させます。消灯も忘れないでください<br />
各シーケンスでのLEDの明度(0〜100)を示します。<br />
「-」は、そのシーケンスで明度の指定がないことを意味します。
| シーケンス番号 | 保持時間 (ms) | LED1 | LED2 | LED3 | LED4 | LED5 | LED6 | LED7 | LED8 |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **1** | 300 | 100 | - | - | - | - | - | - | 0 |
| **2** | 300 | 0 | 100 | - | - | - | - | - | - |
| **3** | 300 | - | 0 | 100 | - | - | - | - | - |
| **4** | 300 | - | - | 0 | 100 | - | - | - | - |
| **5** | 300 | - | - | - | 0 | 100 | - | - | - |
| **6** | 300 | - | - | - | - | 0 | 100 | - | - |
| **7** | 300 | - | - | - | - | - | 0 | 100 | - |
| **8** | 300 | - | - | - | - | - | - | 0 | 100 |

実際の実行例

### サンプルの一覧です
このページは`えるいーだー`で使用するJSONのサンプルを紹介します
<!-- このファイルは他のファイルからインクルードされます
独立したページにならないようにEXCLUDEに追加しておいてください -->
#### 01.点灯→消灯
1回だけ点灯して終了する基本的なパターンです
@htmlonly
<iframe width="560" height="315" src="https://www.youtube.com/embed/R5Ppo5ftUdw?si=RWcqBgZ-ZliiWY64" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
@endhtmlonly
```json
{
"ID": 1,
"タイトル": "見本",
"シーケンスデータ": {
"シーケンス個数": 2,
"繰り返し処理": 0,
"シーケンス内容": [
{
"LED個数": 1,
"シーケンス保持時間": 1000,
"LED動作情報": [{ "LED番号": 1, "明度": 100}]
},
{
"LED個数": 1,
"シーケンス保持時間": 1000,
"LED動作情報": [{ "LED番号": 1, "明度": 0}]
}
]
}
}
```
---
#### 02.点灯→消灯 繰り返し
先ほどは1回点滅したらそのまま終了しましたが、繰り返し処理を指定するとずっと繰り返します
`繰り返し処理`を`1`に変更しただけです
@htmlonly
<iframe width="560" height="315" src="https://www.youtube.com/embed/2TiLC0h-4zk?si=-kntW1feje3QG5bm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
@endhtmlonly
```json
{
"ID": 2,
"タイトル": "見本_繰返し",
"シーケンスデータ": {
"シーケンス個数": 2,
"繰り返し処理": 1,
"シーケンス内容": [
{
"LED個数": 1,
"シーケンス保持時間": 1000,
"LED動作情報": [{ "LED番号": 1, "明度": 100}]
},
{
"LED個数": 1,
"シーケンス保持時間": 1000,
"LED動作情報": [{ "LED番号": 1, "明度": 0}]
}
]
}
}
```
---
#### 03.LED2個
今度は2個のLEDを交互に点灯させます
@htmlonly
<iframe width="560" height="315" src="https://www.youtube.com/embed/hIjdL7TYg6Y?si=cnF_QMR4m5I8ZUpE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
@endhtmlonly
```json
{
"ID": 3,
"タイトル": "LED2個",
"シーケンスデータ": {
"シーケンス個数": 2,
"繰り返し処理": 1,
"シーケンス内容": [
{
"LED個数": 2,
"シーケンス保持時間": 1000,
"LED動作情報": [{"LED番号": 1,"明度": 100},{"LED番号": 2,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 500,
"LED動作情報": [{"LED番号": 1,"明度": 0},{"LED番号": 2,"明度": 100}]
}
]
}
}
```
---
#### 04.回転させてから全点灯させて暗くなる
1-6のLEDをくるくる回らせてから、全点灯させて徐々に暗くするパターンです<br />
1-3と4-6が対になっているので、わざわざこんなふうにしないで1-3だけ設定して、LEDは2個を二股にしてもいいかも
@htmlonly
<iframe width="560" height="315" src="https://www.youtube.com/embed/Z_5Q9LCa9kY?si=oGiqxX6871tEke9g" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
@endhtmlonly
@note このサンプルで1-6までしか指定していませんが、7,8を個別に発光する機能を使って独立してスマホから制御出来ます
```json
{
"ID": 0,
"タイトル": "回転からぱっ",
"シーケンスデータ": {
"シーケンス個数": 15,
"繰り返し処理": 1,
"シーケンス内容": [
{
"LED個数": 2,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 1,"明度": 100},{"LED番号": 4,"明度": 100}]
},
{
"LED個数": 4,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 1,"明度": 0},{"LED番号": 4,"明度": 0},{"LED番号": 2,"明度": 100},{"LED番号": 5,"明度": 100}]
},
{
"LED個数": 4,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 2,"明度": 0},{"LED番号": 5,"明度": 0},{"LED番号": 3,"明度": 100},{"LED番号": 6,"明度": 100}]
},
{
"LED個数": 4,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 3,"明度": 0},{"LED番号": 6,"明度": 0},{"LED番号": 1,"明度": 100},{"LED番号": 4,"明度": 100}]
},
{
"LED個数": 4,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 1,"明度": 0},{"LED番号": 4,"明度": 0},{"LED番号": 2,"明度": 100},{"LED番号": 5,"明度": 100}]
},
{
"LED個数": 4,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 2,"明度": 0},{"LED番号": 5,"明度": 0},{"LED番号": 3,"明度": 100},{"LED番号": 6,"明度": 100}]
},
{
"LED個数": 6,
"シーケンス保持時間": 100,
"LED動作情報": [{"LED番号": 1,"明度": 0},{"LED番号": 2,"明度": 0},{"LED番号": 3,"明度": 0},{"LED番号": 4,"明度": 0},{"LED番号": 5,"明度": 0},{"LED番号": 6,"明度": 0}]
},
{
"LED個数": 6,
"シーケンス保持時間": 100,
"LED動作情報": [{"LED番号": 1,"明度": 100},{"LED番号": 2,"明度": 100},{"LED番号": 3,"明度": 100},{"LED番号": 4,"明度": 100},{"LED番号": 5,"明度": 100},{"LED番号": 6,"明度": 100}]
},
{
"LED個数": 6,
"シーケンス保持時間": 100,
"LED動作情報": [{"LED番号": 1,"明度": 80},{"LED番号": 2,"明度": 80},{"LED番号": 3,"明度": 80},{"LED番号": 4,"明度": 80},{"LED番号": 5,"明度": 80},{"LED番号": 6,"明度": 80}]
},
{
"LED個数": 6,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 1,"明度": 70},{"LED番号": 2,"明度": 70},{"LED番号": 3,"明度": 70},{"LED番号": 4,"明度": 70},{"LED番号": 5,"明度": 70},{"LED番号": 6,"明度": 70}]
},
{
"LED個数": 6,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 1,"明度": 50},{"LED番号": 2,"明度": 50},{"LED番号": 3,"明度": 50},{"LED番号": 4,"明度": 50},{"LED番号": 5,"明度": 50},{"LED番号": 6,"明度": 50}]
},
{
"LED個数": 6,
"シーケンス保持時間": 150,
"LED動作情報": [{"LED番号": 1,"明度": 40},{"LED番号": 2,"明度": 40},{"LED番号": 3,"明度": 40},{"LED番号": 4,"明度": 40},{"LED番号": 5,"明度": 40},{"LED番号": 6,"明度": 40}]
},
{
"LED個数": 6,
"シーケンス保持時間": 100,
"LED動作情報": [{"LED番号": 1,"明度": 30},{"LED番号": 2,"明度": 30},{"LED番号": 3,"明度": 30},{"LED番号": 4,"明度": 30},{"LED番号": 5,"明度": 30},{"LED番号": 6,"明度": 30}]
},
{
"LED個数": 6,
"シーケンス保持時間": 100,
"LED動作情報": [{"LED番号": 1,"明度": 15},{"LED番号": 2,"明度": 15},{"LED番号": 3,"明度": 15},{"LED番号": 4,"明度": 15},{"LED番号": 5,"明度": 15},{"LED番号": 6,"明度": 15}]
},
{
"LED個数": 6,
"シーケンス保持時間": 500,
"LED動作情報": [{"LED番号": 1,"明度": 0},{"LED番号": 2,"明度": 0},{"LED番号": 3,"明度": 0},{"LED番号": 4,"明度": 0},{"LED番号": 5,"明度": 0},{"LED番号": 6,"明度": 0}]
}
]
}
}
```
---
#### 05.流れるような動き
1から8のLEDを順番に点灯させていくパターンです<br />
ついでに、徐々に明るさを落としていきます
@htmlonly
<iframe width="560" height="315" src="https://www.youtube.com/embed/HykvvnIysHU?si=SFKk87VADtNERMg0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
@endhtmlonly
```json
{
"ID": 2,
"タイトル": "流れるような動き",
"シーケンスデータ": {
"シーケンス個数": 8,
"繰り返し処理": 1,
"シーケンス内容": [
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 1,"明度": 100},{"LED番号": 8,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 2,"明度": 90},{"LED番号": 1,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 3,"明度": 80},{"LED番号": 2,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 4,"明度": 70},{"LED番号": 3,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 5,"明度": 60},{"LED番号": 4,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 6,"明度": 50},{"LED番号": 5,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 7,"明度": 40},{"LED番号": 6,"明度": 0}]
},
{
"LED個数": 2,
"シーケンス保持時間": 300,
"LED動作情報": [{"LED番号": 8,"明度": 30},{"LED番号": 7,"明度": 0}]
}
]
}
}
```
@htmlonly
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9560213935575947"
crossorigin="anonymous"></script>
<!-- レクタングル -->
<ins class="adsbygoogle"
style="display:inline-block;width:336px;height:280px"
data-ad-client="ca-pub-9560213935575947"
data-ad-slot="2603139320"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
@endhtmlonly