teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

誤字修正

2020/07/24 00:05

投稿

koh_cafe
koh_cafe

スコア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

マルチポストを推奨をしていない旨についての追記をしました。

2020/07/24 00:05

投稿

koh_cafe
koh_cafe

スコア3

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

マークダウン記法でソースコードを貼付けし直しました

2020/07/24 00:04

投稿

koh_cafe
koh_cafe

スコア3

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++; // 文字カウンタに 1 加算
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
- }else{
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
- }