Arduino初心者熱烈大歓迎質問スレ part22at DENKI
Arduino初心者熱烈大歓迎質問スレ part22 - 暇つぶし2ch1:774ワット発電中さん
18/08/18 08:37:53.78 ridqLuOK.net
URLリンク(www.arduino.cc)
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね

前スレ
Arduino初心者熱烈大歓迎質問スレ part21
スレリンク(denki板)
過去スレ
Arduino初心者熱烈大歓迎質問スレ part20
スレリンク(denki板)
Arduino初心者熱烈大歓迎質問スレ part19
スレリンク(denki板)
Arduino初心者熱烈大歓迎質問スレ part18
スレリンク(denki板)
Arduino初心者熱烈大歓迎質問スレ part17
スレリンク(denki板)
Arduino初心者熱烈大歓迎質問スレ part16
スレリンク(denki板)
Arduino初心者熱烈大歓迎質問スレ part15
スレリンク(denki板)

2:774ワット発電中さん
18/08/18 09:34:30.26 +bACXv5b.net
このスレッドは過去ログです。
プレミアム会員に登録すると続きを読めます。
──────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
──────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
URLリンク(premium.5ch.net)
──────────
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。

3:774ワット発電中さん
18/08/18 11:15:48.52 yhqZ04Os.net
テス

4:774ワット発電中さん
18/08/18 11:41:36.07 dwhMayOW.net
※格安Arduino互換機の注意


5: USB-シリアル変換にATmega16U2ではなく、CH340系が使われている場合がある。 Windows7以下、MacOSXはCH340系のデバイスドライバーを別途インストールする。 CH340系ドライバーのダウンロード http://www.wch.cn/download/CH341SER_EXE.html



6:774ワット発電中さん
18/08/18 11:46:47.54 dwhMayOW.net
※Arduino Nano互換機の注意点
2018年1月に新しいブートローダーが公開される。
互換機は古いブートローダーが書き込まれている場合がある。
書き込み時に「avrdude: stk500_recv(): programmer is not responding」のエラーが出る場合には、
ツール→プロセッサで「ATmega328P (Old Bootloader)」 を選択するか、
ツール→ボードで「Arduino Genuino Uno」を選して書き込む。
または、最新版のIDEに更新しブートローダーを最新のものに更新する。

7:774ワット発電中さん
18/08/18 11:47:05.02 dwhMayOW.net
>>1


8:774ワット発電中さん
18/08/18 14:00:47.21 fIi84Wp6.net
勝手にテンプレ気取り?

9:774ワット発電中さん
18/08/18 14:07:45.71 bdPvI7OZ.net
勝手に~気取り、って気に入らないのか。おまえ何様のつもり?
何か書くときはお前に書いていいかどうか確認しろってか?

10:774ワット発電中さん
18/08/18 14:14:55.02 dwhMayOW.net
>>7
すいません。気に入らなかったですか?

11:774ワット発電中さん
18/08/18 15:21:29.09 ridqLuOK.net
>>9
いいのではないの?
技術的な内容に異議がある人は内容で反論すればいいわけだし。

12:774ワット発電中さん
18/08/18 16:05:11.12 UUclElrP.net
>>1>>4>>5
>>4>>5 はテンプレに入れた方がいいね。

13:774ワット発電中さん
18/08/18 17:02:15.61 fVDwaySX.net
Adafruitってどうよ

14:774ワット発電中さん
18/08/18 17:18:34.09 d+HXjG7p.net
Arduinoやってる人でAdafruitを避けて通れる人は居ないんじゃ?
直接買ってなくても代理店から買ったり、最低でもライブラリは絶対使ってるはず。

15:774ワット発電中さん
18/08/18 20:24:07.19 7QFAw0nR.net
>>13
ライブラリ使ってるだけだと意識はしていないかもしれない。

16:774ワット発電中さん
18/08/18 20:35:48.62 Nba7/VAS.net
製品企画も中華がパクって安いコピー品を沢山出してるから業界への貢献度はデカいよ

17:774ワット発電中さん
18/08/19 03:08:52.04 mNPHNTs1.net
>>9
失礼なことを書いて申し訳ございませんでした。
全く問題ございません。

18:774ワット発電中さん
18/08/19 08:01:16.17 QhLofqtf.net
pwmの周波数はなんkhzまでいける?

19:774ワット発電中さん
18/08/19 08:58:54.81 8sUv3/9T.net
求める分解能による

20:774ワット発電中さん
18/08/19 09:46:44.97 f6FuXbyJ.net
20khz dutyは1パーセント刻み

21:774ワット発電中さん
18/08/19 09:57:28.68 8sUv3/9T.net
20kHzなら設定できるdutyは0~800だろ
クロックを周波数で割ったのが大体の分解能だ
0%か50%か100%の3段階でよければ8MHzだ
1%刻みなら160kHzだ

22:774ワット発電中さん
18/08/19 13:58:31.37 tT55m5+H.net
Arduinoの中に書き込んだプログラムを取り出す方法はないですか?
PCをリカバリーしてPCに保存したデータを全てなくしてしまいました。

23:774ワット発電中さん
18/08/19 15:23:45.36 BFxwAddO.net
>>21
諦めたほうが良いねぇ

24:774ワット発電中さん
18/08/19 15:39:22.48 tT55m5+H.net
やっぱりそうですか、ご返信いただき、ありがとうございました。

25:774ワット発電中さん
18/08/19 16:55:03.69 Q6Rlq9v2.net
バイナリなら読み出せるんじゃない?ソースは無理だけど

26:774ワット発電中さん
18/08/19 19:03:46.62 YmcD9rTt.net
脳みそコネコネしながら逆コンパイルだ!w
>>1
乙~♪

27:774ワット発電中さん
18/08/19 23:09:59.65 LVDHippe.net
流石にArduinoでゲームエミュレータってできないよな?

28:774ワット発電中さん
18/08/20 07:59:33.13 +U3i+INK.net
バイナリ読みだしても最適化されまくりだから、ソースに戻せたところで、質問者の欲しいソースとはかけ離れすぎだろw
それでも問題ない輩は、そもそも質問者しねーだろうし、ソースのバックアップもしてるだろーな。

29:774ワット発電中さん
18/08/20 12:17:39.74 JN6FMV7B.net
FLASHが余ってたらスケッチをLZMAの7zとか強烈なアルゴリズムで超圧縮してバイナリデータとしてROMのケツに書き込んどけwwww

30:774ワット発電中さん
18/08/20 12:22:17.54 +U3i+INK.net
展開するCPUが8bitなのはともかく、展開先のメモリをどうやって工面すれば…
せめて、ビデオメモリが展開先として使えたらいいのに。

31:774ワット発電中さん
18/08/20 23:32:12.47 1DoM4798.net
>>26
エミュじゃないゲームならあるし
ファミコンぐらいなら余裕かと

32:774ワット発電中さん
18/08/20 23:54:18.58 8D1c08qr.net
>>26
ゲームじゃないけど
appleIIのエミュレータなら有ったと思う。appleII上でゲームも可能だと思うよ。

33:774ワット発電中さん
18/08/21 03:02:50.09 8q4I3BsN.net
ESP32にはNESエミュの作例があったねぇ

34:774ワット発電中さん
18/08/21 09:51:39.05 EGHDMCBK.net
>>32
Qiitaにあったの見てた
Gituhubにもあった
あれROM入れられないよね

35:774ワット発電中さん
18/08/21 21:12:57.26 RCJ9Di5d.net
Arduino IDEとProcessingは何がちがうん?

36:774ワット発電中さん
18/08/22 00:00:18.59 +iBk16iX.net
>>34
ArduinoIDEはArduino専用の統合開発環境。
ProcessingはJavaを単純化したプログラム言語のこと。(専用の統合開発環境も同名)
Arduino側のプログラムはArduinoIDEで作成して、
Arduinoの出力をPCで処理する部分をProcessingで書く。
後者はProcessingである必要はない。CとかPythonとかでもいい。
まぁ、作例がそれなりにあって、簡単だからProcessingを使うことが多い。

37:774ワット発電中さん
18/08/22 01:07:19.54 Ld1zkqF3.net
githubのライブラリーに付属のサンプルとかは、
.pde(Processing用のファイル)から、
.ino(Arduino IDE用のファイル)に変更していってるね。
更新してない古いライブラリーは.pdeのままだったりする。

38:774ワット発電中さん
18/08/22 08:23:12.66 4oITL4BO.net
ArduinoIDE自体がProcessingで書かれてるんじゃなかった?

39:774ワット発電中さん
18/08/23 14:46:57.78 WCmbOQAH.net
マイコン初心者です。arduinoスレで質問するのは違うと思うのですが、質問させてください。
無線でスタートストップラップをするストップウオッチを作りたいのですが、何


40:(arduino raspi pic)を使ったらいいか、何を勉強したらいいか、どんな部品を使えばいいかわからないので教えてください。 センサC1 から無線で信号を受け取ったらストップウオッチS スタート センサC2 から無線で信号を受け取ったらS ラップ計測    C3 から無線で信号を受け取ったらS ラップ計測    Cn から無線で信号を受け取ったらS ストップ 読み取りも無線でできたらいいなと思っていますが、SDカードかなにかに保存してみればいいかなと思ってます。 センサとストップウオッチの距離は10cm程度でそれ以下でも構いません。 なるべく小さく安く作りたいと思っています。 これ使ってこれ勉強しろで構いませんよろしくお願いします。



41:774ワット発電中さん
18/08/23 14:51:20.33 DjvSYa7B.net
>>38
ESP8266

42:774ワット発電中さん
18/08/23 15:26:37.85 VVQGRzTT.net
TWE-lite,ZeeBee

43:774ワット発電中さん
18/08/23 15:59:12.61 jglF4rFN.net
>>38
nRF24L01+

44:774ワット発電中さん
18/08/23 16:22:27.33 jglF4rFN.net
>>38
H3V3E

45:774ワット発電中さん
18/08/23 20:53:27.41 +mUsMySm.net
>>38
ESP-WROOM-02かな。
電池駆動とかどのくらいの距離離すかとかも書いた方が良いと思う。
LTEやLoRaじゃないと無理だわ、ってことも有るし。

46:774ワット発電中さん
18/08/23 22:20:37.05 q9li7aRS.net
IrDA

47:774ワット発電中さん
18/08/24 01:08:37.54 NeTUMkju.net
>>39-44
ありがとうございます。電池駆動で距離は30cm程度です。
外で使うのでwifiモジュールは適していないのかなと思いました。
それとあまり距離は出さなくていいので今のところ赤外線モジュールが視野に入ってます。

48:774ワット発電中さん
18/08/24 01:21:32.23 c4TmFY1p.net
距離30cm程度で無線の必要性がよく分からんけど
赤外線モジュールだと、位置関係もある程度制限されるし
片方をポケットとかバックパックに入れるわけにもいかんよね

49:774ワット発電中さん
18/08/24 02:38:12.60 9EF9gxpi.net
赤外線は屋外だと太陽光の影響を受けて距離が短くなるよ。
と言っても30cmなら大丈夫と思うけど!

50:774ワット発電中さん
18/08/24 08:27:34.42 P2HtClT6.net
aitendoの微弱無線モジュールでも使えば?

51:774ワット発電中さん
18/08/24 10:41:27.31 maSyIxvl.net
ボタン4つの安いラジコンカー買って分解

52:774ワット発電中さん
18/08/24 11:09:00.40 zoD73X1X.net
ESP32を5個買って、青歯接続が無難かなぁ…
あとでパソコンへデータ送信するのも、無線LAN経由でらくらく送れるし。

