Open SakaiYuki opened 7 years ago
残念ながら git push する権限がなかったようなので、ここに修正を書きます。
commit 90c9e46a29b7029016d8e3c73f048f1802052511
Author: Yuki Sakai <yuki.sakai@iridge.jp>
Date: Wed Nov 23 16:15:26 2016 +0900
Switch channel in loop.
diff --git a/Analog_Multiplexer.ino b/Analog_Multiplexer.ino
index aea7578..4216d6c 100644
--- a/Analog_Multiplexer.ino
+++ b/Analog_Multiplexer.ino
@@ -48,6 +48,14 @@ void setupWiFi() {
Serial.println(WiFi.localIP());
}
+/*
+ * 74HC4052 を使用して、 4 つのアナログ入力を制御します。
+ * http://d.hatena.ne.jp/hiko4415/20120627/1340806901
+ */
+
+// 固定値を設定(アナログ入力チャネル数)
+int MAX_CNT = 4;
+
// ポート番号を指定
int s0 = 2;
int s1 = 3;
@@ -62,6 +70,8 @@ int cal2 = 0;
int count = 0;
+int val = 0;
+
void setup() {
Serial.begin(115200);
delay(10);
@@ -86,14 +96,14 @@ void loop() {
int val = analogRead(A0);
Serial.println(String(val));
- for (count = 0; count <= 7; count++) {
- cal0 = bitRead(count, 0);
- cal1 = bitRead(count, 1);
- cal2 = bitRead(count, 2);
-
- digitalWrite(s0, cal0);
- digitalWrite(s1, cal1);
- digitalWrite(s2, cal2);
+ count++;
+ if (count == MAX_CNT) count = 0;
+
+ cal0 = bitRead(count, 0);
+ cal1 = bitRead(count, 1);
+
+ digitalWrite(s0, cal0);
+ digitalWrite(s1, cal1);
DataElement elem = DataElement();
elem.setValue("v", val);
ところどころ、@@ -86,14 +96,14 @@というのがあるけど、これは無視していいのか迷ったけど、文字化けと考えて、とりあえず、想像で書いてみました。 https://github.com/GS05-43-MatsumuraYu/kadai/blob/master/Analog_Multiplexer_update.ino
ひとまず、圧力センサーの値は取得できています。 onpush 5 1 onpush 1 4 onpush 4 14 onpush 14 31 onpush 31 888 onpush 888 4 onpush 4 0 onpush 0 2 onpush 2
ところどころ、@@ -86,14 +96,14 @@というのがあるけど
git diff の出力だよー
修正点の趣旨は、
loop の中でシリアルに文字列を出力しているのは、
https://github.com/GS05-43-MatsumuraYu/kadai/blob/master/Analog_Multiplexer_update.ino#L76
https://github.com/GS05-43-MatsumuraYu/kadai/blob/master/Analog_Multiplexer_update.ino#L30
https://github.com/GS05-43-MatsumuraYu/kadai/blob/master/Analog_Multiplexer_update.ino#L31
の3箇所で、1回のループで以下の3行が出力されていて、ループ毎に値が変わっているのが確認できましたな。
1
onpush
1
おぉ、ということは、とりあえずセンサー1個の場合だと、OKってことかなぁ? 次のステップはセンサー2個にする?配線方法をスカイプでやる(土日にでも)?
配線方法をスカイプでやる(土日にでも)?
OK!
ちなみに、何番のセンサーなのかも milkcocoa に合わせて送信すると思うけど、その値も出力しとくと、デバッグが楽だと思います!
ちなみに、何番のセンサーなのかも milkcocoa に合わせて送信すると思うけど、その値も出力しとくと、デバッグ が楽だと思います! 了解。sensor1とか出るようにしときます。土曜の10:00~とかでもOK?
土曜の10:00~とかでもOK?
ちょと時間取りづらいので、写真とか、 もしくは Excel とか使ってブレッドボードを座標表現するとかで、 github ベースでやりとりできないかな…?
おっー別に土曜の10:00~でなくてもいいよ。いつならスカイプできそう?
弔事につき、今日からしばらく名古屋に帰ります…
夜すこし時間取れるかも…といった程度になってしまいます。すまん
おぉー、それなら全然無理しなくていいよ、ほんなら来週やねー。 こちらは今週来週も土日ともパソコンの前で作業してますんで、もし時間空いて気が向いたら連絡くれればオッケーです!
明日は時間あります!
晩御飯つくらねばならないので夕方に帰りますが、家事一通り終えてからの午前そして昼間は、活動可能ですよ!
特別な工具や部品が不要なら、普通のカフェ・貸しスペースでもオッケーなので、中間点の北千住や西船橋とかでも良いかも。
しかし、今後のデバッグのために便利なツールとか準備しようと思うと、やっぱり秋葉原 (nanolab) になるんだよね…
L84, L85 で DigitalWrite を使っていますが、
https://www.arduino.cc/en/Reference/DigitalWrite
DigitalWrite を使うには、 pinMode で OUTPUT にしておく必要がある
Analog_Multiplexer.ino のもとになったライブラリを アナログマルチプレクサ CD74HC4052 http://akizukidenshi.com/catalog/g/gI-10443/ 向けに修正