X



トップページ電気・電子
1002コメント380KB
Arduino初心者熱烈大歓迎質問スレ part20
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2017/12/29(金) 08:24:48.52ID:fV89GCp3
http://www.arduino.cc/

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

【分裂騒ぎ】
おさまった模様。くわしくはぐぐれ。


前スレ
Arduino初心者熱烈大歓迎質問スレ part19 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/

過去スレ
Arduino初心者熱烈大歓迎質問スレ part18 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/

関連スレ
【Arduino】フィジカル・コンピューティング4【OSC】
http://wc2014.2ch.net/test/read.cgi/denki/1407830304/
学研マイコン Japanino ジャパニーノで遊ぶスレ 3
http://kamome.2ch.net/test/read.cgi/denki/1286354827/
0304774ワット発電中さん
垢版 |
2018/03/12(月) 08:49:53.26ID:gg32P9jL
>>302
なるほど元発言の一行目は無視すればよいのか
ゼロのときに最大にしたい、ってなんだ?と思ってたけどようやく理解できました
0305774ワット発電中さん
垢版 |
2018/03/12(月) 12:22:03.13ID:JGgdy2mN
>>302
map関数使った方がスマートじゃない?

PWM出力ポート=map(アナログ入力ポート,0,1023,255,0)

こんな感じだったかな
これで10bitも同時に8bitに変換できて、尚且つ下限と上限入れ替えてるから入力0の時,出力255
0306774ワット発電中さん
垢版 |
2018/03/12(月) 13:41:20.58ID:BagZksq9
x=255 - アナログポート入力/4
0308774ワット発電中さん
垢版 |
2018/03/12(月) 15:57:29.52ID:jd5ym9kG
お分かり頂けただろうか
0309774ワット発電中さん
垢版 |
2018/03/12(月) 17:40:47.25ID:nqqh6mfv
map使うかな
0310774ワット発電中さん
垢版 |
2018/03/12(月) 18:08:34.00ID:jd5ym9kG
ちなみに処理速度が速いのと、使用メモリが一番少ないのはビット演算
0311774ワット発電中さん
垢版 |
2018/03/12(月) 21:10:11.60ID:V4y1r6qO
賢いコンパイラだと、2のべきによる整数割り算はシフトにしてくれる
お試し版とか、無料版とかのモードだとその辺の最適化が無効になっていることもあるが
0314774ワット発電中さん
垢版 |
2018/03/12(月) 22:06:31.30ID:/+g7cEZ7
昔はいろいろバイナリ、シフトとか考えて書いたけど、最近はやらなくなってしまったわぁ。
なるべく数式通りに、見てすぐわかるように冗長でもいいから、float使いまくって
そのまんま書いちゃう。
0315774ワット発電中さん
垢版 |
2018/03/12(月) 23:10:53.95ID:wyMa6B1I
それだけ演算能力が上がったって事やね
Arduinoは低性能だけど。
nanoサイズでもっと高性能なのを出せばいいのに
STM32やESP32がIDEに対応してから地味にシェア食われていってるやん。
結局は多くの人がIDE目的ってことやな
0316774ワット発電中さん
垢版 |
2018/03/12(月) 23:25:58.71ID:oHiCghw3
STM32F103C8T6でもnanoよりloop一周の時間が10倍は速かったよ
ESP32は240MHzでデュアルコア
どれだけ速くなることやら
0317774ワット発電中さん
垢版 |
2018/03/13(火) 02:16:39.28ID:9bFztfKF
>>315
>Arduinoは低性能だけど。
これは、「AVRのArduinoは低性能だ」って意味なのかな?
0318774ワット発電中さん
垢版 |
2018/03/13(火) 03:01:27.80ID:RqNg7cQB
ADCH取得するだけで1/4になってるのにfloatにして割らなくても。
0319774ワット発電中さん
垢版 |
2018/03/13(火) 06:29:56.23ID:x8qw62wl
CPUタイムもスタックもスタティックも余りまくってて、ヒープ使いまくりのclassとかの状況で
細かいこと気にしても意味ないからねー
0320774ワット発電中さん
垢版 |
2018/03/13(火) 07:34:05.88ID:3cVDKY+7
>>312
それもあるけど
質問の一行目の意味を即理解してるのが凄いと思った
俺はコード読んで反転させたかったのかと理解した
暗号化されているかのような仕様書を理解してみんなに説明するプロジェクトリーダーっている。
だからこそリーダーなんだろうな
0322774ワット発電中さん
垢版 |
2018/03/13(火) 12:12:02.37ID:ieVAduPc
>>297
MSの拡張入れてある?
だったら、空フォルダを開いてF1->Initializeでいけるんじゃね?
0323774ワット発電中さん
垢版 |
2018/03/13(火) 19:45:40.08ID:EmYTxa14
>>311
割り算が単なるシフトにコンパイルされるには条件(unsigned)がある。
その条件を満たさないと単純シフトにできないよ。
0324774ワット発電中さん
垢版 |
2018/03/13(火) 20:25:04.42ID:8z+R2Q22
>>323
算術シフトはできないの?
0326774ワット発電中さん
垢版 |
2018/03/14(水) 05:34:49.61ID:DMYCIQja
esp32て100kHzの正弦波を全波整流して200kHzのゼロ検出とピーク電圧を計測するのに使ったな
俺の腕ではnanoさんだと厳しくて性能でゴリ押しした
圧倒的な性能でゼロ検出してからのifループで入力電圧最大値を変数にひたすら入れていき
再びゼロが来た時に最大値を記録した変数を渡し変数リセットなんていうクソコードでも
取りこぼさずやってくれた
0327774ワット発電中さん
垢版 |
2018/03/14(水) 06:03:41.35ID:K89QTrUn
>>326
nanoで200kHz短波はanalogReadに掛かる時間的にも
どの道厳しいよ
そもそもどんな用途?
0328774ワット発電中さん
垢版 |
2018/03/14(水) 06:21:34.98ID:DMYCIQja
>>327
少し前に流行ったZVSの誘導加熱のアナログロジックを
マイコン制御で電流と周波数を任意に設定できるようにしたら面白そうと思っただけの用途
設計段階からもう趣旨変わって
フルブリッジ になってゲートドライバのデッドタイムに頼らず、あくまでマイコンだけでやってみようとなって
それに必要だったのがCTで拾った正弦波の上に書いたやつ
それで目標だった100kHzは難なく実現して
その後に更に趣旨変わって高周波化になぜか突き進んで30MHzちょっとまでいって
銅を熱することに成功して満足して終わった。
esp32はまだ性能を持て余していたけど、
その先はシーリングライトが勝手に消えたりテレビが誤動作起したりポルターガイスト現象起き始めて、
電波法的にヤバそうだからやめた。
0329774ワット発電中さん
垢版 |
2018/03/14(水) 06:29:21.43ID:K89QTrUn
思っていたより壮大で思わず笑ってしまった
おそらく一次側にノイズフィルタをきちんと入れれば大丈夫だと思う
0330774ワット発電中さん
垢版 |
2018/03/14(水) 06:40:33.03ID:DMYCIQja
>>329
大電流がいたので車の鉛蓄電池でやりました
ただの30Aのノイズ発生装置と化した
スチール缶にリッツ線巻いて熱湯出来たのに喜んでいたのが
スチール缶自体が熱で変形・溶ける能力になった時点でなんだかダメな領域に踏み込んでいる気がした
誘導コイルが水冷になった時点でもう目標の面影もなかった
よく考えたらこれ卒論ネタでやった奴だから特定されるやつだった。
0331774ワット発電中さん
垢版 |
2018/03/14(水) 07:00:07.28ID:ko5HGagr
書き方が面白いから卒論だけじゃなしに本にしたらいいと思う。読ませる文章は好きだ。
30AのMHzオーダーなスイッチングはかなりの試行錯誤があったはずだから,それも含めて。
0332774ワット発電中さん
垢版 |
2018/03/14(水) 07:06:45.15ID:DMYCIQja
パナソニックのIHに使われてる3倍共振回路が何なのか
ジャンク仕入れて解析したりそこから得た何かを利用した色々アウトなものがあるので
fetや手配線による周波数的な限界が来たらもう1セットフルブリッジ を増やすというゴリ押し回路
最後はfet20個になりました
0333774ワット発電中さん
垢版 |
2018/03/14(水) 07:13:10.34ID:NxImWeJW
30A・・・ 3Dプリンタのヒートベッド用ヒーターみたいだ
0334774ワット発電中さん
垢版 |
2018/03/14(水) 07:16:51.30ID:ojnJ9Q6p
朝から読みふけってしまったじゃないかw
3倍共振インバータは蓋を開けてみれば
あ、ふーんで終わる代物だったでしょう
0335774ワット発電中さん
垢版 |
2018/03/14(水) 07:31:11.30ID:Z5aPmiY5
本来の職務であるWLANを自らの手で作り出した電磁波によって阻害されるESPたん
0336774ワット発電中さん
垢版 |
2018/03/14(水) 09:37:56.05ID:pl+ofsHW
>>324
算術シフトと割り算は結果が異なるから
そのままは使えない。
-1 / 2 = 0 割り算
-1 >> 1 = -1 シフト
0337774ワット発電中さん
垢版 |
2018/03/14(水) 11:51:21.13ID:yDM+p7ZI
次はIGBTをドライブしてテスラコイルのスイッチングだ
変調して音を奏でるんだ
曲は「雷電」
0338774ワット発電中さん
垢版 |
2018/03/16(金) 21:41:53.69ID:67WrLYvW
上の書き込みで気になってESP32買ってみたけど
これは確かに凄いな
今後も安定した供給が見込めるのなら設備に組み込みたいぐらいだ
0339774ワット発電中さん
垢版 |
2018/03/16(金) 22:48:57.76ID:lsCa4uFa
esp32は安いルータでかなりのシェアを持っているから
もし次期モデルが来たとしても、ピンアサインやパッケージと言うか小基板はそのままにするはずだよ
PWMがほぼ全ポートにあるのは丁度ドローンブームだっただけで
ルータには不要だから削られる可能性はあるけれど
0340774ワット発電中さん
垢版 |
2018/03/17(土) 07:15:17.09ID:9P1H8VBa
esp32は中国政府のバックドアがありそうで怖い
低価格、高性能かつ無線lanありだから
、俺が中国政府の関係者なら補助金をメーカーに出してでも拡販したい
バックドアがついてるからどうした、あるいは今までもどこかの政府が用意したバックドアつきのものを利用してきただろと言われればそれまでなんだけど
0341774ワット発電中さん
垢版 |
2018/03/17(土) 08:11:18.63ID:czQiTaRg
ただCPU2つがアドレス空間を共有しているから
簡単に割り振りできるのが何よりも便利ではある
ATmega328がnanoサイズでクロック向上デュアルコア化されたら
多少高くてもら欲しいぐらい。
海外のforumでも昔から性能の向上を要望され続けているけど
2年前ライバルからの買収で多くのエンジニアが退職されて
新規開発が今もなお厳しい状況なんだとか。
0342774ワット発電中さん
垢版 |
2018/03/17(土) 12:23:46.99ID:B/xgQ8b7
Arduinoを始めたばかりの超初心者です。初めて質問します。
ライントレーサーを作ろうとしていて、ダイセン製ギヤードモーター2つをArduinoMEGA(互換機)とArduino純正モーターシールドで動かそうとしています。

