回答編集履歴

6

コメント修正

2020/07/16 17:32

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -132,7 +132,7 @@
132
132
 
133
133
  else if (Number < 0) {
134
134
 
135
- // -9~-0
135
+ // -10 < Number < 0
136
136
 
137
137
  num[0] = CHAR_MINUS;
138
138
 
@@ -144,7 +144,7 @@
144
144
 
145
145
  else {
146
146
 
147
- // 0~99
147
+ // 0 <= Number < 100
148
148
 
149
149
  num[0] = Number / 10;
150
150
 

5

コード修正

2020/07/16 17:32

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
  //LED表示関数を定義
94
94
 
95
- void NumPrint(int Number) {
95
+ void Print7Seg(int Number) {
96
96
 
97
97
  for (int w = 0; w < 7; w++) {
98
98
 
@@ -102,19 +102,11 @@
102
102
 
103
103
  }
104
104
 
105
-
106
-
107
- void loop() {
105
+ void NumPrintF(float Number) {
108
-
109
- delay(2000);
110
-
111
-
112
-
113
- float temperature = dht.readTemperature();
114
106
 
115
107
  int num[2] = {0};
116
108
 
117
- if (isnan(temperature)) {
109
+ if (isnan(Number)) {
118
110
 
119
111
  // Error
120
112
 
@@ -126,7 +118,7 @@
126
118
 
127
119
  }
128
120
 
129
- else if (temperature <= -10) {
121
+ else if (Number <= -10 || 100 <= Number) {
130
122
 
131
123
  // Out of Range
132
124
 
@@ -138,44 +130,50 @@
138
130
 
139
131
  }
140
132
 
141
- else if (temperature < 0) {
133
+ else if (Number < 0) {
142
134
 
143
- // -9~-0
135
+ // -9~-0
144
136
 
145
137
  num[0] = CHAR_MINUS;
146
138
 
147
- num[1] = (int)-temperature % 10;
139
+ num[1] = (int)-Number % 10;
148
140
 
149
- Serial.println(temperature);
141
+ Serial.println(Number);
150
142
 
151
143
  }
152
144
 
153
145
  else {
154
146
 
155
- // 0~60℃
147
+ // 0~99
156
148
 
157
- num[0] = temperature / 10;
149
+ num[0] = Number / 10;
158
150
 
159
- num[1] = temperature % 10;
151
+ num[1] = (int)Number % 10;
160
152
 
161
- Serial.println(temperature);
153
+ Serial.println(Number);
162
154
 
163
155
  }
164
156
 
165
157
 
166
158
 
167
- for (int i = 0; i < 2; i++)
159
+ for (int i = 0; i < 2; i++) {
168
-
169
- {
170
160
 
171
161
  digitalWrite(11, i ? LOW : HIGH);
172
162
 
173
163
  digitalWrite(13, i ? HIGH : LOW);
174
164
 
175
- NumPrint(num[i]);
165
+ Print7Seg(num[i]);
176
166
 
177
167
  }
178
168
 
179
169
  }
180
170
 
171
+ void loop() {
172
+
173
+ delay(2000);
174
+
175
+ NumPrintF(dht.readTemperature());
176
+
177
+ }
178
+
181
179
  ```

4

コード修正

2020/07/16 17:23

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -168,9 +168,9 @@
168
168
 
169
169
  {
170
170
 
171
- digitalWrite(11, i ? HIGH : LOW);
171
+ digitalWrite(11, i ? LOW : HIGH);
172
172
 
173
- digitalWrite(13, i ? LOW : HIGH);
173
+ digitalWrite(13, i ? HIGH : LOW);
174
174
 
175
175
  NumPrint(num[i]);
176
176
 

3

コード修正(シリアル出力追加)

2020/07/16 17:15

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -24,11 +24,13 @@
24
24
 
25
25
  #include <DHT.h>
26
26
 
27
- DHT dht(9, DHT11);
27
+ DHT dht(9, DHT11);
28
28
 
29
29
 
30
30
 
31
31
  void setup() {
32
+
33
+ Serial.begin(9600);
32
34
 
33
35
  dht.begin();
34
36
 
@@ -110,7 +112,7 @@
110
112
 
111
113
  float temperature = dht.readTemperature();
112
114
 
113
- int num[2] = { 0 };
115
+ int num[2] = {0};
114
116
 
115
117
  if (isnan(temperature)) {
116
118
 
@@ -119,6 +121,8 @@
119
121
  num[0] = CHAR_E;
120
122
 
121
123
  num[1] = CHAR_r;
124
+
125
+ Serial.println("Error");
122
126
 
123
127
  }
124
128
 
@@ -130,25 +134,31 @@
130
134
 
131
135
  num[1] = CHAR_r;
132
136
 
137
+ Serial.println("Out of Range");
138
+
133
139
  }
134
140
 
135
141
  else if (temperature < 0) {
136
142
 
137
- // -9~-0℃
143
+ // -9~-0℃
138
144
 
139
145
  num[0] = CHAR_MINUS;
140
146
 
141
147
  num[1] = (int)-temperature % 10;
142
148
 
149
+ Serial.println(temperature);
150
+
143
151
  }
144
152
 
145
153
  else {
146
154
 
147
- // 0℃
155
+ // 0~60
148
156
 
149
157
  num[0] = temperature / 10;
150
158
 
151
159
  num[1] = temperature % 10;
160
+
161
+ Serial.println(temperature);
152
162
 
153
163
  }
154
164
 

2

不使用コード除去

2020/07/16 17:12

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -29,8 +29,6 @@
29
29
 
30
30
 
31
31
  void setup() {
32
-
33
- Serial.begin(9600);
34
32
 
35
33
  dht.begin();
36
34
 

1

未使用コード除去

2020/07/16 17:08

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -27,8 +27,6 @@
27
27
  DHT dht(9, DHT11);
28
28
 
29
29
 
30
-
31
- boolean _flg = false;
32
30
 
33
31
  void setup() {
34
32