回答編集履歴
1
間違いの編集
answer
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
こんにちは。
|
2
2
|
|
3
|
+
編集↓↓↓↓↓
|
4
|
+
#####以下のソースは角度取得が誤り
|
5
|
+
|
3
6
|
lis.xやlis.y、lis.zにセンサーを傾けた値が入ってると見受けられます。
|
4
7
|
|
5
8
|
従って、Serial.printの後にでも、
|
@@ -10,6 +13,9 @@
|
|
10
13
|
digitalWrite(2,LOW);
|
11
14
|
}
|
12
15
|
```
|
16
|
+
---
|
17
|
+
↑↑↑は誤りでした。角度の取得は上の方の回答の通りです
|
18
|
+
|
13
19
|
等とすればよいと思います。
|
14
20
|
尚、digitalWrite関数の第一引数は、LEDを接続しているピンの番号で、
|
15
21
|
第二引数は、そのピンの電圧です。
|
@@ -18,7 +24,12 @@
|
|
18
24
|
|
19
25
|
点滅させたいのであれば、タイマー割込みを使うか、millisなどを使うことになるでしょう
|
20
26
|
|
27
|
+
|
21
28
|
例えばですが上述の代わりに、
|
29
|
+
|
30
|
+
---
|
31
|
+
####こちらも角度の取得が誤っています。
|
32
|
+
点滅のほうは動くと思いますが
|
22
33
|
```C
|
23
34
|
if(lis.x >= 50){
|
24
35
|
if(millis()%1000 < 500)
|
@@ -31,6 +42,8 @@
|
|
31
42
|
}
|
32
43
|
|
33
44
|
```
|
45
|
+
---
|
46
|
+
↑↑↑↑↑
|
34
47
|
こんなところでしょうか。
|
35
48
|
millis()%1000の、1000は1000ms(ミリ秒)なので、1周期1秒の点滅をします。値を小さくすれば早い点滅になります。
|
36
49
|
< 500のところは、LEDがONの時間です。500msなので、ちょうど1秒の半分ですね。小さくすればLEDの点の時間が短くなり滅の時間が長くなります。
|