USBで電源供給すると安定してプログラム通りにモーターが動きますが、エネループ1.2V×5本=6VをArduinoの「Vin」につないで動かすと、モーターの動作が不安定になります。
普通の乾電池1.5V×5本=7.5Vで動かしても同じく不安定です。

モーターの動作が不安定になる原因が特定できていません。
例えば電源を「Vin」ではなく「5V」につないで試したいのですが、
6Vの電源を「5V」につないで流すとArduinoは壊れますか?
「5V」は5V以下の電源をつなぐものですか?
0343774ワット発電中さん
垢版 |
2018/03/17(土) 13:37:28.69ID:hBFNHqt/
5Vはレギュレーター通ってないでしょ
0345774ワット発電中さん
垢版 |
2018/03/17(土) 13:43:48.95ID:hBFNHqt/
モーターの代わりにLEDでやってみれば
動作が安定するようだったらノイズだろうから
モーターの両端にコンデンサーいれる
0346774ワット発電中さん
垢版 |
2018/03/17(土) 13:47:28.82ID:B/xgQ8b7
レギュレーターもコンデンサーも使っていませんでした。
「5V」に繋ぐにはレギュレーターで降圧させる必要があるんですね。
0347774ワット発電中さん
垢版 |
2018/03/17(土) 14:00:02.80ID:hBFNHqt/
? Vin はレギュレーター通ってCPUに接続されてるけど・・・
0348774ワット発電中さん
垢版 |
2018/03/17(土) 14:20:17.79ID:01kF+3Y4
単にパワー不足じゃ
3端子レギュは7〜12Vの電圧がいるけど
電池直列だと内部抵抗も大きくなるので電圧降下大きいはず
一回動作させてる時の電圧測ってみれば?
0349774ワット発電中さん
垢版 |
2018/03/17(土) 14:26:00.70ID:XaX3X1xm
>モーターの代わりにLEDでやってみれば
>動作が安定するようだったらノイズだろうから

