Skip to content

Commit 73b8299

Browse files
authored
Merge pull request #3 from 3110/develop
v0.0.4
2 parents 9aa83ee + dca0123 commit 73b8299

File tree

11 files changed

+300
-57
lines changed

11 files changed

+300
-57
lines changed

.vscode/settings.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
"unordered_map": "cpp",
2222
"unordered_set": "cpp",
2323
"vector": "cpp",
24-
"initializer_list": "cpp"
24+
"initializer_list": "cpp",
25+
"*.tcc": "cpp",
26+
"system_error": "cpp"
2527
},
2628
}

README.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ ATOM Babies は M5Stack 社の<a href="https://shop.m5stack.com/collections/atom
2222

2323
### Arduino IDE
2424

25-
[https://github.com/3110/atom-babies-arduino/archive/refs/tags/v0.0.3.zip](https://github.com/3110/atom-babies-arduino/archive/refs/tags/v0.0.3.zip) をダウンロードし,メニューの「スケッチ」-「ライブラリをインクルード」-「.ZIP 形式のライブラリをインストール...」を選択して ZIP ファイルを読み込みます。読み込み後,念のために Arduino IDE を再起動してください。
25+
[https://github.com/3110/atom-babies-arduino/archive/refs/tags/v0.0.4.zip](https://github.com/3110/atom-babies-arduino/archive/refs/tags/v0.0.4.zip) をダウンロードし,メニューの「スケッチ」-「ライブラリをインクルード」-「.ZIP 形式のライブラリをインストール...」を選択して ZIP ファイルを読み込みます。読み込み後,念のために Arduino IDE を再起動してください。
2626

2727
サンプルはメニューの「ファイル」-「スケッチ例」にある「カスタムライブラリのスケッチ例」から「ATOM Babies」を選択し,「AllFaces」「Blink」「Bow」「Greeting」のいずれかを選びます。
2828

@@ -67,7 +67,7 @@ AtomBabies babies;
6767

6868
void setup(void) {
6969
babies.begin();
70-
babies.setFace(FaceNormal);
70+
babies.display();
7171
}
7272

7373
void loop(void) {
@@ -77,10 +77,23 @@ void loop(void) {
7777
7878
## サンプルの説明
7979
80+
### すべての向きですべての顔を表示する(`AllFaces`)
81+
82+
ATOM Babies の顔の表示を一通り表示します。通常の向きから開始し,まばたきをした状態で始まります。ATOM Babies の顔(ボタン)を押すごとに右 → 逆さま → 左 → 通常と繰り返します。
83+
84+
### まばたきする(`Blink`)
85+
86+
ATOM Babies の顔(ボタン)を押すたびに,まばたきを始めたり止めたりします。
87+
まばたきの設定はデフォルト(`AtomBabies.cpp`の`DEFAULT_BLINK_PARAM`を参照,2 回以下のランダムな回数でのまばたき,目を開けている時間が 500 ミリ秒,目を閉じている時間が 100 ミリ秒,次のまばたきを始めるまでの間隔が 1000 ミリ秒)です。
88+
8089
### おじぎをする(`Bow`)
8190
8291
ATOM Babies の顔(ボタン)を押すとおじぎをします。押すごとにおじぎをする回数が増えます。
8392
93+
### 数字を表示する(`Digits`)
94+
95+
ATOM Babies の顔(ボタン)を押すたびに 0 から順に数字が表示されます。2 桁以上の数字は各桁を順に表示します。
96+
8497
### 人が来たらあいさつをする(`Greeting`)
8598
8699
<p align="center">
@@ -101,15 +114,6 @@ PIR Hat が胴体となるため,顔の向きは`OrientationUpsideDown`にし
101114
PIR は Passive pyroelectric infrared detector(受動焦電型赤外線検出器)の略で,人間が発する赤外線を検知し,目の前にいるかを判断します。
102115
PIR Hat の仕様で,いったん検知した後,次に検知するまでに 2 秒間の遅れがあります。
103116
104-
### まばたきする(`Blink`)
105-
106-
ATOM Babies の顔(ボタン)を押すたびに,まばたきを始めたり止めたりします。
107-
まばたきの設定はデフォルト(`AtomBabies.cpp`の`DEFAULT_BLINK_PARAM`を参照,2 回以下のランダムな回数でのまばたき,目を開けている時間が 500 ミリ秒,目を閉じている時間が 100 ミリ秒,次のまばたきを始めるまでの間隔が 1000 ミリ秒)です。
108-
109-
### すべての向きですべての顔を表示する(`AllFaces`)
110-
111-
ATOM Babies の顔の表示を一通り表示します。通常の向きから開始し,まばたきをした状態で始まります。ATOM Babies の顔(ボタン)を押すごとに右 → 逆さま → 左 → 通常と繰り返します。
112-
113117
## 参考
114118
115119
- [Arduino IDE 1](https://docs.arduino.cc/software/ide-v1)

examples/AllFaces/AllFaces.ino

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ AtomBabies babies;
77
const FacePosition FACES[] = {FaceUp, FaceTop, FaceUp, FaceNormal,
88
FaceDown, FaceBottom, FaceDown, FaceNormal,
99
FaceLeft, FaceNormal, FaceRight, FaceNormal};
10-
const size_t MAX_FACES = sizeof(FACES) / sizeof(FacePosition);
10+
const size_t MAX_FACES = sizeof(FACES) / sizeof(FACES[0]);
1111

1212
const FaceOrientation ORIENTATIONS[] = {
1313
OrientationNormal,
@@ -22,31 +22,31 @@ const CRGB FILL_COLOR(0x00, 0x64, 0x00);
2222
void showFaces(AtomBabies& babies, uint16_t ms) {
2323
for (size_t i = 0; i < MAX_FACES; ++i) {
2424
delay(ms);
25-
babies.setFace(FACES[i]);
25+
babies.setFace(FACES[i]).display();
2626
}
2727
delay(ms);
2828
}
2929

3030
void toggleOrientation(AtomBabies& babies) {
3131
static size_t pos = 0;
3232
pos = (pos + 1) % MAX_ORIENTATIONS;
33-
babies.setOrientation(ORIENTATIONS[pos]);
33+
babies.setOrientation(ORIENTATIONS[pos]).display();
3434
}
3535

3636
void setup(void) {
3737
babies.begin();
38-
babies.setFace(FaceNormal);
38+
babies.display();
3939
babies.startBlink();
4040
}
4141

4242
void loop(void) {
4343
babies.update();
4444
if (M5.Btn.wasPressed()) {
45-
babies.setFace(FaceNormal);
46-
showFaces(babies, 1000);
45+
babies.setFace(FaceNormal).display();
4746
babies.startBlink();
47+
showFaces(babies, 1000);
4848
toggleOrientation(babies);
4949
babies.stopBlink();
50-
babies.fillFace(FILL_COLOR);
50+
babies.fill(FILL_COLOR);
5151
}
5252
}

examples/Blink/Blink.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ AtomBabies babies;
66

77
void setup(void) {
88
babies.begin();
9-
babies.setOrientation(OrientationUpsideDown);
9+
babies.setOrientation(OrientationUpsideDown).display();
1010
}
1111

1212
void loop(void) {

examples/Bow/Bow.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ uint32_t bowCount = 0;
77

88
void setup(void) {
99
babies.begin();
10-
babies.setOrientation(OrientationUpsideDown);
10+
babies.setOrientation(OrientationUpsideDown).display();
1111
babies.startBlink();
1212
}
1313

examples/Digits/Digits.ino

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include "AtomBabies.h"
2+
3+
using namespace M5Stack_AtomBabies;
4+
5+
AtomBabies babies;
6+
uint16_t count = 0;
7+
const CRGB DIGIT_COLOR(CRGB::Green);
8+
9+
#define DISPLAY_SCROLL
10+
11+
#if defined(DISPLAY_SCROLL)
12+
#define DISPLAY scrollDigits
13+
const uint16_t DISPLAY_DIGITS_INTERVAL = 300;
14+
#else
15+
#define DISPLAY displayDigits
16+
const uint16_t DISPLAY_DIGITS_INTERVAL = 1000;
17+
#endif
18+
19+
void setup(void) {
20+
babies.begin();
21+
babies.setOrientation(OrientationUpsideDown).display();
22+
babies.startBlink();
23+
}
24+
25+
void loop(void) {
26+
babies.update();
27+
if (babies.wasPressed()) {
28+
babies.stopBlink();
29+
babies.DISPLAY(DIGIT_COLOR, count, DISPLAY_DIGITS_INTERVAL);
30+
++count;
31+
babies.display();
32+
babies.startBlink();
33+
}
34+
delay(100);
35+
}

examples/Greeting/Greeting.ino

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ void setup(void) {
1616
pinMode(PIR_INPUT_PIN, INPUT_PULLUP);
1717
babies.begin();
1818
babies.setOrientation(OrientationUpsideDown);
19-
babies.setFace(FaceNormal);
20-
babies.fillFace(FILL_COLOR);
19+
babies.fill(FILL_COLOR);
2120
}
2221

2322
void loop(void) {
@@ -28,13 +27,13 @@ void loop(void) {
2827
wasDetected = true;
2928
babies.bow();
3029
delay(1000);
31-
babies.fillFace(FILL_COLOR);
30+
babies.fill(FILL_COLOR);
3231
}
3332
} else {
3433
if (wasDetected) {
3534
SERIAL_PRINTLN("PIR: Got Away");
3635
wasDetected = false;
37-
babies.fillFace(FILL_COLOR);
36+
babies.fill(FILL_COLOR);
3837
}
3938
}
4039
}

platformio.ini

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
src_dir = examples/AllFaces
33
; src_dir = examples/Blink
44
; src_dir = examples/Bow
5+
; src_dir = examples/Digits
56
; src_dir = examples/Greeting
67

78
default_envs = examples
@@ -33,5 +34,5 @@ build_flags =
3334
[env:examples]
3435
build_flags =
3536
${env.build_flags}
36-
# upload_port = COM17
37-
# monitor_port = ${env:m5atom.upload_port}
37+
; upload_port = COM17
38+
; monitor_port = ${env:m5atom.upload_port}

0 commit comments

Comments
 (0)