質問編集履歴
3
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
御教授のほどお願い致します。
|
8
8
|
|
9
9
|
追記
|
10
|
-
マルチポストを推奨をしていない旨を知らずに下記のリンクに同じ質問をしてしまい
|
10
|
+
マルチポストを推奨をしていない旨を知らずに下記のリンクに同じ質問をしてしまいました。
|
11
11
|
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12228794132
|
12
12
|
まだ問題は解決はしていないのですが関連した質問などを参考にしてやってみます。
|
13
13
|
|
2
マルチポストを推奨をしていない旨についての追記をしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,6 +6,11 @@
|
|
6
6
|
データ型の問題の様な気がするのですが、あれこれ試しても上手くいきませんでした。
|
7
7
|
御教授のほどお願い致します。
|
8
8
|
|
9
|
+
追記
|
10
|
+
マルチポストを推奨をしていない旨を知らずに下記のリンクに同じ質問をしてしまいしまた。
|
11
|
+
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12228794132
|
12
|
+
まだ問題は解決はしていないのですが関連した質問などを参考にしてやってみます。
|
13
|
+
|
9
14
|
```Aruduino IDE
|
10
15
|
//IOのピン番号
|
11
16
|
const int DIN_PIN = 7;
|
1
マークダウン記法でソースコードを貼付けし直しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,66 +6,48 @@
|
|
6
6
|
データ型の問題の様な気がするのですが、あれこれ試しても上手くいきませんでした。
|
7
7
|
御教授のほどお願い致します。
|
8
8
|
|
9
|
+
```Aruduino IDE
|
9
10
|
//IOのピン番号
|
10
11
|
const int DIN_PIN = 7;
|
11
12
|
const int LED_PIN = 6;
|
12
|
-
|
13
|
+
|
13
14
|
//入力された文字を入れる変数
|
14
|
-
char dat[32];
|
15
|
+
char dat[32]; // 格納用文字列
|
15
|
-
int count = 0;
|
16
|
+
int count = 0; // 文字数のカウンタ
|
16
|
-
|
17
|
+
|
17
18
|
void setup(){
|
18
|
-
pinMode( LED_PIN, OUTPUT);
|
19
|
+
pinMode( LED_PIN, OUTPUT);
|
19
|
-
pinMode( DIN_PIN, INPUT_PULLUP );
|
20
|
+
pinMode( DIN_PIN, INPUT_PULLUP );
|
20
|
-
Serial.begin(9600);
|
21
|
+
Serial.begin(9600);
|
21
22
|
}
|
22
23
|
void loop(){
|
23
|
-
//文字列を読み込む
|
24
|
+
//文字列を読み込む
|
25
|
+
Serial.flush();
|
24
|
-
if (Serial.available()) {
|
26
|
+
if (Serial.available()) {
|
25
|
-
dat[count] = Serial.read();
|
27
|
+
dat[count] = Serial.read();
|
26
|
-
if (count > 30 || dat[count] == '=') {
|
28
|
+
if (count > 30 || dat[count] == '=') { // 文字数が既定の個数を超えた場合、又は終了文字を受信した場合
|
27
|
-
dat[count] = '\0';
|
29
|
+
dat[count] = '\0'; // 末尾に終端文字を入れる
|
28
|
-
count = 0;
|
30
|
+
count = 0; // 文字カウンタをリセット
|
29
|
-
Serial.println(dat);
|
31
|
+
Serial.println(dat);
|
30
|
-
} else {
|
32
|
+
} else {
|
31
|
-
count++;
|
33
|
+
count++; // 文字カウンタに 1 加算
|
34
|
+
}
|
35
|
+
}
|
36
|
+
//出力
|
37
|
+
//読み込んだ文字が「on01」のときシリアルモニタに「ON」をさせ、LEDを点灯させる
|
38
|
+
if(dat == 'on01'){
|
39
|
+
digitalWrite(LED_PIN, HIGH);
|
40
|
+
//LEDを点灯させた後okを返信
|
41
|
+
Serial.print("ok\n");
|
42
|
+
Serial.flush();
|
43
|
+
}
|
44
|
+
|
45
|
+
//読み込んだ文字が「off01」のときシリアルモニタに「OFF」をさせ、LEDを消灯する
|
46
|
+
if(dat == 'off01'){
|
47
|
+
digitalWrite(LED_PIN, LOW);
|
48
|
+
//LEDを消灯させた後okを返信
|
49
|
+
Serial.print("ok\n");
|
50
|
+
Serial.flush();
|
51
|
+
}
|
32
52
|
}
|
33
|
-
}
|
34
|
-
//出力
|
35
|
-
//読み込んだ文字が「on01」のときシリアルモニタに「ON」をさせ、LEDを点灯させる
|
36
|
-
if(dat == "on01"){
|
37
|
-
digitalWrite(LED_PIN, HIGH);
|
38
|
-
//LEDを点灯させた後okを返信
|
39
|
-
Serial.print("ok\n");
|
40
|
-
Serial.flush();
|
41
|
-
}
|
42
|
-
|
43
|
-
//読み込んだ文字が「off01」のときシリアルモニタに「OFF」をさせ、LEDを消灯する
|
44
|
-
if(dat == 'off01'){
|
45
|
-
digitalWrite(LED_PIN, LOW);
|
46
|
-
//LEDを消灯させた後okを返信
|
47
|
-
Serial.print("ok\n");
|
48
|
-
Serial.flush();
|
49
|
-
}
|
50
|
-
|
51
|
-
//入力確認
|
52
|
-
//読み込んだ文字が「in01」のとき
|
53
|
-
if(dat == 'in01'){
|
54
|
-
//DIN_PINの状態をon/offで返信
|
55
|
-
int value;
|
56
|
-
value = digitalRead( DIN_PIN );
|
57
|
-
if ( value == HIGH ){ //HIGHがOFF,LOWがON
|
58
|
-
Serial.print("off\n");
|
59
|
-
Serial.flush();
|
60
|
-
|
53
|
+
```
|
61
|
-
Serial.print("on\n");
|
62
|
-
Serial.flush();
|
63
|
-
}
|
64
|
-
if(DIN_PIN == 1){
|
65
|
-
Serial.print("on\n");
|
66
|
-
}
|
67
|
-
if(DIN_PIN == 0){
|
68
|
-
Serial.print("off\n");
|
69
|
-
}
|
70
|
-
}
|
71
|
-
}
|