モーターの方がでかい電流が流れます。
ノイズじゃなくてもレギュレータがもたないのかもしれません。
ダイセンのギヤードモーターの起動時のでんりゅうがどれぐらいなのかわからないですが
それが、マイコンボードの5Vから供給されるのであれば、レギュレータにはきついかもしれません。

外部に十分大きい電流駆動能力のある5Vレギュレータを用意して、マイコン基板の5Vから供給してみては?
(マイコン基板の電源と、モータードライブの電源を分けるのも方法だと思います)
0350774ワット発電中さん
垢版 |
2018/03/17(土) 14:29:15.01ID:B/xgQ8b7
レギュレーターは内蔵されていて「Vin」に通っているんですね。
すみません。初心者すぎてよく分かっていないのですが、ネットや本で乾電池1.5V*4本=6Vの電圧を
「5V」のところに挿している回路図をよく見ますが、「Vin」に挿すのと「5V」に挿すので動作の安定性に
差はありますか?
0351774ワット発電中さん
垢版 |
2018/03/17(土) 15:32:42.17ID:XaX3X1xm
>>350
>ネットや本で乾電池1.5V*4本=6Vの電圧を

乱暴な気もしますが…
Megaで使っているマイコンの電源電圧の絶対最大定格(それ以上かけると壊れないことを保障できない)は6V。
動かないことはない、ってことでしょうね。

