質問編集履歴

15

2018/11/18 01:14

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -128,10 +128,6 @@
128
128
 
129
129
 
130
130
 
131
- 割込み処理とチャタリング処理とはどういった処理なのでしょうか?
132
-
133
-
134
-
135
131
  ### ソースコード2
136
132
 
137
133
  ```Arduino

14

誤字

2018/11/18 01:14

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -140,10 +140,6 @@
140
140
 
141
141
  int EnPinB = 4;
142
142
 
143
- int A = 1;
144
-
145
- int B = 1;
146
-
147
143
  int pos = 0;
148
144
 
149
145
  void Position(int, int);
@@ -172,6 +168,10 @@
172
168
 
173
169
  {
174
170
 
171
+ int A = 0;
172
+
173
+ int B = 0;
174
+
175
175
  A = digitalRead(EnPinA);
176
176
 
177
177
  B = digitalRead(EnPinB);

13

誤字

2018/11/05 14:35

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -122,7 +122,7 @@
122
122
 
123
123
  ソースコードを改良致しました。
124
124
 
125
- 01の値が操作なしに変化することはなくなりました。
125
+ 0,1の値が操作なしに変化することはなくなりました。
126
126
 
127
127
  ありがとうございました。
128
128
 

12

追加修正

2018/11/05 14:31

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
  ロータリーエンコーダを動かした時だけ、A,Bの値が変化するようにするにはどうしたらよいでしょうか?
8
8
 
9
+
10
+
9
- ### ソースコード
11
+ ### ソースコード1
10
-
11
-
12
12
 
13
13
  ```Arduino
14
14
 
@@ -108,10 +108,188 @@
108
108
 
109
109
 
110
110
 
111
- ### 追記
111
+ ### 追記1
112
112
 
113
113
  申し訳ありません。実機が手元になくて動作確認できていません。
114
114
 
115
115
 
116
116
 
117
117
  シリアル通信の速度は9600で大丈夫なのでしょうか?
118
+
119
+
120
+
121
+ ### 追記2
122
+
123
+ ソースコードを改良致しました。
124
+
125
+ 01の値が操作なしに変化することはなくなりました。
126
+
127
+ ありがとうございました。
128
+
129
+
130
+
131
+ 割込み処理とチャタリング処理とはどういった処理なのでしょうか?
132
+
133
+
134
+
135
+ ### ソースコード2
136
+
137
+ ```Arduino
138
+
139
+ int EnPinA = 3;
140
+
141
+ int EnPinB = 4;
142
+
143
+ int A = 1;
144
+
145
+ int B = 1;
146
+
147
+ int pos = 0;
148
+
149
+ void Position(int, int);
150
+
151
+
152
+
153
+ void setup()
154
+
155
+ {
156
+
157
+ pinMode(EnPinA, INPUT_PULLUP);
158
+
159
+ pinMode(EnPinB, INPUT_PULLUP);
160
+
161
+ Serial.begin(57600);
162
+
163
+ Serial.print("pos : ");
164
+
165
+ Serial.println(pos);
166
+
167
+ }
168
+
169
+
170
+
171
+ void loop()
172
+
173
+ {
174
+
175
+ A = digitalRead(EnPinA);
176
+
177
+ B = digitalRead(EnPinB);
178
+
179
+ Position(A, B);
180
+
181
+ }
182
+
183
+
184
+
185
+ void Position(int A, int B)
186
+
187
+ {
188
+
189
+ static int bA = 1;
190
+
191
+ static int bB = 1;
192
+
193
+ static int bpos = 0;
194
+
195
+
196
+
197
+ if((bA == A) && (bB == B))
198
+
199
+ {
200
+
201
+ // 何もしない
202
+
203
+ }
204
+
205
+ else
206
+
207
+ {
208
+
209
+ // bAbB == 00 or 11
210
+
211
+ if(bA == bB)
212
+
213
+ {
214
+
215
+ if((bA != A) && (bB == B))
216
+
217
+ {
218
+
219
+ pos++; // 右
220
+
221
+ }
222
+
223
+ else if((bA == A) && (bB != B))
224
+
225
+ {
226
+
227
+ pos--; // 左
228
+
229
+ }
230
+
231
+ }
232
+
233
+ // bAbB == 01 or 10
234
+
235
+ else
236
+
237
+ {
238
+
239
+ if((bA != A) && (bB == B))
240
+
241
+ {
242
+
243
+ pos--; // 左
244
+
245
+ }
246
+
247
+ else if((bA == A) && (bB != B))
248
+
249
+ {
250
+
251
+ pos++; // 右
252
+
253
+ }
254
+
255
+ }
256
+
257
+
258
+
259
+ if(bpos != pos)
260
+
261
+ {
262
+
263
+ Serial.print("pos : ");
264
+
265
+ Serial.print(pos);
266
+
267
+ if(bpos < pos)
268
+
269
+ {
270
+
271
+ Serial.println(" →");
272
+
273
+ }
274
+
275
+ else
276
+
277
+ {
278
+
279
+ Serial.println(" ←");
280
+
281
+ }
282
+
283
+ bpos = pos;
284
+
285
+ }
286
+
287
+ bA = A;
288
+
289
+ bB = B;
290
+
291
+ }
292
+
293
+ }
294
+
295
+ ```

