X



トップページ電気・電子
1002コメント342KB
Arduino初心者熱烈大歓迎質問スレ part22
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/08/18(土) 08:37:53.78ID:ridqLuOK
http://www.arduino.cc/

【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね


前スレ
Arduino初心者熱烈大歓迎質問スレ part21
https://rio2016.5ch.net/test/read.cgi/denki/1527252804/

過去スレ
Arduino初心者熱烈大歓迎質問スレ part20
https://rio2016.5ch.net/test/read.cgi/denki/1514503488/
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
0113774ワット発電中さん
垢版 |
2018/08/27(月) 17:48:25.44ID:HGZ4HjcO
LM35Dには自分も半日トラブった。
資料は隅から隅までキチンと読まないと、と反省した。
0115774ワット発電中さん
垢版 |
2018/08/27(月) 22:04:05.57ID:qmtajQVi
>>109
MycroPython乗せたらAruduinoじゃなくなるよ。
以前はAVR用の有ったみたいだから、無理やり乗せようと思えばできないことも無いんだろう。
少なくとも現在は公式には無い。
Python on the chipとか、circuit pythonとかが有るみたい。
0116774ワット発電中さん
垢版 |
2018/08/27(月) 22:52:01.71ID:F/WEJENM
>>112>>113
センサーの出力なんて
「自分の出力値よりかなり高いレベルまで充電済みの容量性負荷」
に繋ぐことなんて想定してないってことか
横からだけど勉強になった
頭の片隅にいれとこう
0117774ワット発電中さん
垢版 |
2018/08/27(月) 23:33:02.38ID:KgfwCP5/
入出力の端子全部使うとかはやめといた方がいいのかな
0118774ワット発電中さん
垢版 |
2018/08/27(月) 23:44:32.79ID:0sHK/AtS
やめといた方がいいような数のポートなんか付けたりしないのでは?
つまり全部使っても問題ないと思う。
実際はどうなのか知らないけど。
0120774ワット発電中さん
垢版 |
2018/08/28(火) 00:22:21.51ID:353p49y/
>>105
蛇足かもしれんけど、>>112さんのを補足すると

>『ADMUXレジスタに書き込んで、マルチプレクサが安定するまで待つ』と言った記述
の「マルチプレクサが安定するまで待つ」は間違いで、
「マルチプレクサ切り替えに伴って生じる回路の過渡応答が収まるまで待つ」という
ほうが正しい

また、AVRのマルチプレクサ切り替えのタイミングは、ADMUXレジスタに書き込んだ時では
なくて、変換開始(ADSC立ち上がり認識)時だから、
・ADMUXレジスタに(新しいチャンエル番号を)書き込み
・100us 待つ
・変換開始・終了を待ってデータ取得
のようなことをしても、事態はあまり改善しないはず

「AD変換周期をカット&トライで伸ばした」っていうのが、実際にはどうやったのか分からないけど
単純に待つかわりに、変換結果を一回読み飛ばすとかしないとダメだと思う
そうすれば、マルチプレクサ切り替えからサンプルホールド開始までの時間は
10倍くらいとれるから、センサーの出力インピーダンスはデータシート推奨上限
10kΩの10倍、100kΩくらい行けると思う
0123774ワット発電中さん
垢版 |
2018/08/28(火) 01:05:53.06ID:353p49y/
あ、長文書いたけど間違ってるな orz

・ADSC立ち上がりでチャンネル変更
・ホールドキャパシタはADSC立ち上がりから1.5クロックの時間だけ入力に接続され
 その後切り離される
・ホールドキャパシタの保持している電圧をAD変換
・変換終了した時点でホールドキャパシタは再度入力に接続っていう流れだな
 (データシートにははっきり書いてないけど)

そうだとすると、一回目のAD変換を読み飛ばすだけじゃだめで、変換終了後
delayを入れてホールドキャパシタを充放電しなきゃダメだな