電池の電圧は電流を引くと落ちます。モーターが回るとボルト単位で落ちるかもしれませんが、マイコンはなんとかそれでも動作するかも。
レギュレータは、過大な電流を引くと、極端に電圧が落ちる場合があります。

重複しますが、整理すると
「電池の電圧6V」をVINに繋ぐと、マイコンには安定した5Vが供給されるが、過大な電流では電圧が極端に落ちるかも。
「電池の電圧6V」を5Vに繋ぐと、マイコンにかかる電圧は不安定になるけど、案外電流の変動には強い場合も。

なお、電池の電圧1.5Vは公称値でして、消耗や電流で変動します。
設計するときは用途によりますが、1本あたり 1.6V〜0.9V で変化しても大丈夫なように考えることが多いと思います。
0352774ワット発電中さん
垢版 |
2018/03/17(土) 17:47:17.31ID:D2sArrS0
ArduinoMegaの回路図
ttps://www.arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf
Arduino純正モーターシールドの回路図
ttps://www.arduino.cc/en/uploads/Main/arduino_MotorShield_Rev3-schematic.pdf

モーターの電源は、モーターシールド上のネジ端子のVin(LSP5)か
(VIN-CONNECTが切断されてない場合は)Arduino本体のVINから供給されてるから
5Vのレギュレータどうこうは関係ないんじゃないかな

