質問編集履歴

1

全体のソースコード

2021/06/24 14:33

投稿

Haru_0108
Haru_0108

スコア2

test CHANGED
File without changes
test CHANGED
@@ -20,6 +20,100 @@
20
20
 
21
21
  ```
22
22
 
23
+ //セットアップ//
24
+
25
+ #include<M5StickC.h> //m5StickCを使うための基本セットアップ
26
+
27
+ #include<Wire.h>        //I2Cを使うための基本プラグラム
28
+
29
+
30
+
31
+ uint16_t result;
32
+
33
+ float temperature;
34
+
35
+ const int tMax = 37 ;
36
+
37
+
38
+
39
+ //1度きりの処理//
40
+
41
+ void setup() {
42
+
43
+ M5.begin(); //M5StickCを起動
44
+
45
+ Wire.begin(0,26); //I2Cの通信を0,26で開始
46
+
47
+ Serial.begin(115200); //シリアル通信を速度15200bpsで開始
48
+
49
+
50
+
51
+ M5.Lcd.setRotation(3); //文字の表示方向を回転(90*3=27度回転)
52
+
53
+ M5.Lcd.setTextColor(WHITE); //M5StickCの画面に表示する文字の色を「白」に設定
54
+
55
+ M5.Lcd.setTextSize(3); //文字の大きさを「3」に設定
56
+
57
+ M5.Lcd.setCursor(0,60); //表示場所を「0,60」に設定
58
+
59
+
60
+
61
+ pinMode(GPIO_NUM_10,OUTPUT); //10ピン出力指令
62
+
63
+ digitalWrite(GPIO_NUM_10,HIGH); //10ピンにHIGHでLED消灯
64
+
65
+
66
+
67
+ }
68
+
69
+
70
+
71
+ //繰り返しの処理//
72
+
73
+ void loop() {
74
+
75
+
76
+
77
+ Wire.beginTransmission(0x5A); //I2C通信の初期信号と温度センサのI2Cのアドレスを送信
78
+
79
+ Wire.write(0x07); //温度データを取得するための指令を送信
80
+
81
+ Wire.endTransmission(false); //送信完了
82
+
83
+ Wire.requestFrom(0x5A,2); //アドレスが0x5Aのセンサから,2バイトのデータを送信
84
+
85
+ result=Wire.read(); //温度データは8ビットをさらに受信してから,追加,16ビット分のデータを格納
86
+
87
+ result |=Wire.read() << 8; //上記の変数に,上位8bit分をさらに追加して16ビット分のデータを格納
88
+
89
+
90
+
91
+ //温度[℃]への変換と画面表示//
92
+
93
+ temperature = result * 0.02 - 273.15; //温度への変換式より計算
94
+
95
+
96
+
97
+ M5.Lcd.fillRect(0,20,120,100,BLACK); //背景塗りつぶし
98
+
99
+ M5.Lcd.setCursor(0,20); //座標指定
100
+
101
+ M5.Lcd.println(temperature); //温度画面に表示
102
+
103
+
104
+
105
+ Serial.println(temperature); //パソコンよりデータを確認できるように設定
106
+
107
+
108
+
109
+ delay(500); //約0.5s間隔で温度を表示するための待機時間を設定
110
+
111
+ M5.update();
112
+
113
+ delay(10);
114
+
115
+
116
+
23
117
  //変数の設定//
24
118
 
25
119
  int flag = 0;
@@ -50,7 +144,7 @@
50
144
 
51
145
  flag == 1;
52
146
 
53
- st = millis();
147
+ float st = millis();
54
148
 
55
149
 
56
150
 
@@ -66,7 +160,7 @@
66
160
 
67
161
 
68
162
 
69
- t = millis();
163
+ float t = millis();
70
164
 
71
165
 
72
166
 
@@ -120,6 +214,12 @@
120
214
 
121
215
  }
122
216
 
217
+
218
+
219
+
220
+
221
+
222
+
123
223
  ```
124
224
 
125
225