まさか、変換開始から1.5クロックの時間だけしか入力に接続されないようになってるって
ことはないと思うけど、そこはデータシートからは読み取れない(と思う)
0124774ワット発電中さん
垢版 |
2018/08/28(火) 03:06:07.42ID:2bzc/SNA
>>123
検証したら分かるがAVRマイコンのs/hキャパシタが入力回路に繋がってる時間は1ADCクロックだけ
Arduinoで言えば125kHzだから8μ秒ね
なんで外部回路の出力インピーダンスはこの時間でs/hキャパシタを充放電出来るようになっているべき

要するに
ADSCが1なことを確認したADCクロックの立ち下がりでマルチプレクサ確定してサンプリング開始
1ADCクロック経過後にサンプリングが終了して保持に入る

データシートに
・少なくともADSCを書いてから1変換クロックはマルチプレクサは弄るべきでない
・ADC入力のナイキスト周波数はADCクロックの1/2である
ことか記されているのはこの為

データシートに保持のタイミング(ADSC認識の立ち上がりの次の立ち上がり)しか書いてないのはAtmelが悪く、不親切だと思う

https://www.avrfreaks.net/comment/759794#comment-759794
検証方法はこの人と全く一緒(mcuをmega328でやっただけ)
0125774ワット発電中さん
垢版 |
2018/08/28(火) 03:23:44.21ID:2bzc/SNA
追記
なので、当然ADCを使用しない場合は内部回路の漏れ電流でしか放電されないので時間を空けたところであまり好転しない
例に挙げられているLM35のようにソース側のみ強力に稼働できるものを繋げて正確に読み取りたい場合は
一度s/hキャパシタをGNDに低インピーダンスで繋げて放電してやれば次の初回変換でも正確な値を返す
Arduinoの関数にはないがADMUXのMUXには入力ピンでなくGNDに直結する設定値が用意されてる
これを使えばピンを無駄にしなくてもs/hキャパシタがディスチャージ出来る

GNDでADC→センサー1でADC→GNDでADC→センサー2でADC→GNDでADC→センサー3でADC→……
センサーのソース駆動インピーダンスが十分に低ければこれで正確な値を返す(シンク駆動インピーダンスは高くていい)
もちろん回路全体のセンサーサンプリング周波数は半減する
多少の測定誤差が増えても平気ならAVRのADCは1MHzまで動作が保証されてるからADCクロックを高速化したらいい
200kHzまでなら誤差が最大2LSBだが1MHzでは倍の4LSBになる(データシートより)
(サンプルホールド回路のサンプリング時間はさらに減るので駆動インピーダンスに注意)
0126774ワット発電中さん
垢版 |
2018/08/28(火) 03:47:22.35ID:aiN3pJsc
ほっといても放電されないね。変換したときしかサンプルしないから。
何かAD変換したあとフローティングのピンを測ると前と同じ値をずっと言ってくるよ。

>>120
マルチプレクサが固定されるのがADSCを拾ったときなだけで、変更自体はいつでもされてるから中段は間違いだよ。
0128774ワット発電中さん
垢版 |
2018/08/28(火) 16:14:40.48ID:sWKMIruj
早い話、MPX切り替えた時にADC状態初期化が要る
というだけなんだがな
(一回空読みでもよい)
だから、fsがあげられるなら2倍にしてやればよい
というだけなんだがな
0131774ワット発電中さん
垢版 |
2018/08/29(水) 04:40:03.42ID:iBVYjJWb
どうしてホールドするとき以外は外につなぐようになってないの?
0132774ワット発電中さん
垢版 |
2018/08/29(水) 08:26:54.95ID:wgto5UtO
マイコンのピンはADCだけじゃないんだから他の回路の特性に影響が出るじゃん
ポートの交換機能たくさんあるだろ?目的の機能が作動する時しか繋がないよ
0133774ワット発電中さん
垢版 |
2018/08/29(水) 08:45:04.86ID:YR7axSf6
>>132
たぶん>>131はポートに繋がってる時間(=サンプリング時間)が短いことが言いたいワケじゃなくて
>>125の解決法みたいに自動的にGNDにディスチャージしとけば?って言いたいんじゃねーかなと思った