もっとも、それだとUSBからの電源供給でモーターが回るのが不思議なんだけど
誰か説明して
0353774ワット発電中さん
垢版 |
2018/03/17(土) 18:22:36.55ID:hryJh3Om
Arduinoのレギュレータ入口側は7V位ないと足りないんじゃないかな。
作りたいのはライントレーサで、USBを電源にしたら動くんでしょ?
それならUSBモバイルバッテリを電源にすれば良い。
倒立振子をそうやって作ったよ。
https://i.imgur.com/WjLmdfs.jpg
0354774ワット発電中さん
垢版 |
2018/03/17(土) 18:51:44.56ID:XaX3X1xm
>>352
>もっとも、それだとUSBからの電源供給でモーターが回るのが不思議なんだけど
ほんとうだ。

NCP1117(レギュレータ)の5V出力からVINに逆流しているのかも。
>The NCP1117 family has two internal low impedance
>diode paths that normally do not require protection when
>used in the typical regulator applications.
一応逆流をさせるためにプロテクションダイオードは内蔵されているらしい。
でも大きい電流を賄えないから、そういう場合は外付けダイオードの追加が推奨されている。

もし、このパスでモータードライブシールドに電源が供給されているのだとすると、
現状、USB電源で駆動して、モーターをドライブしているのは、かなり危ういことになるけど
実際のところはどうなってるんだろう。

電池ではなくて、VINにしっかりした7V以上の電源を繋いで動作実験した方がいいかも。
0356774ワット発電中さん
垢版 |
2018/03/17(土) 19:39:52.92ID:D2sArrS0
うっかり「5Vのレギュレータどうこうは関係ない」って書いちゃったけど
上のほうで書かれてるような「レギュレータがモーターの電流流せない」とかじゃなくて
モーターに電流流れたとき、VINの電圧(電池の電圧)が
レギュレータの最低入力電圧以下に下がっちゃうってことなんだろうな
・全温度範囲での最大ドロップアウト電圧1.2 V (800 mA時)

新品電池 5本直列時ならいけてもよさそうな気はするんだけど・・・
0357774ワット発電中さん
垢版 |
2018/03/17(土) 19:59:03.83ID:hBFNHqt/
接続図みてみたい
0358774ワット発電中さん
垢版 |
2018/03/17(土) 21:19:39.14ID:B/xgQ8b7
皆さん答えてくださってありがとうございます!明日試してみます。
0359774ワット発電中さん
垢版 |
2018/03/18(日) 06:55:42.04ID:Y+guC7pB
逆流って言っても本来ブリッジ用のパターンはんだ付けしてなきゃVINからも入らない気がするんだけどな。これ普通にドライバのVSS(5V)だけから供給した結果ドロップダウンに耐えきれず不安定になってるんじゃ
とりあえず使い方的にはLSP05にモーター用の電源別で入れたげるか、arduino側と共通にしたいならはんだブリッジ接続してVINに12V入れるのが安全
0360774ワット発電中さん
垢版 |
2018/03/18(日) 07:08:12.32ID:Y+guC7pB
というか>>352の時点で洗い出しされてたか、すまん。
多分USB供給量>モーター消費>レギュ供給量の絶妙なバランスなんだろうなぁ
0361774ワット発電中さん
垢版 |
2018/03/18(日) 07:08:14.60ID:6b7jvTHW
>>342
エネループは大電流取り出しに向いていない(せいぜいDCモータ1つまで)
東京マルイ No.153 ニッケル水素ミニSバッテリーを使うのが入手性その他の点一番楽だった。
配線はもちろん太い電線を使ってください。
0362774ワット発電中さん
垢版 |
2018/03/18(日) 07:13:15.39ID:6b7jvTHW
自分が工作した範囲内で書くと上記のバッテリから自作の電源回路を通じて
DCギヤードモータ2個とRCサーボ4個までは同時制御できた(その他センサ、Arduino Uno等も含む)
ノイズや電圧降下に関する問題はもちろんあるので地道に対応した。
0363774ワット発電中さん
垢版 |
2018/03/18(日) 08:42:31.02ID:2LLUo43a
Arduinoをバッテリ駆動するときのお勧めはMT3608
入力電圧の幅が広く、出力は3.3Vにも5Vにも使えるし、
電流も取れる。入力はエネループ2本でok
0365774ワット発電中さん
垢版 |
2018/03/18(日) 10:29:59.08ID:9PIrmy2V
ESP32でやっちゃえば5V要らずでIOたくさん無線もできて安くてぱわふりゃーで、、、、
0367774ワット発電中さん
垢版 |
2018/03/18(日) 13:24:26.60ID:Fwr06sJG
>>359
>ブリッジ用のパターンはんだ付けしてなきゃVINからも入らない
現物持ってないし、質問者がどうしてるのかも分からないけど
VIN-CONNECTのパターンはデフォでは接続されてて、分けたいときは
カットしろってことらしい