53:774ワット発電中さん
18/08/24 12:16:00.77 Rqf38Q6w.net
青歯は電気喰うからねぇ

54:774ワット発電中さん
18/08/24 12:24:32.35 Ia1Ysbe9.net
青歯という隠語みるたびにどうしても青ノリが思い浮かぶ・・・

55:774ワット発電中さん
18/08/24 16:10:14.53 L5bumxoa.net
最近の青歯は省電力じゃないの?
CR2032で半年とか持たせられるし。

56:774ワット発電中さん
18/08/24 16:42:11.90 fuAl2iNy.net
使ったことないからあれだけど
電波飛ばすんだからその間は飛距離に応じた電気はくうよね?

57:774ワット発電中さん
18/08/24 16:54:50.74 MgknBLtb.net
カシオのスマートウオッチ、3年ほど使ってるけど電池交換は半年に1回だけ、もちろんCR2032を1個使用。
詳しい仕組みはわからないけど、電気をバカ喰いすることはないんじゃないかと。

58:774ワット発電中さん
18/08/24 16:56:53.67 Bo4eP/q9.net
PCのワイヤレスキーボードとか単4電池一本で1年以上もったりするけど
あれどうなってんの?1.5vで動いてるの?3vに昇圧してんの??

59:774ワット発電中さん
18/08/24 19:21:47.17 SNnjJUtd.net
>>54
飛ばす時間を最小限にすればいいのでは

60:774ワット発電中さん
18/08/24 22:35:52.70 SDAWvoWt.net
>>56
大体は昇圧してる。
電波に関しては、スペクトラム拡散技術のおかげで、
かなり弱い電波でも受送信できるようになってる。

61:774ワット発電中さん
18/08/25 00:37:44.22 lKGhq8QJ.net
>>45
その程度なら、リモコンみたいな方式で赤外線で飛ばすのが手っ取り早くて消費電力も小さくて良いんじゃない?
主要なマイコンならちょっと調べればリモコンの製作記事見つかるだろう。
センサ側は16F1のpic@100円前後、受け側はnanoとかで十分。
使うセンサーによっては受け側以外はマイコンすら不要かも。
リモコン専用のチップ有るし。

62:774ワット発電中さん
18/08/25 10:14:34.05 51Erqn2W.net
ありがとうございます。
基本的には赤外線で、ストップウィッチの方にブルートゥースも乗っけて読み取りを楽にしようと思います。
まずはunoで地道に勉強しようと思います

63:774ワット発電中さん
18/08/25 13:00:38.50 hhhT3Fm7.net
ブレッドボード上で抵抗の足同士が接触してVccとGndショートさせてUSBポート壊したんだけど
ポートを保護する方法を教えてください

64:774ワット発電中さん
18/08/25 13:02:52.49 2vuXWRJy.net
ダイオード?

65:774ワット発電中さん
18/08/25 14:32:52.98 /JmuYw0q.net
青歯とか書いて悦に入ってるヤツって
いまだにすし屋でアガリとかオアイソとかガリ
とか言ってヒンシュク買ってそうだよなw

66:774ワット発電中さん
18/08/25 15:23:09.81 TgX+Cifx.net
青歯が恥ずかしいのは当て字の中二臭さ、今時じゃなく始めから恥ずかしい。
寿司屋隠語は業界用語なので客が使うのは恥ずかしい。

67:774ワット発電中さん
18/08/25 15:27:17.55 KKI5FY4D.net
>>61
Arduinoのボード上は500mA制限用に↓こんなヒューズが乗ってるね。
URLリンク(www.digikey.jp)
リード線タイプもある。

68:774ワット発電中さん
18/08/25 20:20:05.12 Q6RK8HMo.net
中国では蓝牙というらしい
蓝は藍かな

69:774ワット発電中さん
18/08/25 20:26:27.03 z9I4rmtb.net
>>63
>>64
よかった
嫌な感じがするのは俺だけじゃなかったんだ

70:774ワット発電中さん
18/08/25 20:38:42.57 JKe48l7i.net
processingとの連携を勉強中で教えて頂きたいです。
xbeeとxbeeシールドを使い、xctuを起動したPCへ無線で繋げたいと思っています。processing1.5.1を指定している数年前のページがあったりするんですが今だと最新版でも良いのでしょうか?

71:774ワット発電中さん
18/08/25 22:12:42.33 Sgv0AvXQ.net
TeensyってArduinoのvariantなん?

72:774ワット発電中さん
18/08/26 07:44:45.36 jPZor44m.net
do文の中にanalogRead入れたら値が全く読み込めない
なんで?
for文なら動いてます

73:774ワット発電中さん
18/08/26 09:28:53.57 Rvvrc37v.net
>>70
ほんとに読み込めてないの?

74:774ワット発電中さん
18/08/26 10:33:43.97 rT4RL/tR.net
>>69
日本語で言って

75:774ワット発電中さん
18/08/26 11:27:50.94 jPZor44m.net
>>71
もしかしたらdo文が繰り返さず
1回で抜けて�


76:驍ゥも知れない whileの時間増やしても速さが変わらない



77:774ワット発電中さん
18/08/26 11:35:52.38 9Xm7gaaZ.net
>>70
ふたつのプログラムを見ないと何ともだけど、while文の抜け出し条件が未成率で無限に抜け出せてないとか?
do文が無しで1回のみ実行だとアナログ値は読めてる?
そもそも読めないって、読みに行ったら戻ってこないの?

78:774ワット発電中さん
18/08/26 11:56:01.94 smhQmnH7.net
int analogpin = 0;
int count = 10;
void setup() {
Serial.begin(9600);
}
void loop() {
unsigned long clocks = millis();
int MAX = 0, MIN = 1023;
int data = 0;
int total = 0;
float ave = 0;
float mA = 0;
for (int i = 0; count < i; i++) {
unsigned long start = millis();
do {
data = analogRead(analogpin);
// Serial.println(data);
MAX = max(data , MAX);
MIN = min(data , MIN);
}
while(millis() - start <= 22); //50hz1サイクル20msプラス10%
total += int(MAX - MIN);
}
ave = total / count;
mA = ave / 2.0 / sqrt(2) * (5000 / 1024);
Serial.println(mA);
}
初心者だから読みにくいのは許してね
交流電流をクランプ式のセンサーで読み取りたいのです
電源は5vを4.7キロオーム2つで分圧してクランプの片側へ
クランプのもう片側はA0へ
クランプと並列に補助抵抗200オームをつけて
これだけの回路です
シンプルだけどfor文では動きました
質問のアナログ値1回は読めてるかどうかですが
スケッチ上にdo文の中にprintln置いていますが
それを生かすと止まります
故に読めてるかどうかは分かりません
出力はゼロをひたすら出力します

79:774ワット発電中さん
18/08/26 12:03:58.73 0BvjDZgt.net
説明しますね
交流50hzなのでワンサイクル20ms
1割多めで22msワンサイクル分の最大最低を読み出します
それの10回分の平均を出して
計算して実際の電圧にします
最後の電圧から電流に変換する式が抜けてましたが

80:774ワット発電中さん
18/08/26 12:25:20.94 jPZor44m.net
float b = 0, c = 0;
int COUNT = 200;
int g[200];
void setup() {
Serial.begin(9600);
// analogReference(INTERNAL);
// ADCSRA = ADCSRA & 0xf8;
// ADCSRA = ADCSRA | 0x04;
}
void loop() {
float a = 0;
int MAX = 0, MIN = 32767;
for (int k = 0; k < 50 ; k++) {
for (int i = 0; i < COUNT; i++) {
g[i] = analogRead(0);
if (MAX < g[i])MAX = g[i];
if (MIN > g[i])MIN = g[i];
// Serial.println(g[i]);
}
a += MAX - MIN;
}
b = a / 50;
c = b * (5000.0 / 1024.0) / 2.0 / sqrt(2) * 10.0 - 500.0;
Serial.println(c);
}
これは成功と思われますが誤差は大きいです

81:774ワット発電中さん
18/08/26 12:34:35.20 jPZor44m.net
>>75
追記ですが最後の出力とはm Aのことです

82:774ワット発電中さん
18/08/26 12:58:03.99 9Xm7gaaZ.net
>>75
スマホで読んでて、しかも老眼なんで見間違えもあるかも知れないけど、for文の条件式が count < i になってると初期値が count = 10と i = 0 だと中身を実行しないんじゃない?
違ってたらゴメンなさい。