>>131
連続変換だと13ADclkごとにADCが掛かるわけで、2ADclk目でサンプルホールドは終わってるけど
残りの11ADclkはホールドした電荷をAD変換に使っているわけだからホールドしてなきゃ意味ない時間だろ
そして質問者>>105の使い方は13ADclk毎にずっとAD変換させてるわけで「サンプリング中」と「ホールド中」以外の時間はほぼ無いじゃん?

質問者のように出来るだけ高速でセンサー連続監視する使い方じゃなく、必要なときだけAD変換すればいいなら
使い終わった後ADENを0に(AD変換をオフに)すれば次回起動時にはちゃんとディスチャージされてるよ(>>128が書いてる解決法ね)
連続変換でこの手を使うと毎回初回変換扱いになるから12ADclk伸びて25ADclkの変換時間がかかる事になるから
>>125の1回GNDを測るのとAD変換のサンプリング周波数はほぼ同じようなもんになっちゃうけどね
0134774ワット発電中さん
垢版 |
2018/08/30(木) 19:56:12.86ID:EFoXrqxN
111から後、すっごいためになった
こういう情報もらえるのがArduino(AVR?)のいいところだね
マイナーなマイコンだとこうはいかない

まあ、LM35DZ使う場合に限ってだと、1k抵抗通して0.1uFくらいのコンデンサ入れて
おくだけでいいかも
0135774ワット発電中さん
垢版 |
2018/08/31(金) 16:27:30.97ID:LYeKJqDa
秋月の pro mini 互換で動いてたけど
壊してしまった。 電気的な壊れではなく 踏んづけて・・・
また 買ってきたのだが 書き込みがうまくできない
なんでだろ・・
0136774ワット発電中さん
垢版 |
2018/08/31(金) 16:48:42.93ID:bDioAJyC
>>135
pro mini は書き込み時のリセットのタイミングがシビアな個体があった気がする。手でリセットボタンをタイミングよく押すか、USBシリアルのどこかににコンデンサ挟むとか、検索すると色々出てくるよ。
0137774ワット発電中さん
垢版 |
2018/08/31(金) 17:00:25.93ID:LYeKJqDa
有難う エラーはこんな感じ

avrdude: stk500_recv(): programmer is not responding

.
.
.

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
0139774ワット発電中さん
垢版 |
2018/08/31(金) 19:35:48.86ID:LYeKJqDa
>>138
秋月のUSB 経由 
設定はAVRISP かAVR ISP MKII 
0141774ワット発電中さん
垢版 |
2018/08/31(金) 19:57:22.68ID:dzIN1Au0
>>139
う〜ん、わかんねw がんばってw
一応書いとくわ

@USBケーブルをチェック、交換してみる(意外とこのトラブルが多かったりする)
APCが書き込み装置を認識しているか、デバイスマネージャで確認する
B>>136の方法で、ArduinoIDEのログ画面を見ながら、書き込む瞬間にタイミング良くリセットボタンを押す
Cブートローダが書き込まれてない?
0142774ワット発電中さん
垢版 |
2018/08/31(金) 20:12:58.65ID:LYeKJqDa
ケーブル ,USB I/F, pro mini  全て新品同一品
(PCより外側全部 交換)

usb デバイス認識 OK
シリアルloop back テスト OK







ブートローダは書き込み済みのはず
0143774ワット発電中さん
垢版 |
2018/08/31(金) 20:17:17.49ID:dzIN1Au0
踏ん付けちゃったのが正常に書き込み出来てたんなら
初期不良かなー
0144774ワット発電中さん
垢版 |
2018/08/31(金) 21:40:32.94ID:LYeKJqDa
残るはarduino IDE・・・・・
0145774ワット発電中さん
垢版 |
2018/08/31(金) 22:06:07.30ID:bDioAJyC
とりあえずもう一枚pro miniを買ってきて、環境の問題かボードの問題か切り分ける。

ただ、俺は同じようにpro miniでリセットでハマったことがあるのでそれ以後はほぼpro microを使ってる。
0147774ワット発電中さん
垢版 |
2018/08/31(金) 23:08:23.75ID:LYeKJqDa
コンデンサーやってみますわ
 