ttps://store.arduino.cc/usa/arduino-motor-shield-rev3
>This is possible by cutting the "Vin Connect" jumper placed on the back side of the shield.
0368774ワット発電中さん
垢版 |
2018/03/18(日) 13:54:20.32ID:XXpgdCt8
Ali、色々扱ってるけど国内で若干高くても(数倍とかは流石に高すぎるし)同じレベルの品揃えで扱える所ってないのかな?
0370774ワット発電中さん
垢版 |
2018/03/18(日) 14:43:07.15ID:ChQvgUCg
aitendoに行って何が欲しいか尋ねれば中国人のお姉ちゃんがタブレットで丁寧に説明してくれるで
0371774ワット発電中さん
垢版 |
2018/03/19(月) 19:18:32.24ID:0GBvlAGk
超が付く初心者で申し訳ないです。
arduinoで複数の時計やGPSのモジュール繋いでLCDに投影したいんだけど、プログラムとかが全然分からないのでお勧めの書籍を教えてください。
簡単な電子機器の修理をしてたのでハードやアクションは分かるのですが、プログラムは素寒貧で学生時代にロボット動かすのに少しだけC言語に触った程度なので初心者向けだとありがたいです。
お願いします。
0373774ワット発電中さん
垢版 |
2018/03/20(火) 03:08:58.58ID:NoaeSjJq
大抵モジュールのライブラリーにスケッチ例があるから
それをつなぎ合わせて、はい完成
0374774ワット発電中さん
垢版 |
2018/03/20(火) 06:31:10.28ID:LFJpcetE
Arduinoで全整流の最高電圧を測定する方法って
上の方で見かけた手法が効率いいの?
max関数でおそらく最大値を一周期分記録し続けているんだと思うけど
ほぼそれだけでATmega328だとリソース取られるよね
だからデュアルコアのesp32使ったのかな
0375774ワット発電中さん
垢版 |
2018/03/20(火) 06:37:09.02ID:UjRYl0jt
直にレジスタを制御しないと1周期分のデータ取得すらかなり厳しいと思うよ。
0376774ワット発電中さん
垢版 |
2018/03/20(火) 07:31:21.59ID:8SUGhpE4
俺が以前に試した時は
60Hzを全整流した120Hzなら4周期分ぐらいサンプリング取ってやっとバラつき収まったか?ぐらいだった
ピークを運良く拾ってくれるようなやり方よりも
LPFなりで平滑化してからの方がいいも思う
0377774ワット発電中さん
垢版 |
2018/03/20(火) 09:10:47.40ID:2dzBNZN4
連続的で安定した波形でレスポンスを求めないなら、

入力波形が100Hzだとしたら、99Hzで101回とか、99.9Hzで1001回サンプリングするのはどう?
0378774ワット発電中さん
垢版 |
2018/03/20(火) 20:51:32.89ID:c5THFjIj
ピークホールド回路付ければぁ?
あとは、いちいち全部取って平均じゃなくてその場でEMA取ってしまえば変数は一個でいい。
0379774ワット発電中さん
垢版 |
2018/03/21(水) 09:13:12.16ID:bGup7pGL
複雑に組みすぎなんじゃね
120Hzのピーク値なんてwhileで捕まえて
決めた時間内にmax関数で最大値を変数へ更新し続けるだけで十分
ad精度を少し落としてサンプリング数を増やすと結果的に安定する事もある
どうしても簡易的なデジタルのみでやりたいのなら
この辺のチューニングでやりくりするしか無い
analogReadもビットでポートを直に指定するだけで一度の呼び出しで40クロックはいるのが4クロックぐらいまでは減るから
ループ速度が重要な所はArduinoのオーバーヘッドをいかに軽減するかに力を入れるといいよ
atmega 328pはそんなに低性能じゃないから、
性能を引き出す事にチャレンジするのもまた新しい楽しみや知恵の蓄積に繋がるはず
0380774ワット発電中さん
垢版 |
2018/03/21(水) 10:05:49.02ID:cJeXycHS
そもそもなんでデフォでポート指定は内部的にそんな遠回しな処理になってるんだろう
初期のコンパイラ仕様がしょぼくて後々互換的な問題が出て来たのか?
0381774ワット発電中さん
垢版 |
2018/03/21(水) 10:23:34.37ID:w4vHv06b
その通り。
性能よりもアーキテクチャごとの互換性重視なので初期に制定されたコンパイル仕様は
不具合でもない限り変更は為されない。
性能が欲しければ直叩きできるように救済処置はきちんと取られている。
0382774ワット発電中さん
垢版 |
2018/03/21(水) 14:54:39.07ID:xNm6sWiv
Arduino初心者です。
質問させてください。

