質問編集履歴
9
回路図に電源を入れ忘れたため再編集致しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
回路図
|
152
152
|
|
153
|
-
![イメージ説明](367
|
153
|
+
![イメージ説明](336e09d272c24aa419422f45a3d3d0dc.png)
|
154
154
|
|
155
155
|
|
156
156
|
|
8
補足情報にハード関連と回路図を更新致しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -148,6 +148,12 @@
|
|
148
148
|
|
149
149
|
|
150
150
|
|
151
|
+
回路図
|
152
|
+
|
153
|
+
![イメージ説明](3678a213c3136425600fb598e83f572c.png)
|
154
|
+
|
155
|
+
|
156
|
+
|
151
157
|
又、大変厚かましいと存じておりますが、最初に取り上げました参考サイト様のbytes_tointからが1行ずつ調べても何をやっているのかさっぱりわかりませんでした。
|
152
158
|
|
153
159
|
特にbit演算の部分が何を求めているのか気になって夜も少ししか寝れません。。↓
|
7
test
CHANGED
File without changes
|
test
CHANGED
@@ -140,6 +140,12 @@
|
|
140
140
|
|
141
141
|
|
142
142
|
|
143
|
+
ハード
|
144
|
+
|
145
|
+
ESP8266 or ESP32
|
146
|
+
|
147
|
+
センサ MPU6050
|
148
|
+
|
143
149
|
|
144
150
|
|
145
151
|
又、大変厚かましいと存じておりますが、最初に取り上げました参考サイト様のbytes_tointからが1行ずつ調べても何をやっているのかさっぱりわかりませんでした。
|
6
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,9 +24,9 @@
|
|
24
24
|
|
25
25
|
### 該当のソースコード&試したこと###
|
26
26
|
|
27
|
-
```python
|
28
27
|
|
29
28
|
|
29
|
+
```python
|
30
30
|
|
31
31
|
from machine import Pin,I2C
|
32
32
|
|
5
test
CHANGED
File without changes
|
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
|
55
|
+
def read_data(self): #accelxでwriteto()を使いここでバイトを読む&値を取り出そうとしていたが上手くいかず。
|
56
56
|
|
57
57
|
while True:
|
58
58
|
|
@@ -72,7 +72,7 @@
|
|
72
72
|
|
73
73
|
_val,_checksum = struct.unpack('>hB',data) #読んだ6バイトから値とチェックサムを取り出す
|
74
74
|
|
75
|
-
return _val
|
75
|
+
return _val
|
76
76
|
|
77
77
|
|
78
78
|
|
4
test
CHANGED
File without changes
|
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
~~
|
55
|
+
~~def read_data(self): #accelxでwriteto()を使いここでバイトを読む&値を取り出そうとしていたが上手くいかず。
|
56
56
|
|
57
57
|
while True:
|
58
58
|
|
3
test
CHANGED
File without changes
|
test
CHANGED
@@ -48,13 +48,11 @@
|
|
48
48
|
|
49
49
|
print("init")
|
50
50
|
|
51
|
-
print(self.i2c.readfrom_mem(self.addr,0x6B,1))
|
51
|
+
print(self.i2c.readfrom_mem(self.addr,0x6B,1)) time.sleep_ms(50) #センサがリセットされるのを待つ
|
52
|
-
|
53
|
-
time.sleep_ms(50) #センサがリセットされるのを待つ
|
54
52
|
|
55
53
|
|
56
54
|
|
57
|
-
def read_data(self): #accelxでwriteto()を使いここでバイトを読む&値を取り出そうとしていたが上手くいかず。
|
55
|
+
~~ def read_data(self): #accelxでwriteto()を使いここでバイトを読む&値を取り出そうとしていたが上手くいかず。
|
58
56
|
|
59
57
|
while True:
|
60
58
|
|
@@ -74,7 +72,7 @@
|
|
74
72
|
|
75
73
|
_val,_checksum = struct.unpack('>hB',data) #読んだ6バイトから値とチェックサムを取り出す
|
76
74
|
|
77
|
-
return _val
|
75
|
+
return _val~~
|
78
76
|
|
79
77
|
|
80
78
|
|
2
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,8 +24,6 @@
|
|
24
24
|
|
25
25
|
### 該当のソースコード&試したこと###
|
26
26
|
|
27
|
-
(コメントが見出しになってしまうので//になっていますが実際は#です。)
|
28
|
-
|
29
27
|
```python
|
30
28
|
|
31
29
|
|
@@ -46,23 +44,23 @@
|
|
46
44
|
|
47
45
|
self.addr = addr
|
48
46
|
|
49
|
-
self.i2c.writeto(self.addr,0x6B)
|
47
|
+
self.i2c.writeto(self.addr,0x6B) #センサをリセット
|
50
48
|
|
51
49
|
print("init")
|
52
50
|
|
53
51
|
print(self.i2c.readfrom_mem(self.addr,0x6B,1))
|
54
52
|
|
55
|
-
time.sleep_ms(50)
|
53
|
+
time.sleep_ms(50) #センサがリセットされるのを待つ
|
56
54
|
|
57
55
|
|
58
56
|
|
59
|
-
def read_data(self):
|
57
|
+
def read_data(self): #accelxでwriteto()を使いここでバイトを読む&値を取り出そうとしていたが上手くいかず。
|
60
58
|
|
61
59
|
while True:
|
62
60
|
|
63
61
|
try:
|
64
62
|
|
65
|
-
data = self.i2c.readfrom_mem(self.addr,0x3B,6)
|
63
|
+
data = self.i2c.readfrom_mem(self.addr,0x3B,6) #センサから返される6バイトを読む
|
66
64
|
|
67
65
|
except OSError:
|
68
66
|
|
@@ -74,7 +72,7 @@
|
|
74
72
|
|
75
73
|
break
|
76
74
|
|
77
|
-
_val,_checksum = struct.unpack('>hB',data)
|
75
|
+
_val,_checksum = struct.unpack('>hB',data) #読んだ6バイトから値とチェックサムを取り出す
|
78
76
|
|
79
77
|
return _val
|
80
78
|
|
@@ -82,27 +80,27 @@
|
|
82
80
|
|
83
81
|
def accelx(self):
|
84
82
|
|
85
|
-
return self.i2c.readfrom_mem(self.addr,0x3B,2)
|
83
|
+
return self.i2c.readfrom_mem(self.addr,0x3B,2) #加速度センサX HとLの2バイトを読む。アクセスしたい所が連番なので下の関数
|
86
84
|
|
87
|
-
|
85
|
+
#(accelyとaccelz)を消して6バイト読んでもいいのかも知れない。
|
88
86
|
|
89
|
-
|
87
|
+
#(1つ下のreturnが悪いかもと思いreturnをこの分に仮設定。
|
90
88
|
|
91
|
-
|
89
|
+
#この一文もwriteto(self.addr,0x38)でした。)
|
92
90
|
|
93
|
-
//return self.read_data()
|
91
|
+
//return self.read_data() #read_data関数で値とチェックサムを取り出す。
|
94
92
|
|
95
93
|
def accely(self):
|
96
94
|
|
97
|
-
return self.i2c.readfrom_mem(self.addr,0x3D,2)
|
95
|
+
return self.i2c.readfrom_mem(self.addr,0x3D,2) #加速度Y
|
98
96
|
|
99
97
|
//return self.read_data()
|
100
98
|
|
101
99
|
def accelz(self):
|
102
100
|
|
103
|
-
return self.i2c.readfrom_mem(self.addr,0x3F,2)
|
101
|
+
return self.i2c.readfrom_mem(self.addr,0x3F,2) #加速度Z
|
104
102
|
|
105
|
-
|
103
|
+
#return self.read_data()
|
106
104
|
|
107
105
|
|
108
106
|
|
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
ついでにマイクロパイソンがお勧めとの事で1から書いて見たのですが、帰ってくるデータは0.0.0となってしまい困っております。
|
12
12
|
|
13
|
-
以下のコードを参考にしたり、(https://github.com/adamjezek98/MPU6050-ESP8266-MicroPython/blob/master/mpu6050.py)
|
13
|
+
以下のコードを参考にしたり、([参考コード Github]](https://github.com/adamjezek98/MPU6050-ESP8266-MicroPython/blob/master/mpu6050.py))
|
14
14
|
|
15
15
|
エラーは出ていない為デバッグとして各値をprint()で調べてもデータが取れない状況です。
|
16
16
|
|
@@ -25,6 +25,8 @@
|
|
25
25
|
### 該当のソースコード&試したこと###
|
26
26
|
|
27
27
|
(コメントが見出しになってしまうので//になっていますが実際は#です。)
|
28
|
+
|
29
|
+
```python
|
28
30
|
|
29
31
|
|
30
32
|
|
@@ -126,7 +128,7 @@
|
|
126
128
|
|
127
129
|
main()
|
128
130
|
|
129
|
-
|
131
|
+
```
|
130
132
|
|
131
133
|
|
132
134
|
|
@@ -149,6 +151,8 @@
|
|
149
151
|
特にbit演算の部分が何を求めているのか気になって夜も少ししか寝れません。。↓
|
150
152
|
|
151
153
|
|
154
|
+
|
155
|
+
```python
|
152
156
|
|
153
157
|
|
154
158
|
|
@@ -184,4 +188,4 @@
|
|
184
188
|
|
185
189
|
return vals # returned in range of Int16
|
186
190
|
|
187
|
-
|
191
|
+
```
|