0148774ワット発電中さん
垢版 |
2018/09/01(土) 21:05:04.43ID:JYSndVAB
動作しました
リセット回路 0.1u 電源 10u 入れて何回かトライしたら
動作したので ためしにはずしてみたら 動作してる


んーー原因がはっきりしない

昨日の猛暑ではまるっきりだったのに
(ノートPCはエラーがでてwifi 環境の不動作がたびたび発生してた)

ピンに負担がかからないようツイストケーブル20cm位いれても 問題ないし
0149774ワット発電中さん
垢版 |
2018/09/01(土) 21:12:54.42ID:FgPACo7t
>>148
よかったね。俺の場合は、あるpro mini個体が元々問題なく書き込み出来てたのに、ある日突然書き込み出来なくなった。
でリセットボタンをタイミングよく押せば書き込み出来たけど、いちいち面倒なのでそれ以降pro microに変えた。aitendoでpro mocroは700円、pro miniは650円。
0150774ワット発電中さん
垢版 |
2018/09/01(土) 23:31:59.54ID:JYSndVAB
回路図見たらreset 端子- gnd 間にコンデンサが入ってないんだね・・
0151774ワット発電中さん
垢版 |
2018/09/02(日) 21:53:59.25ID:hp57q4DN
Arduino IDEアップデートのメッセージ出るけど
ボードもIDEもエラーでアップデートできてないみたいなんだけど
なんかやり方がある?
0153774ワット発電中さん
垢版 |
2018/09/02(日) 22:09:25.37ID:2XGpzPkj
v1.8.6 キタ━━━━(゚∀゚)━━━━!!
0154774ワット発電中さん
垢版 |
2018/09/02(日) 22:13:31.61ID:2XGpzPkj
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コアは、独自のリポジトリに移動しました:https://github.com/arduino/ArduinoCore-avr
* gcc 5.4.0にアップデートされたtoolchain

[wifi101-firmware]
*セキュリティ修正:WPA2 KRACKの脆弱性(最新のWINC1500ファームウェア19.5.2)の修正をリリースしました。
0155774ワット発電中さん
垢版 |
2018/09/02(日) 23:23:47.89ID:7pJbqeuf
>>150
arduino ide用だから
コンデンサつけると書き込みエラーになると思う
atmelのプログラマー使うのであればあってもよい
秋月のボードにはそれを切り離す端子がある
0156774ワット発電中さん
垢版 |
2018/09/03(月) 00:31:00.38ID:a5kQ82Ed
i2c のプルアップ、電源だけ切り離せるようになってるだが・・
0157774ワット発電中さん
垢版 |
2018/09/03(月) 18:39:30.48ID:wW5kbnzs
delayとか要らなくてもタイマー0の溢れ割り込みは使えないんですか?
定義するとエラーになります。millisとか纏めて使用不能になってもいいので使う方法ありますか?
比較A割り込みと比較B割り込みはPWMに使っているので使えません
0158774ワット発電中さん
垢版 |
2018/09/03(月) 19:07:12.21ID:Y4+Sl2oa
>>157
AVRとしては可能だけど、ライブラリがないんじゃないかな
エラーになるって、具体的にどういうふうに書いてるの?
0161774ワット発電中さん
垢版 |
2018/09/03(月) 19:22:49.86ID:wW5kbnzs
http://codepad.org/02kwmeNA