arduinoを使用してロガーをつくりたいのですがフラッシュメモリやグローバル変数が足らなくなってしまいうまく動きません。
なのでスケッチ内でメモリを一番消費しているSDライブラリから使わない機能を無くしたライブラリ作ればメモリを節約できると考えました。
そこでSDライブラリ内のSD.cppのmkdir()やremove()を消してコンパイルしてみたのですが使用しているグローバル変数もフラッシュメモリの量も変わりませんでした。

自分で検索しても限界を感じたのでSDライブラリのメモリ節約方法または純正SDライブラリよりメモリを使用せずにSDを教えて欲しいです。

ちなみに使いたい関数はbgin,exist,open,close,plint,plintlnだけです。
0383774ワット発電中さん
垢版 |
2018/03/21(水) 14:56:19.01ID:xNm6sWiv
>>382
C++も触ったことが無いので自分の力でライブラリを制作するのはできなそうです。
0385774ワット発電中さん
垢版 |
2018/03/21(水) 16:10:19.39ID:jDG7DfBs
>>384
IDEに元々入っているライブラリを使ってました。
そのライブラリは見つけてませんでした。試してみます。ありがとうございます。
0386774ワット発電中さん
垢版 |
2018/03/22(木) 01:48:15.37ID:BHdsxfk/
>>382
こういうこと書くと、猛烈な反撃あちこちからくらうのが目に見えてるんだけど
製品千・万台作って売るからコスト最優先とか、あるいはUNOでこれだけのことやって
オレスゲーと自慢したいんじゃなかったら、あっさりMEGAとか使うっていうのも
選択肢じゃない?

ここ見てると、シリアル複数チャンネル使うのに、ソフトシリアルで苦労してるとか
一体どういう意味があるのか?って疑問わいてくる
中華ArduinoだってUNOしかないってわけじゃないんだし
0387774ワット発電中さん
垢版 |
2018/03/22(木) 02:30:38.97ID:IiSXCIWP
カネで買えないものにカネをかけろ!
0388774ワット発電中さん
垢版 |
2018/03/22(木) 06:43:34.33ID:/MHGFL3m
>>386
Unoってそんな立ち位置のお試し版スレスレの商品だよね本来
メモリやGPIO足りない使い方の人はMega買ってねみたいな認識で正しいと思う
0390774ワット発電中さん
垢版 |
2018/03/22(木) 07:18:40.87ID:LHlMV7G4
UNOが幅を利かせる理由

(1)「純正品だと」Megaは結構な価格になる。
(2)Megaはフォームファクタがちょっと違う。
(3)解説書はUNOが多いから安心。
(4)UNOでここまでできるんだ、と人を驚かせたい。

(1)は互換品を探せば十分低価格と言えるものはあるはず。

収納スペースが先にありきだったら、(2)は問題になるかな。
でもUNO形状のリッチなものもあるよな…

(3)、(4)あたりは、古いPICマイコンのユーザーに通じるものがあるな。