11

2018/11/05 14:31

投稿

Alyn
Alyn

スコア50

test CHANGED
@@ -1 +1 @@
1
- Arduinoでのロータリーエンコーダの使い方
1
+ Arduinoロータリーエンコーダの使い方
test CHANGED
@@ -110,4 +110,8 @@
110
110
 
111
111
  ### 追記
112
112
 
113
- 申し訳ありません。実機が手元になくて動作確認できていません。
113
+ 申し訳ありません。実機が手元になくて動作確認できていません。
114
+
115
+
116
+
117
+ シリアル通信の速度は9600で大丈夫なのでしょうか?

10

2018/11/03 12:13

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -78,7 +78,7 @@
78
78
 
79
79
  ```
80
80
 
81
- ### 配線
81
+ ### 回路
82
82
 
83
83
  ロータリーエンコーダはD3,D4,GNDと繋がっている。
84
84
 
@@ -90,7 +90,7 @@
90
90
 
91
91
  .  A   B   G
92
92
 
93
- .  │  │  
93
+ .  │  │  │
94
94
 
95
95
  .  D3  D4  GND
96
96
 

9

2018/11/03 11:58

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -90,7 +90,7 @@
90
90
 
91
91
  .  A   B   G
92
92
 
93
- .  │  │  │
93
+ .  │  │  
94
94
 
95
95
  .  D3  D4  GND
96
96
 

8

2018/11/03 11:57

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  .【ロータリーエンコーダ】
90
90
 
91
- .  A   B  GND
91
+ .  A   B   G
92
92
 
93
93
  .  │  │  │
94
94
 

7

2018/11/03 11:55

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -105,3 +105,9 @@
105
105
  .  │  │ │  │
106
106
 
107
107
  . 【LED 1】【LED 2】
108
+
109
+
110
+
111
+ ### 追記
112
+
113
+ 申し訳ありません。実機が今手元になくて動作確認できていません。

6

2018/11/03 11:52

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  .【ロータリーエンコーダ】
90
90
 
91
- .  A   B  GND
91
+ .  A   B  GND
92
92
 
93
93
  .  │  │  │
94
94
 

5

2018/11/03 11:50

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  .【ロータリーエンコーダ】
90
90
 
91
- .  A   B  GND
91
+ .  A   B  GND
92
92
 
93
93
  .  │  │  │
94
94
 

4

2018/11/03 11:50

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  .【ロータリーエンコーダ】
90
90
 
91
- .  A B GND
91
+ .  A   B  GND
92
92
 
93
93
  .  │  │  │
94
94
 
@@ -100,7 +100,7 @@
100
100
 
101
101
  .  │  │ │  │
102
102
 
103
- .  抵  │ 抵 
103
+ .  抵 │ 抵
104
104
 
105
105
  .  │  │ │  │
106
106
 

3

2018/11/03 11:49

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -86,22 +86,22 @@
86
86
 
87
87
 
88
88
 
89
- 【ロータリーエンコーダ】
89
+ .【ロータリーエンコーダ】
90
90
 
91
-   A B GND
91
+ .  A B GND
92
92
 
93
-   │  │  │
93
+ .  │  │  │
94
94
 
95
-   D3  D4  GND
95
+ .  D3  D4  GND
96
96
 
97
- 【   Arduino   】
97
+ .【   Arduino   】
98
98
 
99
-  D12 GND D13 GND
99
+ .  D12 GND D13 GND
100
100
 
101
-   │  │ │  │
101
+ .  │  │ │  │
102
102
 
103
-   抵  │ 抵  │
103
+ .  抵  │ 抵  │
104
104
 
105
-   │  │ │  │
105
+ .  │  │ │  │
106
106
 
107
-  【LED 1】【LED 2】
107
+ . 【LED 1】【LED 2】

2

2018/11/03 11:48

投稿

Alyn
Alyn

スコア50

test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,25 @@
83
83
  ロータリーエンコーダはD3,D4,GNDと繋がっている。
84
84
 
85
85
  LEDは2つあり、1つ目はD12とGND、2つ目はD13とGNDと繋がっている(間に抵抗器あり)。
86
+
87
+
88
+
89
+ 【ロータリーエンコーダ】
90
+
91
+   A B GND
92
+
93
+   │  │  │
94
+
95
+   D3  D4  GND
96
+
97
+ 【   Arduino   】
98
+
99
+  D12 GND D13 GND
100
+
101
+   │  │ │  │
102
+
103
+   抵  │ 抵  │
104
+
105
+   │  │ │  │
106
+
107
+  【LED 1】【LED 2】

1

追加

2018/11/03 11:47

投稿

Alyn
Alyn

スコア50

test CHANGED
@@ -1 +1 @@
1
- ロータリーエンコーダの使い方
1
+ Arduinoでのロータリーエンコーダの使い方
test CHANGED
File without changes