これでいいんでしょうか?ボードは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に対するコンパイル時にエラーが発生しました。
0162774ワット発電中さん
垢版 |
2018/09/03(月) 19:26:34.24ID:wW5kbnzs
>>160
タイマー2はライブラリがあって速度が変えられるので別なことに使いたいです
タイマー1はサーボを使うと確か使っちゃいけないんですよね?
0163774ワット発電中さん
垢版 |
2018/09/03(月) 19:45:09.95ID:yDYlzdpv
hardware/arduino/avr/cores/arduino/wiring.c
の中でシステムの
ISR(TIM0_OVF_vect)
が既に有って二重定義に成る訳で
これを変更したとしてどうやって実際のビルドに反映させるのか知らないので
別の方宜しく
0164774ワット発電中さん
垢版 |
2018/09/03(月) 20:13:12.41ID:Y4+Sl2oa
TimerOneライブラリの、attachInterrupt() のようにすればいいんじゃ?
ソースの場所が分からんけど ^^;
0165774ワット発電中さん
垢版 |
2018/09/03(月) 23:30:16.44ID:Y4+Sl2oa
あ、164はダメだな orz. TimerOne.cppの中で
ISR(TIMER1_OVF_vect){ Timer1.isrCallback();}って定義して
isrCallbackを後からattachInterrupt()で書き換えるってやり方だけど
ISR(TIMER0_OVF_vect) のほうは、すでに定義されてるから同じやり方できない、ってことだものな
安易に問題回避するなら hardware/arduino/avr/cores/arduino/wiring.c を書き換える?
0166774ワット発電中さん
垢版 |
2018/09/03(月) 23:51:03.44ID:wW5kbnzs
自分で定義を書いてもdelayとかの定義が上書きされるわけじゃなくてただエラーになるだけみたいなので
IDEのなかのファイルを書き換えるのは怖いし、ぜったい戻し忘れて他のスケッチがおかしくなりそうです
今回のプログラムではD6ピンのPWMは25〜230までしか指定しないから常にPWM信号がでていたので
D2ピンに繋げていた部品をA3ピンに移してA3ピンをD17ピンとして使って、D2ピンを空けてあげて
INPUTにしたD2ピンにD6のPWM信号ををつなげて外部割込み【RISINGを指定】の所にやりたかった内容を書いたら
タイマー0が0になるたびD6がHIGHになって外部割込みがちゃんと起動したので
結果的にTIMER0_OVF_vectと同じ挙動になりました ありがとうございました
0168774ワット発電中さん
垢版 |
2018/09/04(火) 02:14:19.76ID:BNoNwdJU
あと、ちゃんと理解できてないんだけど、166のは比較A割り込みを使うのと
どう違うの?(動けばいいわけだから、別に非難してるとかじゃないです)
0169774ワット発電中さん
垢版 |
2018/09/04(火) 09:26:23.56ID:sYZx3o2Z
>>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を使ってるのに比較割り込みを使うと「動けばいい」にすら到達しない。ちゃんと動かない。

コレを見ろ。
https://i.imgur.com/toavH7e.png
スケッチ。
https://paste.ofcode.org/qkeJ969pTV9vDap8VbHGzF#
0170774ワット発電中さん
垢版 |
2018/09/04(火) 09:29:58.27ID:sYZx3o2Z
悪い、右のアノテーションの3段目(一番下)のラベルは OCR0B = 25 の間違い。1つ上からコピーして変え忘れた。
0172774ワット発電中さん
垢版 |
2018/09/04(火) 12:14:25.17ID:sYZx3o2Z
ロジアナでぐぐれ。オシロとはちと違う。
オシロがアナログ信号向けとしたらロジアナはデジタル信号向け。
(アナログ測れるチャンネルもあるけど)
0176774ワット発電中さん
垢版 |
2018/09/04(火) 15:38:57.73ID:aQEgfYiw
pin数の少ないATtinyで一つのpinに複数の機能が割当てられてる時
対象pinの使いたい機能はどのように選択するのでしょうか
0177774ワット発電中さん
垢版 |
2018/09/04(火) 15:55:45.74ID:sYZx3o2Z
それもうAVRの質問では?
別にmega328Pだって1つのピンにいろんな機能があるぞ。それと同じ。
0181774ワット発電中さん
垢版 |
2018/09/04(火) 17:19:02.90ID:PZa4CJvu
>>178
Saleaeは海賊版で使うなと怒ってるからなぁ
中華クローンのVIDとPIDがSaleaeのやつ勝手に使ってんだよね…
アップデートでアクティベーション式にするというアナウンスも前にあったが…
sigrokからpulseView落としてそっちにしときな
0183774ワット発電中さん
垢版 |
2018/09/04(火) 18:19:00.07ID:I5SSKhDh
arduinoに指定した回数のパルスを発生させる関数て無かったっけ?
あれでも>>169の様な問題出るのかなとぐぐってみたら関数自体が全然見当たらなかった

