回答編集履歴
6
コメント修正
answer
CHANGED
@@ -65,13 +65,13 @@
|
|
65
65
|
Serial.println("Out of Range");
|
66
66
|
}
|
67
67
|
else if (Number < 0) {
|
68
|
-
// -
|
68
|
+
// -10 < Number < 0
|
69
69
|
num[0] = CHAR_MINUS;
|
70
70
|
num[1] = (int)-Number % 10;
|
71
71
|
Serial.println(Number);
|
72
72
|
}
|
73
73
|
else {
|
74
|
-
// 0
|
74
|
+
// 0 <= Number < 100
|
75
75
|
num[0] = Number / 10;
|
76
76
|
num[1] = (int)Number % 10;
|
77
77
|
Serial.println(Number);
|
5
コード修正
answer
CHANGED
@@ -45,47 +45,46 @@
|
|
45
45
|
#define CHAR_E (12)
|
46
46
|
|
47
47
|
//LED表示関数を定義
|
48
|
-
void
|
48
|
+
void Print7Seg(int Number) {
|
49
49
|
for (int w = 0; w < 7; w++) {
|
50
50
|
digitalWrite(w + 2, Num_Array[Number][w]);
|
51
51
|
}
|
52
52
|
}
|
53
|
-
|
54
|
-
void
|
53
|
+
void NumPrintF(float Number) {
|
55
|
-
delay(2000);
|
56
|
-
|
57
|
-
float temperature = dht.readTemperature();
|
58
54
|
int num[2] = {0};
|
59
|
-
if (isnan(
|
55
|
+
if (isnan(Number)) {
|
60
56
|
// Error
|
61
57
|
num[0] = CHAR_E;
|
62
58
|
num[1] = CHAR_r;
|
63
59
|
Serial.println("Error");
|
64
60
|
}
|
65
|
-
else if (
|
61
|
+
else if (Number <= -10 || 100 <= Number) {
|
66
62
|
// Out of Range
|
67
63
|
num[0] = CHAR_O;
|
68
64
|
num[1] = CHAR_r;
|
69
65
|
Serial.println("Out of Range");
|
70
66
|
}
|
71
|
-
else if (
|
67
|
+
else if (Number < 0) {
|
72
|
-
// -9~-0
|
68
|
+
// -9~-0
|
73
69
|
num[0] = CHAR_MINUS;
|
74
|
-
num[1] = (int)-
|
70
|
+
num[1] = (int)-Number % 10;
|
75
|
-
Serial.println(
|
71
|
+
Serial.println(Number);
|
76
72
|
}
|
77
73
|
else {
|
78
|
-
// 0~
|
74
|
+
// 0~99
|
79
|
-
num[0] =
|
75
|
+
num[0] = Number / 10;
|
80
|
-
num[1] =
|
76
|
+
num[1] = (int)Number % 10;
|
81
|
-
Serial.println(
|
77
|
+
Serial.println(Number);
|
82
78
|
}
|
83
79
|
|
84
|
-
for (int i = 0; i < 2; i++)
|
80
|
+
for (int i = 0; i < 2; i++) {
|
85
|
-
{
|
86
81
|
digitalWrite(11, i ? LOW : HIGH);
|
87
82
|
digitalWrite(13, i ? HIGH : LOW);
|
88
|
-
|
83
|
+
Print7Seg(num[i]);
|
89
84
|
}
|
90
85
|
}
|
86
|
+
void loop() {
|
87
|
+
delay(2000);
|
88
|
+
NumPrintF(dht.readTemperature());
|
89
|
+
}
|
91
90
|
```
|
4
コード修正
answer
CHANGED
@@ -83,8 +83,8 @@
|
|
83
83
|
|
84
84
|
for (int i = 0; i < 2; i++)
|
85
85
|
{
|
86
|
+
digitalWrite(11, i ? LOW : HIGH);
|
86
|
-
digitalWrite(
|
87
|
+
digitalWrite(13, i ? HIGH : LOW);
|
87
|
-
digitalWrite(13, i ? LOW : HIGH);
|
88
88
|
NumPrint(num[i]);
|
89
89
|
}
|
90
90
|
}
|
3
コード修正(シリアル出力追加)
answer
CHANGED
@@ -11,9 +11,10 @@
|
|
11
11
|
以下、動作未確認。
|
12
12
|
```C
|
13
13
|
#include <DHT.h>
|
14
|
-
DHT dht(9, DHT11);
|
14
|
+
DHT dht(9, DHT11);
|
15
15
|
|
16
16
|
void setup() {
|
17
|
+
Serial.begin(9600);
|
17
18
|
dht.begin();
|
18
19
|
//2~8番ピン デジタル出力へセット
|
19
20
|
for (int i = 2; i <= 8; i++) {
|
@@ -54,26 +55,30 @@
|
|
54
55
|
delay(2000);
|
55
56
|
|
56
57
|
float temperature = dht.readTemperature();
|
57
|
-
int num[2] = {
|
58
|
+
int num[2] = {0};
|
58
59
|
if (isnan(temperature)) {
|
59
60
|
// Error
|
60
61
|
num[0] = CHAR_E;
|
61
62
|
num[1] = CHAR_r;
|
63
|
+
Serial.println("Error");
|
62
64
|
}
|
63
65
|
else if (temperature <= -10) {
|
64
66
|
// Out of Range
|
65
67
|
num[0] = CHAR_O;
|
66
68
|
num[1] = CHAR_r;
|
69
|
+
Serial.println("Out of Range");
|
67
70
|
}
|
68
71
|
else if (temperature < 0) {
|
69
|
-
// -9
|
72
|
+
// -9~-0℃
|
70
73
|
num[0] = CHAR_MINUS;
|
71
74
|
num[1] = (int)-temperature % 10;
|
75
|
+
Serial.println(temperature);
|
72
76
|
}
|
73
77
|
else {
|
74
|
-
// 0
|
78
|
+
// 0~60℃
|
75
79
|
num[0] = temperature / 10;
|
76
80
|
num[1] = temperature % 10;
|
81
|
+
Serial.println(temperature);
|
77
82
|
}
|
78
83
|
|
79
84
|
for (int i = 0; i < 2; i++)
|
2
不使用コード除去
answer
CHANGED
@@ -14,7 +14,6 @@
|
|
14
14
|
DHT dht(9, DHT11);
|
15
15
|
|
16
16
|
void setup() {
|
17
|
-
Serial.begin(9600);
|
18
17
|
dht.begin();
|
19
18
|
//2~8番ピン デジタル出力へセット
|
20
19
|
for (int i = 2; i <= 8; i++) {
|
1
未使用コード除去
answer
CHANGED
@@ -13,7 +13,6 @@
|
|
13
13
|
#include <DHT.h>
|
14
14
|
DHT dht(9, DHT11);
|
15
15
|
|
16
|
-
boolean _flg = false;
|
17
16
|
void setup() {
|
18
17
|
Serial.begin(9600);
|
19
18
|
dht.begin();
|