teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

間違いの編集

2017/02/05 16:00

投稿

ElecDove
ElecDove

スコア254

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の点の時間が短くなり滅の時間が長くなります。