何かのライブラリだったのかな
0184774ワット発電中さん
垢版 |
2018/09/04(火) 18:19:10.84ID:PZa4CJvu
そりゃすまん悪気はないんだ
pulseViewも使いやすいしな
ID盗用してるせいで挿すとSaleae Logicて認識されるけどw
激安シリーズでアナログ1chも追加でついてるやつもあったんけど今は出てないのかな
0185774ワット発電中さん
垢版 |
2018/09/04(火) 18:21:00.84ID:PZa4CJvu
>>183
パルスとはちょっと違うがshiftOutのこと?
あれってどのピンても使えるしソフトウェア実装では
0186774ワット発電中さん
垢版 |
2018/09/04(火) 18:40:16.98ID:I5SSKhDh
>>185
方向+ステップ数のステッピングモータードライバでステップ数をPWMで
済ませてる様なのを見た記憶があったんだけど、多分ソフト実装だったんだね
0187774ワット発電中さん
垢版 |
2018/09/04(火) 19:22:31.36ID:PZa4CJvu
ああ俺が言いたかったソフトウェア実装ってマイコンのタイマーとかSPI用シフトレジスタとかそういう機能を使ってるわけじゃないってこと
標準のI/Oだけで実現してるものをソフトウェアなんとかって言う
たとえばUnoのSerialはハードウェア実装でマイコンのUSART部がやってくれるから通信中はCPUはあるはそこそこほかのことやれる(代わりにピンは決まってる)
ライブラリSoftSerialは全部ソフトウェアでやってるのでどのピンにも出来るが全部CPUが頑張って通信してるのでほかの事があんまりやれない
0188774ワット発電中さん
垢版 |
2018/09/04(火) 20:11:28.03ID:Fg2EDNY4
400円でロジアナ買えるの?早速調べてこなくちゃ・・・・・
0191774ワット発電中さん
垢版 |
2018/09/04(火) 20:49:19.31ID:Rg0pLUYV
>>189
マジレスする。
例えばこれはI2Cの通信を見て、送ってるコードをチェックしてみたところ。
https://i.imgur.com/svfhvSP.jpg
>>174のリンク先のソフトと中華ロジアナを使ってる。
459円のじゃなくて1000円くらいのだけどね。
ちゃんとデータが送られてるか、いろんなプロトコルを解析してくれるよ。
0192774ワット発電中さん
垢版 |
2018/09/05(水) 00:46:06.35ID:7UIBO/8o
俺みたいなアマチュア初心者には普通に繋げばちゃんと動くじゃんって思うから分からんがプロだと波形をみたいことがあるんだね。
0193774ワット発電中さん
垢版 |
2018/09/05(水) 00:57:45.90ID:A+0JDkSm
波形って言うとちょっと語弊があるけど…。
まあ、Arduinoやってる分にはあまり必要無いかなあ。
Bit-BangでI2Cを実装するとかなら、どうかいなと見てみないと効率悪い。
0194774ワット発電中さん
垢版 |
2018/09/05(水) 01:06:40.82ID:7UIBO/8o
語弊があるのは俺にでもわかる
伝わればいい

bitbangが云々
やっぱりコアな人にしか必要にならないぽいね、デジアナ
0197774ワット発電中さん
垢版 |
2018/09/05(水) 01:21:02.86ID:7UIBO/8o
波形っていうと電圧の生波形を連想するんだろ?
しきい値で0と1にデコード?してるからもはや波形とは言えない?的な。
0198774ワット発電中さん
垢版 |
2018/09/05(水) 03:15:04.56ID:7f9I/1yG
>>192
実際そうだと思うよ、必要になったら買うのだ

