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

質問編集履歴

2

状況の補足

2018/07/31 04:06

投稿

42kyabetu
42kyabetu

スコア6

title CHANGED
File without changes
body CHANGED
@@ -81,7 +81,58 @@
81
81
  加速度センサーの表示させる値を三軸ではなくX軸のみで行い、データ量を少なくしましたが効果はありませんでした。
82
82
 
83
83
  ### 補足情報(FW/ツールのバージョンなど)
84
+ ```ここに言語を入力
85
+ int S1_PIN = 4;
86
+ int S2_PIN = 13;
87
+ int S3_PIN = 14;
84
88
 
89
+ void setup() {
90
+ Serial.begin(115200);
91
+
92
+ pinMode(S1_PIN, OUTPUT);
93
+ pinMode(S2_PIN, OUTPUT);
94
+ pinMode(S3_PIN, OUTPUT);
95
+
96
+ }
97
+
98
+ void loop() {
99
+
100
+ // 地球の重力である1Gの加速度(m/s^2)
101
+ float ms2 = 9.80665;
102
+
103
+ // 電源電圧5V時のオフセット電圧(0G = 2.5V = 2500mV)
104
+ float offset_voltage = 2500.0;
105
+
106
+ // XYZの電圧(mV)を取得する
107
+ float x = (analogRead(S1_PIN) / 1024.0) * 5.0 * 1000;
108
+ float y = (analogRead(S2_PIN) / 1024.0) * 5.0 * 1000;
109
+ float z = (analogRead(S3_PIN) / 1024.0) * 5.0 * 1000;
110
+
111
+ // XYZからオフセット電圧を引いた電圧を求める
112
+ x = x - offset_voltage;
113
+ y = y - offset_voltage;
114
+ z = z - offset_voltage;
115
+
116
+ // XYZから重力を求める
117
+ float xg = x / 1000.0;
118
+ float yg = y / 1000.0;
119
+ float zg = z / 1000.0;
120
+
121
+ // XYZの重力から加速度(m/s^2)を算出して出力する
122
+ Serial.print("X : ");
123
+ Serial.print(xg * ms2);
124
+ Serial.print(" Y : ");
125
+ Serial.print(yg * ms2);
126
+ Serial.print(" Z : ");
127
+ Serial.print(zg * ms2);
128
+ Serial.println(" m/s^2");
129
+
130
+ delay(100);
131
+ }
132
+
133
+ ```
134
+ 上記のBLE回線を使用しないコードであれば値の変化を正しく読み取れるので配線に問題はないと思われます。
135
+
85
136
  arduino ide
86
137
  ESP32-DevKitC ESP-WROOM-32開発ボード
87
138
  三軸加速度センサー

1

表示されている値は基準点となる値なので175.0という基準の値から変化が読み取れないという状況です。

2018/07/31 04:06

投稿

42kyabetu
42kyabetu

スコア6

title CHANGED
File without changes
body CHANGED
@@ -11,6 +11,11 @@
11
11
 
12
12
  ```
13
13
  エラーメッセージなどは表示されていません。
14
+
15
+ 実際にシリアルモニタ表示される文字列
16
+
17
+ x:175.0xg y:175.0yg z:175.0zg
18
+ 上記の値が変化することなく表示され続けます。
14
19
  ```
15
20
 
16
21
  ### 該当のソースコード