提供する側も、使う側も、UNO推しを続けていると不幸になりそう。
0391774ワット発電中さん
垢版 |
2018/03/22(木) 07:34:34.58ID:IUajlnNm
nanoの互換品に至っては300円程度から手に入るから
俺はもうnanoをDIP ICの扱いでそのまま組み込んでる
社内で使う設備に限りだけど
0392774ワット発電中さん
垢版 |
2018/03/22(木) 21:06:59.90ID:nKBsWfEF
>>386
運用する場所、シールドの作りやすさを考えUnoまたはPro Miniの使用を検討していました。
>>390
Uno形状のリッチなのもあるのですね、初心者なので知りませんでした。調べて良さそうだったら使用してみます。
0393774ワット発電中さん
垢版 |
2018/03/22(木) 23:13:08.74ID:ihy1qit0
>>392
シールドを自作するくらいの力のある人なら、Arduinoを「CPUボード」と捉えずに
クロスプラットフォームで使える「IDE・API・ドライバ・サンプルプログラム群」という、今風の言い方だと「エコシステム」として捉えてみたらどうかな?

UnoとかMega使って手軽にサンプルプログラムを検証できることが有用なことは
間違いないから、ファーストステップとしてそれはやるとして
シールド自作する力あるんだったら、シールド上にCPU載せるとか
そこまでは・・・って言うんだったら nanoを載せるとかも考えられるし
0394774ワット発電中さん
垢版 |
2018/03/22(木) 23:40:58.39ID:iL1FbPzg
普通に好きなCPU選んでPCB起こすかユニバーサルに張り付ければいいだけやな
テスト用じゃないのに既製品を使うメリットない
0395774ワット発電中さん
垢版 |
2018/03/23(金) 00:00:59.06ID:jDlFc8J0
俺がArduinoIDEに初めて触れたのは、ESP8266を動かすときだった。ハードはAVRじゃなくても何でもいいね。
0396774ワット発電中さん
垢版 |
2018/03/23(金) 01:59:32.33ID:8pWA5Dmh
そう、Arduino==Unoでもないし、Arduino==AVRでもない
まあ、検証されてる環境がUnoだったら、とりあえずはUnoでやってみて
そこから別の環境にもってくのが手堅い手法だし、それが廉価なボードで
できるのがArduinoのいいところだと思う
0397774ワット発電中さん
垢版 |
2018/03/23(金) 04:06:50.62ID:OzGQAMM9
ATmega328って意外な所でちょくちょく見かけるな
電子レンジのタクトスイッチが調子悪いから
分解修理した時に見かけた
0398774ワット発電中さん
垢版 |
2018/03/23(金) 05:26:53.57ID:4Rhi4V0S
リモコン付きの扇風機で見かけた
変速が滑らかで自然風に近い事を売りにしていた扇風機
サイリスタを変調制御していると思っていたが
意外な事にモータがDCだったからfet一つで制御
0399774ワット発電中さん
垢版 |
2018/03/23(金) 05:50:28.32ID:jS1aYY3B
3Dプリンタだけかと思ったらそんな身近な家電にも入ってるんだ・・・
0400774ワット発電中さん
垢版 |
2018/03/23(金) 06:28:03.17ID:KzdCtPu5
うちの製品にもATmegaシリーズはよく使っているよ
5〜10年保証の品には特にその傾向が強くなる
初心者の方ほどよくわかると思うけれど
とにかくタフなんだよ。
出力をショートさせてしまったり定格を遥かに超えた入力
更には電源の逆接をしたことのある人は多いと思う
それでも壊れなかった人が大半じゃないかな。
外部ノイズでFlashが化けるなんて事もまずない
信頼性が必要な用途ほどよく使うから
長年使用される前提の家電では見かける率が高くなると思われる
0401774ワット発電中さん
垢版 |
2018/03/23(金) 06:55:08.42ID:cazWDgTL
そもそもATMELのマイコンは宇宙開発で頻繁に使われるマイコン
ググればNASAやJAXAのレポートがいくらでも出てくると思う
0402774ワット発電中さん
垢版 |
2018/03/23(金) 07:33:27.28ID:BBLPBrPX
>>393
詳しい解説ありがとうございます。
CPU、nano を載せる事は考えたこともありませんでした、少し考え方が狭かったです。
もう少し色々勉強してハードは選定しようかと思います。
■ このスレッドは過去ログ倉庫に格納されています

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