例えばさ、慣れてきてどんどん処理を追加していくと
あれ?プログラムはちゃんと書いたしピンの繋ぎもあってるのに通信がうまくいってないぞ?なんで!ってなるときがいつか来るのよ
上で出てる割り込みのせいかもしれないし、何か追加した処理に使ったライブラリが悪さをしてるのかもしれないし
他の回路に引いた電流で電圧がドロップして回路がおかしくなってるかもしれないし・・・etc

だけどそれってスケッチだけでデバッグするにはめちゃくちゃ大変なのよ、そりゃ頑張れば出来なくはないけれど
どこで、どうして、通信が上手く行かないのか分かると原因究明や対策がしやすいでしょ?
そこでロジアナで実際にどういう信号が出てて、想定したものとどう違うのか見れたら嬉しいだろ?

「電池に豆電球を繋いだのに光らない、部品の公称電圧と接続はあってるのに」
これくらいなら「豆電球が切れてる・電池がない・リード線が断線してる」くらいだから総当たりで部品取り換えたら原因究明できるけど
テスターがあれば、まずどこが悪いのか調べられるじゃん?
それの派生みたいなもんよ
上の豆電球みたいに試していくのがめちゃ大変なら、ロジアナがあればまずどこがダメなのか調べたら楽になる

ちゃんと作ったハズなのに動かない、そうなったとき欲しくなるワケ

あと>>169が解説にオマケではっつけてあるやつも
これくらいなら言葉で書いてあればわかるけれど
実際に波形見た方が分かりやすいだろうと思って撮ってくれたんでしょ、たぶん
0199774ワット発電中さん
垢版 |
2018/09/05(水) 08:30:19.84ID:hluUZqm5
自分も厳密にやってないけど、部品点数が増えたり
クロックが上がったりでタイミングが難しくなったとき
ロジアナの出番がある認識
0201774ワット発電中さん
垢版 |
2018/09/05(水) 12:54:10.83ID:2UfMH6MK
千円くらいで買えるようになると、Arduino ボード・IDEと一体になってて
ワンタッチで「D2,D3の波形を表示」みたいなことできるようにならんかな?
0203774ワット発電中さん
垢版 |
2018/09/05(水) 14:12:39.55ID:PfYJQLf4
>>201
すでに1000円で買えるわけだが
一体とかワンタッチとかになってなきゃいかんの?
ちょっと言ってることのニュアンスがつかめない。
0204774ワット発電中さん
垢版 |
2018/09/05(水) 14:35:54.56ID:2UfMH6MK
信号見たいって思ったときに、ロジアナ探してきてUSBつないで
Arduinoの見たいピンとGNDつないで、ロジアナソフトでCH1はD2でCH2はD3とか
設定するのが面倒
0205774ワット発電中さん
垢版 |
2018/09/05(水) 14:58:08.64ID:T4mGVnPn
>>204
それは、ロジアナ持ってる人は誰でもやってることだから、みんな知ってるんだ。
「ワンタッチで」の方のシステムはどんななのか教えてほしいのさ。
0206774ワット発電中さん
垢版 |
2018/09/05(水) 15:24:14.26ID:+CMvUPQ0
横からだけど足の長いピンソケットがついたシールドになってて
ArduinoとシールドでそれをサンドイッチするとArduinoの信号が全部出るみたいな?
でもUSB2本出るね
0207774ワット発電中さん
垢版 |
2018/09/05(水) 16:40:18.04ID:xzOahNub
基板で中間に入るjigつくればいいじゃん
ロジアナへのアダプタ
ワンタッチで接続できる
でもロジアナのポート数が足りないか
N->8本に選択がメンドウだな
0209774ワット発電中さん
垢版 |
2018/09/05(水) 17:51:49.81ID:T4mGVnPn
Arduinoから始めた人は何でもシールドでなきゃあかんのかねえ。
ブレッドボード派なので、ロジアナからジャンパー線が生やしっぱなしになってて、
使うとき挿すだけなんだが…。
https://i.imgur.com/qbyMf3y.jpg
0211774ワット発電中さん
垢版 |
2018/09/06(木) 01:02:03.30ID:CsSgDNzI
DCモーターの制御とプログラムの作例が掲載されてる参考書を教えて下さい
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況