83:774ワット発電中さん
18/08/26 12:59:00.96 Tr3eqDnt.net
ちょっと関係ないけど、Loopの中で下記の変数が再定義されまくっても良いのかな?
ループする度に変数のアドレスを保持するパフォーマンス的によろしくないと思うんだけど?
コンパイラがどういうコードを生成してるか知らないので、これでも良いのかもしれないけど・・・
unsigned long clocks = millis();  <ーこれ
int MAX = 0, MIN = 1023;    <ーこれ
int data = 0;               <ーこれ
int total = 0;               <ーこれ
float ave = 0;               <ーこれ
float mA = 0;               <ーこれ
for (int i = 0; count < i; i++) {
 unsigned long start = millis();   <ーこれ


84:774ワット発電中さん
18/08/26 13:01:12.62 joEZPTiR.net
変数は結局コンパイラに全部関数の最外スコープにまとめて定義する形にされるのでは?

85:774ワット発電中さん
18/08/26 13:06:25.20 9gy8oym7.net
>>75
for (int i = 0; count < i; i++) {

86:774ワット発電中さん
18/08/26 13:07:50.49 9gy8oym7.net
経験があると不気味なところが浮き出て見えてくる

87:774ワット発電中さん
18/08/26 13:08:22.51 Tr3eqDnt.net
あんま気にしなくて良いんですね・ありがとうございます。
引き続き、>>70さんのdo-while内のanalogRead問題をどうぞ

88:774ワット発電中さん
18/08/26 13:11:06.09 Tr3eqDnt.net
for (int i = 0; count < i; i++)
じゃなく、こうだ
for (int i = 0; i < count ; i++)

89:774ワット発電中さん
18/08/26 13:18:57.45 jPZor44m.net
>>85
動きましたー
ありがとうございます
よかったー

90:774ワット発電中さん
18/08/26 13:26:50.07 jPZor44m.net
>>79
お見事です
ありがとうございます

91:774ワット発電中さん
18/08/26 13:34:26.93 9Xm7gaaZ.net
>>87
完動、よかったね。
おめでとう。

92:774ワット発電中さん
18/08/26 13:36:15.61 jPZor44m.net
お騒がせしました
みなさんありがとうございます
また色々参考になるご意見今後の参考にします
またご質問させていただくことがあると思います

93:774ワット発電中さん
18/08/26 13:40:55.19 r0Pk6YgE.net
ほんといろいろな意味で気持ち悪いコード
adcサンプリング周期とか無視かよ
millis() の使い方それでいいのか
analogReadは ADSCでのポーリング読み込みだから
あらかじめハード的に周期を観測して決めなければならない
というか、はあ、初心者はそういう発想で来るのねという感想

94:774ワット発電中さん
18/08/26 13:42:50.90 0ZkqqzMT.net
ファッキンマウンター

95:774ワット発電中さん
18/08/26 13:44:13.57 jPZor44m.net
>>82
ありがとうございます

96:774ワット発電中さん
18/08/26 13:49:32.77 jPZor44m.net
>>90
ど素人なのでご容赦ください
サンプリング周期??
ネットで調べたらアルデュイーノのanalogReadは量子化を考えてサンプリング定理でローパスフィルター入れてって書いてあったから
入れてみたけど失敗しました

97:774ワット発電中さん
18/08/26 14:15:19.44 r0Pk6YgE.net
Arduino電力計 - 回路図とスケッチ
でググれ

98:774ワット発電中さん
18/08/26 14:30:19.34 gbkOa1FM.net
>>90
今度は貴方がお手本を示す番よ?

99:774ワット発電中さん
18/08/26 17:31:27.46 CJ7WA9wL.net
>>90
この世で一番無能なレス

100:774ワット発電中さん
18/08/26 18:00:09.10 r0Pk6YgE.net
床屋行ったので書いてみた
timerone ライブラリを使用しているので、gitからダウンロードしてね
/*
50Hz meas
use lib :
github.com/PaulStoffregen/TimerOne.git
1/50Hz = 0.02 (1 period)
0.02 / 100 =0.0002 =200u ( 100 sample = 1 period)
*/
#include <TimerOne.h>
#define SAMPLE_SZ 100
#define SAMPLE_PERIOD 200 // us
#define BLOCK_SZ 50
#define BLOCK_SZ_INV (1.0/50.0)
int sample_buf[SAMPLE_SZ];
int sample_buf_p;
int sample_buf_ready;
void isr_timer1() {
int data;
if( sample_buf_p < SAMPLE_SZ ){
data = analogRead(0); // wait for ADC
sample_buf[ sample_buf_p ] = data;
sample_buf_p++;
}
if( sample_buf_p == SAMPLE_SZ ){
sample_buf_ready = 1;
sample_buf_p++;
}
}
void setup() {
Serial.begin(9600);
sample_buf_p = 0;
sample_buf_ready = 0;
Timer1.initialize(SAMPLE_PERIOD); // unit=usec
Timer1.attachInterrupt(isr_timer1);
}
void loop() {
int i,j; int data;
int max; int min;
float sum; float avr;
float val;
sum = 0;
for (j = 0; j < BLOCK_SZ; j++) {
while( sample_buf_ready == 0 ) ;
max = 0;
min = 32767;
for (i = 0; i < SAMPLE_SZ; i++) {
data = sample_buf[i];
if (max < data) max = data;
if (min > data) min = data;
}


101: sample_buf_p = 0; sample_buf_ready = 0; sum += ( max - min ); } avr = sum * BLOCK_SZ_INV; // outer loop sz val = avr * (5000.0 / 1024.0) / 2.0 / sqrt(2) * 10.0 - 500.0; Serial.println(val); }



102:774ワット発電中さん
18/08/26 18:02:31.75 r0Pk6YgE.net
ああ、ダブルバッファにしてなかったから
これはボツだ
まあ、参考にして書いてみて

103:774ワット発電中さん
18/08/26 19:06:11.69 jPZor44m.net
>>97
感動しました
ありがとうございます
参考にさせていただきます

104:774ワット発電中さん
18/08/26 19:11:57.01 qLbtxOO8.net
インデント無いのはまったく見る気しないね。
次のテンプレにこれ入れて。
URLリンク(codepad.org)

105:774ワット発電中さん
18/08/26 19:12:59.73 r0Pk6YgE.net
蛇足
コンパイラがどう解釈するかだけど
sqrt(2) が定数にならないかもしれないので
1.4142135とか数値で書いたほうがいいかも

106:774ワット発電中さん
18/08/26 19:39:09.03 RnJw4+CK.net
//(5000.0 / 1024.0) / 2.0 / sqrt(2) * 10.0
17.2633491501
そんなとこまで気にするならいっそのこと固定値

107:774ワット発電中さん
18/08/26 20:03:25.90 vt5WRAuD.net
実は一番優しい奴

108:774ワット発電中さん
18/08/27 01:11:41.59 RmXp7I6V.net
Ethernet PHY付けて通信する時はSPIから線を延ばせば良いのね?
遅そうだけど

109:774ワット発電中さん
18/08/27 12:05:14.07 JrLIHxIO.net
長文ですみません。複数のアナログ値の読み込み時の動作ついて教えてください。
今作っている装置では、ArduinoNanoのA0,A1,A2,A3,A6のポートに合計5つのセンサーが取り付けられています。(4と5はI2C)
AD変換完了割り込みベクタを使って、ADMUX書込み(チャネル変更)→ADSRAのADSCをセット(変換開始)して最速で回しているのですが
これで全5つセンサーのデータを正しく読み込めているんでしょうか?動きはしますが、他のポートに繋いだセンサの影響が出ています。
(例えばA0のセンサを外して1kΩ経由で5Vに繋いだりGNDに繋いだりすると、関係ないA1やA2の値が引き摺られて変わります。)
サンプルプログラムを掲載している先人のウェブサイト(ArduinoだけでなくAVRマイコンの物も含む)を見ると
『ADMUXレジスタに書き込んで、マルチプレクサが安定するまで待つ』と言った記述をしているサイトが見受けられます。
これは経験則から来るものでしょうか?または、どこか公式の文献に記載されている所がありますか?
ATmega328Pのデータシートや、Atmel(今はMicrochip?)が発行しているADコンバーターに関する応用記述を読むと
基準電圧を切り変えた場合は最初のAD変換の結果は不正確なためこれを破棄することが推奨されていますが
マルチプレクサを(シングルエンド入力チャネル内において)切り変えた場合については特に言及されていませんでした。
ADコンバーターの設定はArduinoデフォルトのままなので16MHzが1/128されて125kHzが変換クロックですよね。
ADMUXに書き込んだ後ADSCが上がって即変換クロックのタイミングだった場合、マルチプレクサ変更から即ADCが始まったとして
データシートの仕様を見ると通常変換モードで、ADSC立ち上がり認識からサンプルホールド開始まで1.5変換クロックとあるので
この今のスケッチだと、マルチプレクサのレジスタが書き換えられてから、最速の場合でおよそ12μ秒後にサンプルホールドが始まっています。
この時間はマルチプレクサの切り替えに十分でないのでしょうか?(切り替えに10秒も掛かるマルチプレクサ...?)切り替えに必要な動作時間の記述が見つけられませんでした。
AD変換周期をカット&トライで伸ばして行けば、今回の結果が前回の結果に引き摺られる量が減ることを確認したので
値の引き摺りが我慢できるところまでサンプリング周期をテキトウに伸ばしちゃっていますが、サンプリング周期を設定する根拠が欲しいのです。
出来ればサンプリング周期は下げたくないので、もし、そもそも自分が何かミスをしていて上記問題を解決できる方法があれば教えてください。
サンプルホールド回路の入力インピーダンスに対してセンサーの出力インピーダンスが高いのかと思いましたがそうでもないようでした。

110:774ワット発電中さん
18/08/27 12:07:58.57 JrLIHxIO.net
>>105
ミス:10秒もかかる→10μ秒もかかる

111:774ワット発電中さん
18/08/27 12:16:56.10 jQhc97/c.net
コンデンサ

112:774ワット発電中さん
18/08/27 13:14:14.12 VfeTu6Pj.net
切り替え初回はゴミが入るかADC再起動しないと
正しい値は入らないだろうね
(チャージがリセットされない)
>根拠
データシートにしかないだろうね
丹念に読んで該当する項目内無いならあきらめるしかない
(無いとすれば)
メーカーも(ばらつき大きい等の理由で)保証しないのだろう
マルチプレクサをADCに外付けで多チャンネル化したことはある。
このときは、MPXの出力をオシロで見て波形確認したよ

113:774ワット発電中さん
18/08/27 14:32:25.63 8qXPF+MH.net
Arduinoって、micropythonをインスコして使えますか?

114:774ワット発電中さん
18/08/27 16:05:59.12 ri+A/WGq.net
>>105
データシートの28.5章(Page 310)以降を読むべし

115:774ワット発電中さん
18/08/27 16:16:51.77 wftN9EiU.net
>>110
それに準拠して設計してあんじゃん
データシートと質問を読んで意味がわからないならレベルなら無理に答えなくていいよ

116:774ワット発電中さん
18/08/27 16:24:21.38 wftN9EiU.net
これだけじゃどうせなんか言われるんで
>>105
ダイに印刷されてるようなマルチプレクサがそんな遅い訳あるか 切り替えに数十ナノ秒すらかからん
データシートに書いて無いのはそのマイコンの最速20MHzでも次の命令実行前に切り替えが終わってて無視できるほど速いから
単にS/Hキャパシタに前回の値が残ってるだけ 外部回路の出力Zは低いと言い張ってるが本当にそうか?
例えばLM35なんかはシンク駆動Zめちゃ高いぞ(データシートは低インピと謳っているがちゃんと見るとソース駆動の話だ)
センサーの出力段がプッシュプルじゃないんだろ LM35みたいなハイサイド+プルダウンじゃシンク側が間に合わん
抵抗分圧のPTCサーミスタやCSDセルなんかもダメな ADCを共用して入力するにはZが高い
このサイト読んでみ ↑と同じ話が書いてある 解決策も
URLリンク(siesta.la.coocan.jp)

117:774ワット発電中さん
18/08/27 17:48:25.44 HGZ4HjcO.net
LM35Dには自分も半日トラブった。
資料は隅から隅までキチンと読まないと、と反省した。

118:774ワット発電中さん
18/08/27 18:14:09.33 wftN9EiU.net
今みたらCDSがCSDになってるがまぁ通じるだろ

119:774ワット発電中さん
18/08/27 22:04:05.57 qmtajQVi.net
>>109
MycroPython乗せたらAruduinoじゃなくなるよ。
以前はAVR用の有ったみたいだから、無理やり乗せようと思えばできないことも無いんだろう。
少なくとも現在は公式には無い。
Python on the chipとか、circuit pythonとかが有るみたい。

120:774ワット発電中さん
18/08/27 22:52:01.71 F/WEJENM.net
>>112>>113
センサーの出力なんて
「自分の出力値よりかなり高いレベルまで充電済みの容量性負荷」
に繋ぐことなんて想定してないってことか
横からだけど勉強になった
頭の片隅にいれとこう

121:774ワット発電中さん
18/08/27 23:33:02.38 KgfwCP5/.net
入出力の端子全部使うとかはやめといた方がいいのかな

122:774ワット発電中さん
18/08/27 23:44:32.79 0sHK/AtS.net
やめといた方がいいような数のポートなんか付けたりしないのでは?
つまり全部使っても問題ないと思う。
実際はどうなのか知らないけど。

123:774ワット発電中さん
18/08/27 23:59:10.91 FGftdgUh.net
全然問題ない

124:774ワット発電中さん
18/08/28 00:22:21.51 353p49y/.net
>>105
蛇足かもしれんけど、>>112さんのを補足すると
>『ADMUXレジスタに書き込んで、マルチプレクサが安定するまで待つ』と言った記述
の「マルチプレクサが安定するまで待つ」は間違いで、
「マルチプレクサ切り替えに伴って生じる回路の過渡応答が収まるまで待つ」という
ほうが正しい
また、AVRのマルチプレクサ切り替えのタイミングは、ADMUXレジスタに書き込んだ時では
なくて、変換開始(ADSC立ち上がり認識)時だから、
・ADMUXレジスタに(新しいチャンエル番号を)書き込み
・100us 待つ
・変換開始・終了を待ってデータ取得
のようなことをしても、事態はあまり改善しないはず
「AD変換周期をカット&トライで伸ばした」っていうのが、実際にはどうやったのか分からないけど
単純に待つかわりに、変換結果を一回読み飛ばすとかしないとダメだと思う
そうすれば、マルチプレクサ切り替えからサンプルホールド開始までの時間は
10倍くらいとれるから、センサーの出力インピーダンスはデータシート推奨上限
10kΩの10倍、100kΩくらい行けると思う

125:774ワット発電中さん
18/08/28 00:56:58.13 qvWmTzW7.net
プログラミングと電子工作
どっちが楽しいですか?

126:774ワット発電中さん
18/08/28 01:05:52.00 dNdtsWUQ.net
どっちも楽しいねぇ

127:774ワット発電中さん
18/08/28 01:05:53.06 353p49y/.net
あ、長文書いたけど間違ってるな orz
・ADSC立ち上がりでチャンネル変更
・ホールドキャパシタはADSC立ち上がりから1.5クロックの時間だけ入力に接続され
 その後切り離される
・ホールドキャパシタの保持している電圧をAD変換
・変換終了した時点でホールドキャパシタは再度入力に接続っていう流れだな
 (データシートにははっきり書いてないけど)
そうだとすると、一回目のAD変換を読み飛ばすだけじゃだめで、変換終了後
delayを入れてホールドキャパシタを充放電しなきゃダメだな
まさか、変換開始から1.5クロックの時間だけしか入力に接続されないようになってるって
ことはないと思うけど、そこはデータシートからは読み取れない(と思う)

128:774ワット発電中さん
18/08/28 03:06:07.42 2bzc/SNA.net
>>123
検証したら分かるがAVRマイコンのs/hキャパシタが入力回路に繋がってる時間は1ADCクロックだけ
Arduinoで言えば125kHzだから8μ秒ね
なんで外部回路の出力インピーダンスはこの時間でs/hキャパシタを充放電出来るようになっているべき
要するに
ADSCが1なことを確認したADCクロックの立ち下がりでマルチプレクサ確定してサンプリング開始
1ADCクロック経過後にサンプリングが終了して保持に入る
データシートに
・少なくともADSCを書いてから1変換クロックはマルチプレクサは弄るべきでない
・ADC入力のナイキスト周波数はADCクロックの1/2である
ことか記されているのはこの為
データシートに保持のタイミング(ADSC認識の立ち上がりの次の立ち上がり)しか書いてないのはAtmelが悪く、不親切だと思う
URLリンク(www.avrfreaks.net)
検証方法はこの人と全く一緒(mcuをmega328でやっただけ)

129:774ワット発電中さん
18/08/28 03:23:44.21 2bzc/SNA.net
追記
なので、当然ADCを使用しない場合は内部回路の漏れ電流でしか放電されないので時間を空けたところであまり好転しない
例に挙げられているLM35のようにソース側のみ強力に稼働できるものを繋げて正確に読み取りたい場合は
一度s/hキャパシタをGNDに低インピーダンスで繋げて放電してやれば次の初回変換でも正確な値を返す
Arduinoの関数にはないがADMUXのMUXには入力ピンでなくGNDに直結する設定値が用意されてる
これを使えばピンを�


130:ウ駄にしなくてもs/hキャパシタがディスチャージ出来る GNDでADC→センサー1でADC→GNDでADC→センサー2でADC→GNDでADC→センサー3でADC→…… センサーのソース駆動インピーダンスが十分に低ければこれで正確な値を返す(シンク駆動インピーダンスは高くていい) もちろん回路全体のセンサーサンプリング周波数は半減する 多少の測定誤差が増えても平気ならAVRのADCは1MHzまで動作が保証されてるからADCクロックを高速化したらいい 200kHzまでなら誤差が最大2LSBだが1MHzでは倍の4LSBになる(データシートより) (サンプルホールド回路のサンプリング時間はさらに減るので駆動インピーダンスに注意)



131:774ワット発電中さん
18/08/28 03:47:22.35 aiN3pJsc.net
ほっといても放電されないね。変換したときしかサンプルしないから。
何かAD変換したあとフローティングのピンを測ると前と同じ値をずっと言ってくるよ。
>>120
マルチプレクサが固定されるのがADSCを拾ったときなだけで、変更自体はいつでもされてるから中段は間違いだよ。

132:774ワット発電中さん
18/08/28 08:28:10.98 TkCxZLxi.net
珍しく朝っぱらからずいぶん真面目な話してんなw

133:774ワット発電中さん
18/08/28 16:14:40.48 sWKMIruj.net
早い話、MPX切り替えた時にADC状態初期化が要る
というだけなんだがな
(一回空読みでもよい)
だから、fsがあげられるなら2倍にしてやればよい
というだけなんだがな

134:774ワット発電中さん
18/08/28 22:41:28.23 CcPCZGEk.net
空読みじゃダメって言ってるんじゃないのか

135:774ワット発電中さん
18/08/28 23:28:30.93 79KN+wHC.net
オペアンプみたいなバッファも要るということか

136:774ワット発電中さん
18/08/29 04:40:03.42 iBVYjJWb.net
どうしてホールドするとき以外は外につなぐようになってないの?

137:774ワット発電中さん
18/08/29 08:26:54.95 wgto5UtO.net
マイコンのピンはADCだけじゃないんだから他の回路の特性に影響が出るじゃん
ポートの交換機能たくさんあるだろ?目的の機能が作動する時しか繋がないよ

138:774ワット発電中さん
18/08/29 08:45:04.86 YR7axSf6.net
>>132
たぶん>>131はポートに繋がってる時間(=サンプリング時間)が短いことが言いたいワケじゃなくて
>>125の解決法みたいに自動的にGNDにディスチャージしとけば?って言いたいんじゃねーかなと思った
>>131
連続変換だと13ADclkごとにADCが掛かるわけで、2ADclk目でサンプルホールドは終わってるけど
残りの11ADclkはホールドした電荷をAD変換に使っているわけだからホールドしてなきゃ意味ない時間だろ
そして質問者>>105の使い方は13ADclk毎にずっとAD変換させてるわけで「サンプリング中」と「ホールド中」以外の時間はほぼ無いじゃん?
質問者のように出来るだけ高速でセンサー連続監視する使い方じゃなく、必要なときだけAD変換すればいいなら
使い終わった後ADENを0に(AD変換をオフに)すれば次回起動時にはちゃんとディスチャージされてるよ(>>128が書いてる解決法ね)
連続変換でこの手を使うと毎回初回変換扱いになるから12ADclk伸びて25ADclkの変換時間がかかる事になるから
>>125の1回GNDを測るのとAD変換のサンプリング周波数はほぼ同じようなもんになっちゃうけどね

139:774ワット発電中さん
18/08/30 19:56:12.86 EFoXrqxN.net
111から後、すっごいためになった
こういう情報もらえるのがArduino(AVR?)のいいところだね
マイナーなマイコンだとこうはいかない
まあ、LM35DZ使う場合に限ってだと、1k抵抗通して0.1uFくらいのコンデンサ入れて
おくだけでいいかも

140:774ワット発電中さん
18/08/31 16:27:30.97 LYeKJqDa.net
秋月の pro mini 互換で動いてたけど
壊してしまった。 電気的な壊れではなく 踏んづけて・・・
また 買ってきたのだが 書き込みがうまくできない
なんでだろ・・

141:774ワット発電中さん
18/08/31 16:48:42.93 bDioAJyC.net
>>135
pro mini は書き込み時のリセットのタイミングがシビアな個体があった気がする。手でリセットボタンをタイミングよく押すか、USBシリアルのどこかににコンデンサ挟むとか、検索すると色々出てくるよ。

142:774ワット発電中さん
18/08/31 17:00:25.93 LYeKJqDa.net
有難う エラーはこんな感じ
avrdude: stk500_recv(): programmer is not responding
.
.
.
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

143:774ワット発電中さん
18/08/31 19:13:35.06 dzIN1Au0.net
>>137
書き込み装置は何?

144:774ワット発電中さん
18/08/31 19:35:48.86 LYeKJqDa.net
>>138
秋月のUSB 経由 
設定はAVRISP かAVR ISP MKII 

145:774ワット発電中さん
18/08/31 19:49:55.39 Ap4oSnfy.net
パスコンが足りないとか?

146:774ワット発電中さん
18/08/31 19:57:22.68 dzIN1Au0.net
>>139
う~ん、わかんねw がんばってw
一応書いとくわ
①USBケーブルをチェック、交換してみる(意外とこのトラブルが多かったりする)
②PCが書き込み装置を認識しているか、デバイスマネージャで確認する
>>136の方法で、ArduinoIDEのログ画面を見ながら、書き込む瞬間にタイミング良くリセットボタンを押す
④ブートローダが書き込まれてない?

147:774ワット発電中さん
18/08/31 20:12:58.65 LYeKJqDa.net
ケーブル ,USB I/F, pro mini  全て新品同一品
(PCより外側全部 交換)
usb デバイス認識 OK
シリアルloop back テスト OK



ブートローダは書き込み済みのはず

148:774ワット発電中さん
18/08/31 20:17:17.49 dzIN1Au0.net
踏ん付けちゃったのが正常に書き込み出来てたんなら
初期不良かなー

149:774ワット発電中さん
18/08/31 21:40:32.94 LYeKJqDa.net
残るはarduino IDE・・・・・

150:774ワット発電中さん
18/08/31 22:06:07.30 bDioAJyC.net
とりあえずもう一枚pro miniを買ってきて、環境の問題かボードの問題か切り分ける。
ただ、俺は同じようにpro miniでリセットでハマったことがあるのでそれ以後はほぼpro microを使ってる。

151:774ワット発電中さん
18/08/31 22:26:44.22 bDioAJyC.net
URLリンク(memoteki.net)
コンデンサ挟む云々の情報はこれ。

152:774ワット発電中さん
18/08/31 23:08:23.75 LYeKJqDa.net
コンデンサーやってみますわ
 

153:774ワット発電中さん
18/09/01 21:05:04.43 JYSndVAB.net
動作しました
リセット回路 0.1u 電源 10u 入れて何回かトライしたら
動作したので ためしにはずしてみたら 動作してる

んーー原因がはっきりしない
昨日の猛暑ではまるっきりだったのに
(ノートPCはエラーがでてwifi 環境の不動作がたびたび発生してた)
ピンに負担がかからないようツイストケーブル20cm位いれても 問題ないし

154:774ワット発電中さん
18/09/01 21:12:54.42 FgPACo7t.net
>>148
よかったね。俺の場合は、あるpro mini個体が元々問題なく書き込み出来てたのに、ある日突然書き込み出来なくなった。
でリセットボタンをタイミングよく押せば書き込み出来たけど、いちいち面倒なのでそれ以降pro microに変えた。aitendoでpro mocroは700円、pro miniは650円。

155:774ワット発電中さん
18/09/01 23:31:59.54 JYSndVAB.net
回路図見たらreset 端子- gnd 間にコンデンサが入ってないんだね・・

156:774ワット発電中さん
18/09/02 21:53:59.25 hp57q4DN.net
Arduino IDEアップデートのメッセ


157:ージ出るけど ボードもIDEもエラーでアップデートできてないみたいなんだけど なんかやり方がある?



158:774ワット発電中さん
18/09/02 22:04:58.16 /YnLxOhK.net
>>151
エラーの内容くらい書けよ・・・

159:774ワット発電中さん
18/09/02 22:09:25.37 2XGpzPkj.net
v1.8.6 キタ━━(゚∀゚)━━!!

160:774ワット発電中さん
18/09/02 22:13:31.61 2XGpzPkj.net
ARDUINO 1.8.6 2018.08.23
[ide]
* arduino-builderを1.4.0に更新しました:
- 並列ビルド(コンパイル速度を向上させる)
- すでにコンパイルされたファイルの再利用
- Windows:OneDriveクラウドフォルダの下に保存されたスケッチの固定ビルド
*ライブラリタイプの翻訳が追加されました。ありがとう@ReAlUA
*プログラマーメニューにスクロール機能を追加。
*スクロール可能なメニューに「アクセラレータ」が追加され、スクロール中に「a」キーが押された
* "ボードマネージャー"メニュー項目は常にメニューの最初のものにしておきます
* "Manage Libraries"は "Tools"メニューにもあります。ありがとう@feikname
*コンパイラエラーは列と行の両方を持つようになりました
*シリアルモニタはどのように "タイムスタンプを表示"オプションを持っています。ありがとう@MichalSy
* Linuxでの高解像度モニタのDPI検出の改善
*検索/置換テキストフィールドにコピー/ペーストコンテキストメニューを追加
いくつかの仮想/接続されていないネットワークインターフェイスが存在する場合、長いIDE起動時間を修正
* Windows上でファイルを保存する際の一貫性のない行末の問題を修正
* mdns:到達可能性ではなくボードをTTLで消滅させる。ありがとう@kurtgo
*ライブラリマネージャ:マウスクリックの代わりにマウスをオンホバーでインストール/削除ボタンを表示
*ボードマネージャー:インデックスが壊れているというまれなケースを修正
* Windows:コマンドラインからIDEを実行しているときにデバッグ出力を一部削除しました
*選択可能なユーザー定義のテーマをサポートします。ユーザーのテーマは、スケッチブックの「テーマ」フォルダ内のzipファイルです。
* Library Manager:library.properties内のライブラリによって宣言されたヘッダー(.h)もライブラリ検索で検索されるようになりました
* "--version"をCLIに追加しました。ありがとう@yohsuke
*プロッタが開くことができない場合、固定シリアル・モニタ/モニタが永久に無効になる
*「名前を付けて保存」で時々更新されない固定ウィンドウタイトル。ありがとう@JxJxJxMxNxS
*増加/減少フォントサイズの固定キーバインディング
* Preferencesダイアログのアクセシビリティを改善しました。ありがとう@coreyknapp
[コア]
* AVR:NanoのデフォルトブートローダーとしてOptibootを設定します。これは新しくインストールされたブートローダーです
Arduinoナノボード。古いブートローダを持つNanoをお持ちの場合は、選択する必要があります
Tools> Processor> ATmega328P(Old Bootloader)をクリックしてアップロードします。
* AVRコアは、独自のリポジトリに移動しました:URLリンク(github.com)
* gcc 5.4.0にアップデートされたtoolchain
[wifi101-firmware]
*セキュリティ修正:WPA2 KRACKの脆弱性(最新のWINC15


161:00ファームウェア19.5.2)の修正をリリースしました。



162:774ワット発電中さん
18/09/02 23:23:47.89 7pJbqeuf.net
>>150
arduino ide用だから
コンデンサつけると書き込みエラーになると思う
atmelのプログラマー使うのであればあってもよい
秋月のボードにはそれを切り離す端子がある

163:774ワット発電中さん
18/09/03 00:31:00.38 a5kQ82Ed.net
i2c のプルアップ、電源だけ切り離せるようになってるだが・・

164:774ワット発電中さん
18/09/03 18:39:30.48 wW5kbnzs.net
delayとか要らなくてもタイマー0の溢れ割り込みは使えないんですか?
定義するとエラーになります。millisとか纏めて使用不能になってもいいので使う方法ありますか?
比較A割り込みと比較B割り込みはPWMに使っているので使えません

165:774ワット発電中さん
18/09/03 19:07:12.21 Y4+Sl2oa.net
>>157
AVRとしては可能だけど、ライブラリがないんじゃないかな
エラーになるって、具体的にどういうふうに書いてるの?

166:774ワット発電中さん
18/09/03 19:12:10.59 QQ5i6Bze.net
>>157
ここにスケッチ貼ってリンク張って
URLリンク(codepad.org)
あとArduinoの型番と開発環境も

167:774ワット発電中さん
18/09/03 19:22:28.93 yDYlzdpv.net
>>157
タイマー1と2は使用済って事かい

168:774ワット発電中さん
18/09/03 19:22:49.86 wW5kbnzs.net
URLリンク(codepad.org)
これでいいんでしょうか?ボードはUnoでIDEのバージョンは1.6.11です
スケッチが悪いのかと思って最少構成にしてみたのですが以下のエラーがでます
比較A割り込みを使えばちゃんとうごきます
wiring.c.o (symbol from plugin): In function __vector_16':
(.text+0x0): multiple definition of__vector_16'
E:\Users\Master\AppData\Local\Temp\builda7b0dfd25be122d472f8da494ec6c0a5.tmp\sketch\Blink.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
ボードArduino/Genuino Unoに対するコンパイル時にエラーが発生しました。

169:774ワット発電中さん
18/09/03 19:26:34.24 wW5kbnzs.net
>>160
タイマー2はライブラリがあって速度が変えられるので別なことに使いたいです
タイマー1はサーボを使うと確か使っちゃいけないんですよね?

170:774ワット発電中さん
18/09/03 19:45:09.95 yDYlzdpv.net
hardware/arduino/avr/cores/arduino/wiring.c
の中でシステムの
ISR(TIM0_OVF_vect)
が既に有って二重定義に成る訳で
これを変更したとしてどうやって実際のビルドに反映させるのか知らないので
別の方宜しく

171:774ワット発電中さん
18/09/03 20:13:12.41 Y4+Sl2oa.net
TimerOneライブラリの、attachInterrupt() のようにすればいいんじゃ?
ソースの場所が分からんけど ^^;

172:774ワット発電中さん
18/09/03 23:30:16.44 Y4+Sl2oa.net
あ、164はダメだな orz. TimerOne.cppの中で
ISR(TIMER1_OVF_vect){ Timer1.isrCallback();}って定義して
isrCallbackを後からattachInterrupt()で書き換えるってやり方だけど
ISR(TIMER0_OVF_vect) のほうは、すでに定義されてるから同じやり方できない、ってことだものな
安易に問題回避するなら hardware/arduino/avr/cores/arduino/wiring.c を書き換える?

173:774ワット発電中さん
18/09/03 23:51:03.44 wW5kbnzs.net
自分で定義を書いてもdelayとかの定義が上書きされるわけじゃなくてただエラーになるだけみたいなので
IDEのなかのファイルを書き換えるのは怖いし、ぜったい戻し忘れて他のスケッチがおかしくなりそうです
今回のプログラムではD6ピンのPWMは25~230までしか指定しないから常にPWM信号がでていたので
D2ピンに繋げていた部品をA3ピンに移してA3ピンをD17ピンとして使って、D2ピンを空けてあげて
INPUTにしたD2ピンにD6のPWM信号ををつなげて外部割込み【RISINGを指定】の所にやりたかった内容を書いたら
タイマー0が0になるたびD6がHIGHになって外部割込みがちゃんと起動したので
結果的にTIMER0_OVF_vectと同じ挙動になりました ありがとうございました

174:774ワット発電中さん
18/09/04 01:59:34.70 BNoNwdJU.net
>>166
今回の話とは関係ないけれど
前々スレ スレリンク(denki板) の55前後の話を
読んどくといいよ
アップされてたコードには、同じような(ありがちな)ミスがあったようだから

175:774ワット発電中さん
18/09/04 02:14:19.76 BNoNwdJU.net
あと、ちゃんと理解できてないんだけど、166のは比較A割り込みを使うのと
どう違うの?(動けばいいわけだから、別に非難してるとかじゃないです)

176:774ワット発電中さん
18/09/04 09:26:23.56 sYZx3o2Z.net
>>168
Arduinoの高速PWMはカウンタが0になるとHIGH、カウンタがOCR0nと一致でLOWが出るようになってるわけ。
その仕組みで>>166のように25~230をOCR0nに設定するならだいたい10%~90%のduty比の信号が出力される。
比較割り込みはOCR0nと一致時に割り込むわけだから、ループ中にPWMのduty比が変更されるとそこだけ割込み周期がおかしくなる。
たとえばさっき230までに設定されてて次に25が設定されたとすると、(高速PWMモードのOCR0nは二重緩衝されるのでBOTTOM(=カウンタ0)で更新される)
230になるとそこで割込みが発生、255の次で0に戻った時に25に更新され、次の割り込みは25で起きるからこの時だけ51タイマカウントしか間が空かない。
逆に、25だったのが230に更新されると、25(割込み)→255→0→230(割込み)になるから461タイマカウント経過しないと割込みが発生しないことになる。
1行目の通りPWMのポジティブエッジは必ずカウンタが0に戻った所にあるから、それをキャプチャすればかならず256タイマカウントで割込みが起きる。
それなら、溢れ割込みと同じタイミングと言えるし、かつPWMのduty比を変更したところで周期のブレを受けない。(PWMを止めたら割り込み発生しなくなるが)
なのでPWMを使ってるのに比較割り込みを使うと「動けばいい」にすら到達しない。ちゃんと動かない。
コレを見ろ。
URLリンク(i.imgur.com)
スケッチ。
URLリンク(paste.ofcode.org)

177:774ワット発電中さん
18/09/04 09:29:58.27 sYZx3o2Z.net
悪い、右のアノテーションの3段目(一番下)のラベルは OCR0B = 25 の間違い。1つ上からコピーして変え忘れた。

178:774ワット発電中さん
18/09/04 09:45:21.31 LmP/BJkc.net
なにこの高そうなオシロっぽいやつ

179:774ワット発電中さん
18/09/04 12:14:25.17 sYZx3o2Z.net
ロジアナでぐぐれ。オシロとはちと違う。
オシロがアナログ信号向けとしたらロジアナはデジタル信号向け。
(アナログ測れるチャンネルもあるけど)

180:774ワット発電中さん
18/09/04 13:02:34.15 E1qp5KTG.net
知ってるけど。

181:774ワット発電中さん
18/09/04 13:57:37.62 BEgM+8Cg.net
知りたかったのは、なんというロジアナか、なのかな。そう聞けばいいのに。
URLリンク(www.saleae.com)

182:774ワット発電中さん
18/09/04 14:26:29.42 sYZx3o2Z.net
ID的に別人では?

183:774ワット発電中さん
18/09/04 15:38:57.73 aQEgfYiw.net
pin数の少ないATtinyで一つのpinに複数の機能が割当てられてる時
対象pinの使いたい機能はどのように選択するのでしょうか

184:774ワット発電中さん
18/09/04 15:55:45.74 sYZx3o2Z.net
それもうAVRの質問では?
別にmega328Pだって1つのピンにいろんな機能があるぞ。それと同じ。

185:774ワット発電中さん
18/09/04 16:15:18.24 JuL0ehPc.net
>>174
それいいな。
中華400円ロジアナで使えたわ。

186:774ワット発電中さん
18/09/04 16:16:29.90 JuL0ehPc.net
>>176
スレリンク(denki板)

187:774ワット発電中さん
18/09/04 17:01:20.56 LmP/BJkc.net
ロジアナって何に使うの? 通信とpmw?

188:774ワット発電中さん
18/09/04 17:19:02.90 PZa4CJvu.net
>>178
Saleaeは海賊版で使うなと怒ってるからなぁ
中華クローンのVIDとPIDがSaleaeのやつ勝手に使ってんだよね…
アップデートでアクティベーション式にするというアナウンスも前にあったが…
sigrokからpulseView落としてそっちにしときな

189:774ワット発電中さん
18/09/04 18:12:04.04 JuL0ehPc.net
>>181
もちろん、もう前からずっとpulseViewを使ってますよ。

190:774ワット発電中さん
18/09/04 18:19:00.07 I5SSKhDh.net
arduinoに指定した回数のパルスを発生させる関数て無かったっけ?
あれでも>>169の様な問題出るのかなとぐぐってみたら関数自体が全然見当たらなかった
何かのライブラリだったのかな

191:774ワット発電中さん
18/09/04 18:19:10.84 PZa4CJvu.net
そりゃすまん悪気はないんだ
pulseViewも使いやすいしな
ID盗用してるせいで挿すとSaleae Logicて認識されるけどw
激安シリーズでアナログ1chも追加でついてるやつもあったんけど今は出てないのかな

192:774ワット発電中さん
18/09/04 18:21:00.84 PZa4CJvu.net
>>183
パルスとはちょっと違うがshiftOutのこと?
あれってどのピンても使えるしソフトウェア実装では

193:774ワット発電中さん
18/09/04 18:40:16.98 I5SSKhDh.net
>>185
方向+ステップ数のステッピングモータードライバでステップ数をPWMで
済ませてる様なのを見た記憶があったんだけど、多分ソフト実装だったんだね

194:774ワット発電中さん
18/09/04 19:22:31.36 PZa4CJvu.net
ああ俺が言いたかったソフトウェア実装ってマイコンのタイマーとかSPI用シフトレジスタとかそういう機能を使ってるわけじゃないってこと
標準のI/Oだけで実現してるものをソフトウェアなんとかって言う
たとえばUnoのSerialはハードウェア実装でマイコンのUSART部がやってくれるから通信中はCPUはあるはそこそこほかのことやれる(代わりにピンは決まってる)
ライブラリSoftSerialは全部ソフトウェアでやってるのでどのピンにも出来るが全部CPUが頑張って通信してるのでほかの事があんまりやれない

195:774ワット発電中さん
18/09/04 20:11:28.03 Fg2EDNY4.net
400円でロジアナ買えるの?早速調べてこなくちゃ・・・・・

196:774ワット発電中さん
18/09/04 20:35:20.96 LmP/BJkc.net
>>188
何に使うの?

197:774ワット発電中さん
18/09/04 20:36:25.62 Rg0pLUYV.net
>>188
400円じゃ無理かな。
つい最近買ったのは送料込み459円だったけど。

198:774ワット発電中さん
18/09/04 20:49:19.31 Rg0pLUYV.net
>>189
マジレスする。
例えばこれはI2Cの通信を見て、送ってるコードをチェックしてみたところ。
URLリンク(i.imgur.com)
>>174のリンク先のソフトと中華ロジアナを使ってる。
459円のじゃなくて1000円くらいのだけどね。
ちゃんとデータが送られてるか、いろんなプロトコルを解析してくれるよ。

199:774ワット発電中さん
18/09/05 00:46:06.35 7UIBO/8o.net
俺みたいなアマチュア初心者には普通に繋げばちゃんと動くじゃんって思うから分からんがプロだと波形をみたいことがあるんだね。

200:774ワット発電中さん
18/09/05 00:57:45.90 A+0JDkSm.net
波形って言うとちょっと語弊があるけど…。
まあ、Arduinoやってる分にはあまり必要無いかなあ。
Bit-BangでI2Cを実装するとかなら、どうかいなと見てみないと効率悪い。

201:774ワット発電中さん
18/09/05 01:06:40.82 7UIBO/8o.net
語弊があるのは俺にでもわかる
伝わればいい
bitbangが云々
やっぱりコアな人にしか必要にならないぽいね、デジアナ

202:774ワット発電中さん
18/09/05 01:07


203::07.11 ID:7UIBO/8o.net



204:774ワット発電中さん
18/09/05 01:18:40.04 A+0JDkSm.net
>>194
ほう、どういう語弊があるの?
分かるなら説明してみ。

205:774ワット発電中さん
18/09/05 01:21:02.86 7UIBO/8o.net
波形っていうと電圧の生波形を連想するんだろ?
しきい値で0と1にデコード?してるからもはや波形とは言えない?的な。

206:774ワット発電中さん
18/09/05 03:15:04.56 7f9I/1yG.net
>>192
実際そうだと思うよ、必要になったら買うのだ
例えばさ、慣れてきてどんどん処理を追加していくと
あれ?プログラムはちゃんと書いたしピンの繋ぎもあってるのに通信がうまくいってないぞ?なんで!ってなるときがいつか来るのよ
上で出てる割り込みのせいかもしれないし、何か追加した処理に使ったライブラリが悪さをしてるのかもしれないし
他の回路に引いた電流で電圧がドロップして回路がおかしくなってるかもしれないし・・・etc
だけどそれってスケッチだけでデバッグするにはめちゃくちゃ大変なのよ、そりゃ頑張れば出来なくはないけれど
どこで、どうして、通信が上手く行かないのか分かると原因究明や対策がしやすいでしょ?
そこでロジアナで実際にどういう信号が出てて、想定したものとどう違うのか見れたら嬉しいだろ?
「電池に豆電球を繋いだのに光らない、部品の公称電圧と接続はあってるのに」
これくらいなら「豆電球が切れてる・電池がない・リード線が断線してる」くらいだから総当たりで部品取り換えたら原因究明できるけど
テスターがあれば、まずどこが悪いのか調べられるじゃん?
それの派生みたいなもんよ
上の豆電球みたいに試していくのがめちゃ大変なら、ロジアナがあればまずどこがダメなのか調べたら楽になる
ちゃんと作ったハズなのに動かない、そうなったとき欲しくなるワケ
あと>>169が解説にオマケではっつけてあるやつも
これくらいなら言葉で書いてあればわかるけれど
実際に波形見た方が分かりやすいだろうと思って撮ってくれたんでしょ、たぶん

207:774ワット発電中さん
18/09/05 08:30:19.84 hluUZqm5.net
自分も厳密にやってないけど、部品点数が増えたり
クロックが上がったりでタイミングが難しくなったとき
ロジアナの出番がある認識

208:774ワット発電中さん
18/09/05 10:31:00.57 xzOahNub.net
なんとまた自明で無駄な議論だこと

209:774ワット発電中さん
18/09/05 12:54:10.83 2UfMH6MK.net
千円くらいで買えるようになると、Arduino ボード・IDEと一体になってて
ワンタッチで「D2,D3の波形を表示」みたいなことできるようにならんかな?

210:774ワット発電中さん
18/09/05 14:06:29.74 hluUZqm5.net
Adafruit trinketかわいい(*´▽`*)

211:774ワット発電中さん
18/09/05 14:12:39.55 PfYJQLf4.net
>>201
すでに1000円で買えるわけだが
一体とかワンタッチとかになってなきゃいかんの?
ちょっと言ってることのニュアンスがつかめない。

212:774ワット発電中さん
18/09/05 14:35:54.56 2UfMH6MK.net
信号見たいって思ったときに、ロジアナ探してきてUSBつないで
Arduinoの見たいピンとGNDつないで、ロジアナソフトでCH1はD2でCH2はD3とか
設定するのが面倒

213:774ワット発電中さん
18/09/05 14:58:08.64 T4mGVnPn.net
>>204
それは、ロジアナ持ってる人は誰でもやってることだから、みんな知ってるんだ。
「ワンタッチで」の方のシステムはどんななのか教えてほしいのさ。

214:774ワット発電中さん
18/09/05 15:24:14.26 +CMvUPQ0.net
横からだけど足の長いピンソケットがついたシールドになってて
ArduinoとシールドでそれをサンドイッチするとArduinoの信号が全部出るみたいな?
でもUSB2本出るね

215:774ワット発電中さん
18/09/05 16:40:18.04 xzOahNub.net
基板で中間に入るjigつくればいいじゃん
ロジアナへのアダプタ
ワンタッチで接続できる
でもロジアナのポート数が�


216:ォりないか N->8本に選択がメンドウだな



217:774ワット発電中さん
18/09/05 16:45:27.43 PriDlY3T.net
要らん。

218:774ワット発電中さん
18/09/05 17:51:49.81 T4mGVnPn.net
Arduinoから始めた人は何でもシールドでなきゃあかんのかねえ。
ブレッドボード派なので、ロジアナからジャンパー線が生やしっぱなしになってて、
使うとき挿すだけなんだが…。
URLリンク(i.imgur.com)

219:774ワット発電中さん
18/09/05 18:04:47.45 Hh3vGPG3.net
先っぽがICピン用の極細クリップになってるやつ派

220:774ワット発電中さん
18/09/06 01:02:03.30 CsSgDNzI.net
DCモーターの制御とプログラムの作例が掲載されてる参考書を教えて下さい

221:774ワット発電中さん
18/09/06 15:27:16.73 LZuu7ycM.net
>>211
「arduino 倒立振子」でググレ

222:774ワット発電中さん
18/09/06 18:02:48.56 f1WQFHOz.net
質問です。
エスパーが少し高いのですが、
エスパーの互換機はありますか?

223:774ワット発電中さん
18/09/06 18:18:08.87 i9wCAcu4.net
質問です。
arduino同士の赤外線通信をしようと思っているのですが、送信側の赤外線LEDを物理的に上下させないと送信できないのですが、これはLEDが悪いのでしょうか。
URLリンク(imgur.com) 回路です。
プログラムはIRremoteのサンプルプログラムを使いました。市販のリモコンでうまくいったので受信側には問題ないと思います。
よろしくお願いいたします。

224:774ワット発電中さん
18/09/06 18:25:20.37 LZuu7ycM.net
>>213
ebayで売ってる500円くらい
X-8266 ESP-WROOM-02で検索
よく探せば郵政マークがついてる
ファームは自分で書く

225:774ワット発電中さん
18/09/06 18:26:09.38 UCTnwzWO.net
上げるなら回路図 

226:774ワット発電中さん
18/09/06 18:27:03.51 LZuu7ycM.net
>>214
>物理的に上下
意味不明。接触不良か?

227:774ワット発電中さん
18/09/06 18:36:17.38 DPURbXCp.net
前々関係無いけどArduinoの電解コンデンサカッコいいよね

228:774ワット発電中さん
18/09/06 18:47:57.57 dwosZYkw.net
>>215
ご回答ありがとうございます。
eBayで最近よく購入してるんで、
見てみます!

229:774ワット発電中さん
18/09/06 19:18:41.30 i9wCAcu4.net
>>216-217
fritzingがうまく起動できなかったので手書きで失礼します
URLリンク(imgur.com)
新しいブレッドボードなので接触不良はないの思います。

230:774ワット発電中さん
18/09/06 19:30:35.51 XwYqYsRk.net
赤外LED付けっぱでなんのデータを送るつもりなのか

231:774ワット発電中さん
18/09/06 19:38:19.11 i9wCAcu4.net
>>216-217
URLリンク(imgur.com)
>>221
送信側は動かさないで受信側が常に動いていていつ通信できるか分からないので、常に送信し続けています

232:774ワット発電中さん
18/09/06 19:49:57.43 ls78UOE5.net
意味がわからんが赤外線通信って赤外線を高速でオンオフしてデータストリームを送るもので
その繋ぎ方だと赤外線LEDがずっと付きっぱなしでただ光ってるだけでなにも送信してないぞ

233:774ワット発電中さん
18/09/06 19:54:45.86 XwYqYsRk.net
送信赤外線は黒線の波形で受信側は赤線で検出される
詳しくはググれば解ると思う
URLリンク(o.8ch.net)

234:774ワット発電中さん
18/09/06 20:02:17.20 4yz6bJ6C.net
>>ID:i9wCAcu4
受信素子の型番は?
その回路では赤外線LEDはただ点灯しっぱなしになってるだけでデータは送れない。
リモコン用の受信素子なら38kHzの搬送周期での点滅が必要だよ。
ちょっと調べてみるか、何か参考にしないと無理じゃない?

235:774ワット発電中さん
18/09/06 20:0


236:5:20.92 ID:i9wCAcu4.net



237:774ワット発電中さん
18/09/06 20:53:35.10 J67Jpk/5.net
はー 釣りかよ
どうやって意味のある信号をやり取りするのか考えてないんか

238:774ワット発電中さん
18/09/06 20:59:31.49 i9wCAcu4.net
>>227
通信するデータの内容はまったく意味のないもので、通信したという記録が受信側に残ればいい程度です。
具体的には、送信側が3つあって、それぞれ赤外線では通信できない距離離れていて、受信側は送信側の近くを通過したら通信して、通過したという記録が欲しいのです。

239:774ワット発電中さん
18/09/06 21:07:22.62 J67Jpk/5.net
「通過した」っていう意味のある通信が必要なんだろ?
IRリモコンの解説とかよく読め

240:774ワット発電中さん
18/09/06 21:15:47.87 +1o6MFTN.net
>>ID:i9wCAcu4
赤外線通信というよりは赤外線検知だな。
で、受信素子の型番は?
なぜお前は聞かれたことにすぐ答えない、馬鹿なのか、釣りなのか?

241:774ワット発電中さん
18/09/06 21:18:03.55 J67Jpk/5.net
ただ光が当たったかどうかだけで済まそうというなら、外光遮断がとても面倒、というかできない
だからわざわざ変調掛ける

242:774ワット発電中さん
18/09/06 21:30:43.24 i9wCAcu4.net
>>230
赤外線リモコン受信モジュール SPS-442-1(38kHz) です

243:774ワット発電中さん
18/09/06 21:44:16.67 BJJzfxKF.net
>>231
屋外に出したら誤動作しまくりですね
リモコンを受信できたっていうのは単に赤外線を検知できたってだけなのかな

244:774ワット発電中さん
18/09/06 22:47:02.85 P6Wr4O1Q.net
>>232
そうか、やっとスタート・ラインだな。
で、ここまでの皆さんのアドバイスと、
自分で調べたりデータ・シートを読んだりした結果を総合して、
まだ何か質問があるの?

245:774ワット発電中さん
18/09/06 22:58:19.21 2vhnMS+i.net
firmataライブラリで困ってます。standardfirmatライブラリを呼び出してそのまま検証ボタンを押すと、自宅pcではそのままコンパイルできるのに別の環境のPCではなぜかコンパイルできません。i2c pinとかエラーメッセージが出るのですがどうしてだと思いますか?

246:774ワット発電中さん
18/09/06 23:28:06.36 GwnMTLDN.net
インストールしてあるバージョンと
環境変数をチェックした?

247:774ワット発電中さん
18/09/06 23:29:17.99 P6Wr4O1Q.net
>>235
質問するのにエラー・メッセージも書かない馬鹿が設定したPCだから。

248:774ワット発電中さん
18/09/06 23:37:56.32 i9wCAcu4.net
>>234
ピンについての理解が及んでいないのが原因でした。
通信はできたのですが、送信器受信器をずらすと、変な値を受け取ってしまうのですが、
これは送信側の赤外線LEDを増やしたりすれば解決するのでしょうか
Decoded NEC: 17623F (32 bits)
Raw (68): 30280 9100 -4400 650 ....
17623F
Decoded NEC: 17623F (32 bits)
Raw (68): 30330 9100 -4400 ...
F5EAEE7F
Unknown encoding: F5EAEE7F (32 bits)
Raw (8): 30080 1350 -150 3300 -200 600 -500 1200
といった感じです

249:774ワット発電中さん
18/09/06 23:47:35.90 xTHV3qM7.net
>>238
赤外線LEDは何使ってるの?
指向性が高いのはビームの広がり角度が狭くなって
ちょっとでもズレると受信しなかったりするけど

250:774ワット発電中さん
18/09/06 23:51:02.93 i9wCAcu4.net
>>239
5mm赤外線LED 940nm OSI5LA5113A グレー
URLリンク(akizukidenshi.com)
です。安かったので買いました

251:774ワット発電中さん
18/09/07 00:00:30.01 53wJGclm.net
>>240
あ、それ持ってるw 
エアコンのリモコンで使ったわ。
3mぐらい離れたら真っ直ぐに向けないと効かなかったか�


252:轣A LEDを2個付けて角度を微妙にずらしたら、効きやすくなった。 あとトランジスタ・FETを使って電流を上げたら距離が伸びた。 俺の知識ではこれぐらいしか言えないから、 上級者の人どうぞ↓



253:774ワット発電中さん
18/09/07 00:10:59.02 53wJGclm.net
あ、あとArduinoのピンって20mAぐらいしか流せないから
Tr・FETを介して500mAぐらい流せば良いかも!
この人は市販のリモコンは1Aぐらい流れてるって言ってるけど!
URLリンク(vintagechips.wordpress.com)

254:774ワット発電中さん
18/09/07 00:18:11.21 lw1SVlfS.net
>>241-242
ありがとうございます 参考にします

255:774ワット発電中さん
18/09/07 01:03:43.87 hZXexA7v.net
>>238
とりあえず、距離とか位置関係が分からないと何とも言えないなあ。
あとは、他の人も書いてる通り、信号を増幅するとか、指向性を考慮するとか、
究極は送受信の素子を増やすとか…。
でも、素子を増やすのはちょっと大変。
あと、そのデータはどういうスケッチ?
NECってのはNEC方式のリモコン信号ってことだと思うけど。
通過したことが分かればいいだけじゃなかったの?
ちゃんと通信するなら複数回連続で送信してエラー補正とかするんだと思うけど、スケッチはどうなってる?

256:774ワット発電中さん
18/09/07 12:32:33.54 MD5it+j+.net
1アンペアも流れてるの?ヤバすぎ

257:774ワット発電中さん
18/09/07 12:33:11.12 MD5it+j+.net
だからあんな離れててもジュコウできるのか

258:774ワット発電中さん
18/09/07 13:07:16.75 /f43WY/J.net
瞬間的だろうけどね
安いLEDで実験してみるか

259:774ワット発電中さん
18/09/07 18:17:40.88 +vtve7bL.net
物によるみたいだね
リモコン用のはたいていDCで100mA、パルスで1Aになってるけど照明用?(暗視用?)と思われるやつはDCで20mA、パルスでも100mAっていうのもあるからね
データシートで確認しないとわからないってことかな

260:774ワット発電中さん
18/09/07 19:23:38.96 JG/2Z73+.net
>>244
どこのセンサーを通過したかわかるように個別番号的に値を送信してみました。
通信方式はわかっていないので、サンプルにあったのを使ってます。
エラー補正は難しそうなので、3回受け取って同じ値ならOKみたいにしようと思います。

#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {

irsend.sendNEC(0xAAA23f1, 32);
delay(100);
}

261:774ワット発電中さん
18/09/07 19:29:28.87 JG/2Z73+.net
>>249
2chだと行が長すぎると怒られたので...で省略しました
わかりにくくてごめんなさい

262:774ワット発電中さん
18/09/07 20:55:29.94 MM4CotBb.net
>>250
ええと、移動してるんじゃなかった?
位置関係の話は?
動いてると角度がずれて認識しなくて当然だと思う。
家電のリモコンもちょっとずれたらダメでしょう?

263:774ワット発電中さん
18/09/07 21:18:08.31 JG/2Z73+.net
>>251
距離は50cm程度 位置関係はなるべくLEDと受信機がまっすぐになるようにしてますが、
30度ぐらいずれると変な値を拾います

264:774ワット発電中さん
18/09/07 21:34:04.48 MM4CotBb.net
両方動いてんの?
絵で描いてみ。
あと、受信部のセンサーによっては、あまり連続して入光すると、
一定時間受け付けないようになってるのもあるよ。
どんなスケッチにってるか知らんけど。

265:774ワット発電中さん
18/09/07 21:39:57.34 QTiCIE2g.net
もともと何の装置を作ってるのか気になるよね
物体移動検知に他のセンサーを使ったほうが良いこともあるし

266:774ワット発電中さん
18/09/07 22:10:59.75 JG/2Z73+.net
>>253-254
両方とも動いてます
URLリンク(imgur.com)

267:774ワット発電中さん
18/09/07 22:24:58.40 QTiCIE2g.net
300メートルってなんすかw?
工場のラインでもなさそうだしwww

268:774ワット発電中さん
18/09/07 22:32:25.44 dTZwzeCQ.net
>>255
RもSも指向性と距離に限度があって、その扇形の範囲が重なったときにしか検知しない。
それだけのこと。
あとはあなたがどういう位置関係を検知したいかによる。

269:774ワット発電中さん
18/09/07 22:34:32.29 QTiCIE2g.net
農園かなにかかな?

270:774ワット発電中さん
18/09/07 22:35:11.42 JG/2Z73+.net
>>256
地点A,B,C,,,を通過したかの情報が欲しいのです。
以前に、赤外線だと太陽光が影響すると指摘されたのですが、通信距離が50cm程度のため問題ないと考えてます。
ただ、通過速度が時速10kmと早いためちゃんとした値を受信できるかが心配です

271:774ワット発電中さん
18/09/07 22:36:17.81 H5eIBNXX.net
>>259
距離関係なく問題です
野外では使えません

272:774ワット発電中さん
18/09/07 22:44:20.83 dTZwzeCQ.net
>>259
野外でしかも時速10kmで動く?
壮大な後出し来たねえ。
ま、がんばってよ。

273:774ワット発電中さん
18/09/07 22:45:38.55 JG/2Z73+.net
>>260
そうですか、、また最初から考えないといけないのですね。
安くて屋外で使えて 送信機と受信機が時速10kmですれ違う環境下でも使える無線通信ってありませんか?
通信距離は0~100cmです。それ以上あると地点A,B,C,,,から離れた場所で検知してしまうため使えません
よろしくお願いいたします。

274:774ワット発電中さん
18/09/07 22:55:01.77 +LDsYaEW.net
先に全容を出さんともう誰も相談に乗らんと思う。

275:774ワット発電中さん
18/09/07 23:00:54.47 e12QuDCn.net
それならRFIDタグが使えそうな気がするが、やりたいことをちゃんと教えてくれんことには、アドバイスのしようがないわ。

276:774ワット発電中さん
18/09/07 23:37:39.99 Mt9xqxIY.net
超音波

277:774ワット発電中さん
18/09/07 23:57:02.46 QTiCIE2g.net
超音波センサーも使えるよね。
でも他に物体が通るとそれに反応するし・・・
全容を言わないからアドバイスができないよw
言えない秘密があるのだろうか

278:774ワット発電中さん
18/09/08 06:23:54.52 RZhQRxhc.net
概要を推測しながらあれこれ提案する
のも面白いじゃない。自分的には後出
し大歓迎なんだけど。時速10キロとい
うと自転車とか動物とか...300メート
ルおきの検知ポイントの送信側はただ
信号発信するだけの個別機器でいいの
かな?それと検知したい対象の移動は
一方通行ですか?短時間にいったりき
たりしたり、A地点からBをとばしてC
に行ったりする事もありますか?

279:774ワット発電中さん
18/09/08 07:20:48.51 lsAJNWlb.net
山間の農地で作業用モノレールに載せた何かを検知したいとエスパー

280:774ワット発電中さん
18/09/08 07:55:33.81 ULgEzwGI.net
時速10kmで動くものを、50㎝の距離で、光を受けたかどうかの判定ができればいいのだよな。
野外で無理って言ってる人って何が根拠なんだろう。まさか太陽光じゃないよね…。
1mぐらいの間隔の赤外線遮断センサーを作って、動物の撮影用に設置したことがあるよ。
本件の通過スピードの方がたぶん速いけれど、工夫次第でなんとかなるのでは。
URLリンク(www.takex-eng.co.jp)
太陽光、ヘッドライトなどの外乱に強い変調。
屋外で20m。最短設定可能応答時間は0.05秒だそうです。

281:774ワット発電中さん
18/09/08 10:02:05.75 jhcQfp+c.net
近接センサーか光電センサーがいいんじゃないの?
光電は投光と受光があるタイプなら
範囲は自由に決められる
アルデュイーノであるかどうか知らんけど

282:774ワット発電中さん
18/09/08 10:52:27.26 lsAJNWlb.net
屋外に置くなら太陽電池で自動給電した方がいいかも

283:774ワット発電中さん
18/09/08 11:26:26.32 Y6Xmr2jr.net
レール上を移動するなら受光角がずれたりという問題は少ないんじゃないかな。
ただの通過センシングではなく、ABCといったIDを受け取る必要があるんですよね?
遮断センサーでいいなら外乱の影響はなんとかなりそうだけど、信号乗せるとなるとけっこう大変かもね。
10キロ程度のスピードなら音波通信もいけるんじゃない?

284:774ワット発電中さん
18/09/08 12:16:52.89 URZ+fi2j.net
みなさんありがとうございます
どんな情報が必要なのかわからなかったので全容を書けませんでした。
送信センサーの前を横切る他の物体等はありません。
送信側はひたすらに送信し続けるようにします
受信側の通過方向はz方向の幅が0-50cmあります。x,y方向は自由です。
いったり来たり、b地点飛ばしてc地点まで行くこともありますが、読みだしの際に順番通りに回っていないのは弾くよう別のアプリをプログラムするつもりです。

レール上ではなく、人が持って走ります。

赤外線遮断センサーを調べて見ましたが値段が高くて手が出ません。

285:774ワット発電中さん
18/09/08 12:32:29.85 1J+RQgyf.net
>>273
書き方が悪いな
送信側半径50cm上方向(できたら100cm)ぐらいになったら検知
送信側の下の方は無線が飛ばないので別にいらないです
受信側の通過方向は自由です

286:774ワット発電中さん
18/09/08 12:43:27.81 upURZaiC.net
>>273
電源はなんすか?連続何時間駆動させるんっすか?

287:774ワット発電中さん
18/09/08 12:55:17.80 +Bgobhtp.net
すごい謎な質問だな
人で10キロのスピードで近いならタッチ?センサーとか
押しボタンでもいけそうな気がする
なぞだ

288:774ワット発電中さん
18/09/08 13:00:06.19 8EPT7PRQ.net
子機いらんよ
遠くでレーザー出して鏡で反射
センサーで横切ってないか判断
光源→鏡→センサー→arduino

289:774ワット発電中さん
18/09/08 13:03:11.00 upURZaiC.net
こういうのって鉄道模型で電子工作してる人が得意じゃないの?
「まもなく3番線に快速電車が通過します」とか

290:774ワット発電中さん
18/09/08 13:47:06.98 X8Dn3XIT.net
普通なら超音波を使うケースだろうな

291:774ワット発電中さん
18/09/08 13:48:17.50 jOclGKQ3.net
超音波じゃなくてもブブッジリジリみたいな音を発信するとか

292:774ワット発電中さん
18/09/08 13:49:58.25 jOclGKQ3.net
それだと受信機はスマホでもできそうだし

293:774ワット発電中さん
18/09/08 13:50:31.15 jOclGKQ3.net
音波 ビーコン で検索

294:774ワット発電中さん
18/09/08 14:33:25.27 Y6Xmr2jr.net
超音波がよさそうですね。
子機はいらないので地点ごとにHC-SR04みたいなのが一個あれば十分でしょう。

295:774ワット発電中さん
18/09/08 15:02:19.45 jhcQfp+c.net
人間同士がすれ違いを検知したいんだっけ?
リリーパッドいいかな


296:と思ったが もう作ってなさげ



297:774ワット発電中さん
18/09/08 15:07:13.50 VKJLZ+Ws.net
50cmなら超音波一択だろ

298:774ワット発電中さん
18/09/08 15:43:36.70 ydsX+9wO.net
HC-SR04とかUS-015とかは布みたいなのは反射せえへんよ
物体がどんなのか分からへんけど、センサーに対して超音波を当てる面を垂直にせんと
物体がいびつな形だと、まともにエコーが返ってけえへんで

299:774ワット発電中さん
18/09/08 15:44:24.02 ydsX+9wO.net
なんか知らんけど関西弁で書いてみたで

300:774ワット発電中さん
18/09/08 16:07:45.12 zc/hGrRK.net
>>286
反射じゃなくて人の持ってる受信機にビーコンで情報を送信する

301:774ワット発電中さん
18/09/08 18:11:34.00 UcQMFl40.net
>>275
こないだ3vボタン電池で動かしてみた�


302:轣A全然動かなくて、昇圧機を購入検討してます。連続稼働時間は4時間程度です >>286 物体の大きさはできた段階でしかわからないんですが、四角い箱に入れたいと思ってます。持ち歩く方はなるべく小さく片手に収まる程度にしたいめす >>284 地点aに置いてある機器と人が持ち歩いている機器をすれ違いさせたいです 超音波 ビーコンで識別番号てきなものを送れるのでしょうか?距離測定ぐらいしか記事がでなくて



303:774ワット発電中さん
18/09/08 19:42:40.58 Rf5y7J+M.net
自分で考えて作ればよくね

304:774ワット発電中さん
18/09/08 19:46:28.89 6vXsYHWx.net
>>289
あんたのレス全部、余分な改行がうざい。
あと、全容が全く伝わってこない。
自分でか分かってても他人のアイデアは引き出せない。

305:774ワット発電中さん
18/09/08 19:46:58.04 6vXsYHWx.net
×自分でか
○自分だけ

306:774ワット発電中さん
18/09/08 19:47:40.98 jhcQfp+c.net
赤外線遮断センサーしかないみたい
近距離無線通信では距離が足りないし
電波弱いwifi持たせて受信できたら通過とか
できんのかな

307:774ワット発電中さん
18/09/08 19:48:04.71 6/ZYX5G0.net
Uno・Nanoは5Vだからね。
それに消費電力が高いから電池駆動の組込み用には、あんま向かないと思うけど。
3V版のProMiniか、ATtinyシリーズは3Vで動くよ。

308:774ワット発電中さん
18/09/08 19:50:11.17 jhcQfp+c.net
>>290
まあ確かにそうだな
情報小出しだし
なんだかね

309:774ワット発電中さん
18/09/08 19:53:40.80 Rf5y7J+M.net
俺のレスの意味は超音波通信の方法が書いてないからどうしようって言ってるから自分で考えてやればよくねってことな

310:774ワット発電中さん
18/09/08 20:23:05.62 9d+RXaoT.net
いや、これはやっぱりRFIDタグだと思うわ。
マラソンの選手の足に結んでおいて、それでタイムを記録するシステムがすでに実用になってる。
応用できると思うよ。

311:774ワット発電中さん
18/09/08 21:09:38.35 AdxLQ0Se.net
おそらく学校かなにか公的な場所での運用で特定される恐れがあり詳細が出せない、かな。
今までの書き込み内容なら人の方には何も持たせずに、超音波による通過センサ一択だと思うけど。
布で超音波が反射しないという意見もあるけど正確な距離測定するわけじゃないので通過検知程度ならソフト側で処理すれば問題ない。
さらなる後出しを楽しみにしてます。

312:774ワット発電中さん
18/09/08 21:12:07.91 NeqLiFBe.net
ここまで何もかも分からないなら相応の企業に頼んだ方が良いと思うよ
100万もとられないと思うが

313:774ワット発電中さん
18/09/08 21:18:15.50 Qh0Xkg8g.net
ミステリ好きとかならイラつかず付き合えるってかな。
ふつうは短気だから藍卒化して付き合いきれない

314:774ワット発電中さん
18/09/08 21:20:32.30 XLROhy6C.net
「藍卒」でググってしまった俺乙

315:774ワット発電中さん
18/09/08 21:22:26.20 PgukdbuC.net
ちゃんと読んでないけど
どの情報を出せばよいのかわからなかった
って言ってるから、背景の開示はできるのでは?やってないだけで

316:774ワット発電中さん
18/09/08 21:49:33.50 lsAJNWlb.net
そもそもArduinoに絡んだ件なのかも不明

317:774ワット発電中さん
18/09/08 21:52:09.11 SgfgHwVp.net
センサーだの送受信だのの大概はArduinoに絡められるから、そこはいいんじゃね。

318:774ワット発電中さん
18/09/08 21:59:21.07 Rf5y7J+M.net
>>298
通過検知じゃだめ
受信者がどこを通過したか分からないと

319:774ワット発電中さん
18/09/08 22:21:09.57 6/ZYX5G0.net
>>298
実際にHC-SR04とかUS-015を使ったことある?

320:774ワット発電中さん
18/09/08 22:25:05.78 NFx5k0SB.net
>>299
一見さんの顧客相手に
野外使用で移動体がランダムにぶれても識別可能なセンサーを300m間隔で設置だと
センサーの個数と集計装置にも依るがテスト含めたら100万以上取られるんじゃない?

321:774ワット発電中さん
18/09/08 22:30:11.07 AdxLQ0Se.net
Arduino初心者です。
質問です。Pro-Mini3.3Vの電源にしているリチウムイオンの電圧を常時モニターするのですが、100K-100Kでの分圧はADに十分でしょうか。
放電をなるべく抑えつつ、ある時突然不安定になったりしない値はどれくらいなのでしょうか。AD頻度は10秒に1回です。
理論的な回答をお持ちの方いらっしゃいましたら、よろしくお願いいたします。

322:774ワット発電中さん
18/09/08 22:33:00.88 NFx5k0SB.net
ポート1つ使ってADCするときだけ電流引けや

323:774ワット発電中さん
18/09/08 22:34:33.93 j6+otFWs.net
>>306
どちらも使ったことがあります。
でもHC-SR04はいろいろバージョンがあって固まるものが存在しているので
注意が必要です。
それと、精度はそれほどないのでこれくらいの距離がある程度で利用しましょう

324:774ワット発電中さん
18/09/08 22:48:39.23 AdxLQ0Se.net
>>310
くわしくお願いします!

325:774ワット発電中さん
18/09/08 22:55:25.34 6/ZYX5G0.net
>>311
あなたに聞いたんだけど?使ったことないでしょ?

326:774ワット発電中さん
18/09/08 23:21:28.43 Rf5y7J+M.net
だから通過センサーじゃないってば。

327:774ワット発電中さん
18/09/08 23:36:25.51 1xiJGjtP.net
>>307
要件定義からだから、倍以上掛かると思う。
ここまでのやりとり見ると、たぶんそこの工数が一番掛かりそうだし、手戻りもありそう。
保険掛けての見積もりになるだろう。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch