Arduino初心者熱烈大歓迎質問スレ part25
■ このスレッドは過去ログ倉庫に格納されています
>>379
>IFで変数==読み取り値(16進数)を直接じゃあかんの。
それでええんやで。コードの記述の仕方がアカンのやで 仕様を見る限りmegaはunoの上位互換って考えていいのかな?
中華互換ボードなら価格差も大して変わらなさそうだけど使い分けたりする? unoよりnano、組み込むならpromini
megaよりESPって感じかな
IOほしければエクスパンダで サイズがでかい、価格が高い、消費電力が大きい という要素があって上位互換と言えるだろうか シリアルモニタへの文字の表示なんですが、
画像のようにスケッチを書いて5秒事に表示させてます。
だけど、画像の下のウインドウのように「Apporox」までで止まってしまい、次の5秒になると「. Alttidude〜Apporox」までかプリントされます。なぜ一度に最後までプリントされないんでしょうか?
https://i.imgur.com/k89I8Re.jpg 試しに80〜90行目をコメントアウトしたら今度はPressureの途中で切れました >>387
パソコン側の問題かも
文字止まった後もマイコン側の送信LED5秒ごとに光ってない? >>390
言葉足らずですみません
パソコン側へのプリント自体は5秒毎にずっとされるんですが、プリントの開始文字の終わりの文字の位置がおかしいんです
途中で来れる→5秒後→切れた所から改行含んでその直前の位置まで→5秒後→繰り返し >>391
コードに問題点は見られないので、
arduino本体のマイコンは正常に機能してる可能性が高く、シリアルusb変換のICからパソコンのソフトの間の問題の可能性が高い
まずはシリアルの通信速度下げてみて
あと出来れば違うPCかosで試して pressure ってのは 100.0F で割るモノなの? >>393
パスカルからヘクトパスカルに変換してるんだろう >>394
thx.
ヘクト(h)は ÷100.0 なのか。÷1000.0 だと思ってたw
すると最後の"F"の意味が判らん。 あ、floatだから最後に"F"なのか? "LL"みたいな? 1.0fは単精度浮動小数点
1.0は倍精度浮動小数点 おー!! それぞれに意味があるのか! 勉強になるぅ〜 thx. 通信速度を9600に下げて書き直したけど改善しませんでした。
そのままのコードで別のマイコン(ESP32DevKitC)だとOKでした
って事はマイコンボードのUSB変換の問題ですか?
ドライバーですけどDevKitCはCP2012Nだけど、nRF52840はAdafruitの名前が付いてました スルーしてて申し訳ない。
パソコン側のシリアルバッファーに溜まって吐き出していないだけの様な気がするので、
Serial.print("m"); をSerial.print("m________________"); としてみてはいかがだろう? >>387
細かく追いかけてないですが、自分もserial.printを連続でコールしてシリアルが詰まったような現象になった事があります。
その時は、何回かに一回sleepを入れる、もしくはstringに溜めておいてserial.println一回だけにすれば回避出来てました。
Windowsだとならなかったんで、MacのIDEの問題かもしれません。 >MacのIDEの問題かもしれません。
IDEかドライバか切り分けしたら?
$ ls /dev/tty.usb*
/dev/tty.usbデバイス名
$ screen /dev/tty.usbデバイス名 9600
macもってないけどこれでシリアルみれるみたい ArduinoUNOのpluseIn関数のタイムアウトを100msに設定して関数の前後にmillisを入れてタイムアウト時間をを測定したのですが、70ms前後になります。
何故ですか? 皆さんどうもありがとうございます
>>400
アンダーバーはどういういみですか?
ダメでした。
https://i.imgur.com/fvzjOG1.jpg
>>401
Stringに溜めてprintln一回だけはどうやるんでしょうか?
>>402
screenコマンドとcuコマンドで見てみましたが同じく途中で切れてました
https://i.imgur.com/9DUDlOP.jpg >>406
アンダーバーは、シリアルで送る文字列をうしろに長く伸ばしたら、
途切れる場所が変わるかどうかを見極める為で、アンダーバーである必要はありません。
シリアルバッファーを埋めて送信した文字列を吐き出させる為に付加してみました。
変わらないですね。てか、なんでピリオドの前で止まるんでしょうね。
ピリオド取ってみたら? >>406
いろいろもがいてみるしかないかな?
Serial.println()の次の行にSerial.flush()いれてみるとか… >>407
アンダーバーの件了解しました。
どうやらピリオドで止まるわけじゃなさそうです
画像のように初回のプリントはPressureのPressで止まり、以降は毎回Approxまでで止まってました
https://i.imgur.com/3hpp7Sk.jpg
https://i.imgur.com/foACCfb.jpg
試しにApprox.を消したらAlttitudeの途中まででした
https://i.imgur.com/cumogbb.jpg
>>408
Serial.flush()試してみました
しかし上の画像の通り残念ながらこれでも変わらなかったです >>409
んじゃあ、Serial.println();の次におまじないのdelay(10); >>410
わあ!うまくいきました!
これはどういう理屈ですか?
68行目(printlnの後)で5000マイクロ秒ディレイしてあるんですけれど、それとは何が違うんでしょうか?
https://i.imgur.com/EN9Msa7.jpg >>411
乙です。
ピリオドは関係なかったですね。申し訳ない。
自分の場合だとprintln()は使わずprint("\n")と書いてます。
まぁ、個人的な決まり事ですがw まとめると
・UNO(nRF52840版)でシリアル送信が5秒遅れる場合がある
・同じスケッチでESP32DevKitCだとこの問題は発生しない→スケッチに問題なし
・Macと接続した場合発生する。WindowsPCでは発生しない→UNO(nRF52840版)に問題なし
・ArduinoIDEの問題ではない→Mac自体に問題がある
MacのnRF52840シリアルドライバがポンコツくさいな
最新ドライバかパッチを探してみたら? あら、公式"Reference"の"Example Code"を見ると、
println()はdelay(10);を入れるようになってるね。
print()の方はdelayがない。 >>411
効いたみたいで良かったです。
シリアル通信で他デバイスにデーターを送るときとか、GPIOからボタンなどの入力を受け取るときとか、
インターフェイスが絡む場合、経験上delay(10);でひと息入れさせると上手く行くことが多いです。
すみませんが、68行目のdelayとの違いの本当の理屈はわかりません。
ただ、関数を抜ける際などの取りこぼしはままあるので、そういうものと受け止めつつ、
実用上、挙動が怪しいところでは、他のソースに手を入れる前にこうしてみています。 すみません、Pulsin関数ってArduinoUNOだと13番ピンは使えないですかね?
PWM対応ピンでしか機能しない可能性ありますか? 春に出たnanoシリーズの話題全く見かけないんだが誰も買ってないのか? esp8266,esp32が無ければ話題になったんだろうけどな >>419
そういうあなただってリンクすら張らず、話題にする気も興味も全く無さそうじゃんw Nano Every
MCU ATMega4809、USBシリアル変換にSAMD11
唯一の5V
Nano 33 IoT
MCU SAMD21、WIFIモジュールにESP32
Nano 33 BLE
nRF52840
Unoのフォームファクターはレガシーとして残すけど、これからはZero、Nanoをこれからのフォームファクターに移行したいように見えるんだがどうよ
3.3V中心だし
>>421
公式のボードなのにリンクがどうとか難癖かよ
リンクは>>1にあるだろう お前、話題にしたい人間の態度じゃねえな、やり直せ。 >>422
メインのMCUよりもシリアル変換モジュールや通信モジュールの方が性能が上とかもうよく分からんな >>422
見事な平文で感心した
死んでもリンク張らねえぞって意気込みが無駄に空回りしてて笑う
リンク張れって言われてここまで意地張る僕ちゃんかわいい >>427
それSAMD21だからESP32以下じゃん
素直にESP32だけ使わせてくれた方がよっぽどマシ AliexpressのセールでESP32-CAMとESP32Devkitあわせて$5でした。 m5stackがコスパ機能ともに最高すぎて
arduinoゴミ箱に捨てたわ voutからの供給をソフトウェアから停止したい。
ESPr Developer(ESP-WROOM-02開発ボード)にUSB接続して動作させています。
voutは、挿されたUSBのvccに直結だとどこかで見た記憶があり、
voutからの電流はスケッチからソフトウェア的に停止することはできない認識でいますが正しいでしょうか。
なので、voutからの供給を止めるためには、リレーなり、トランジスタなりを挟んで、GPIOで制御するしかないのでしょうか。 あ、esp8266スレがあった……。
つい初心者というスレタイに誘われて……。
こっちじゃだめですか お二方とも、ありがとうございます。
トランジスタでのスイッチを検討したいと思います。
ありがとうございました。 中華Pro Miniについて質問です
3.3Vのが欲しいんですがアマゾンを見てもFTDIの並びが逆のタイプしか見当たらないです
もう以前のように普通の並びのは売られてないんでしょうか? >>440
どうもありがとう
リンク見てみたけど3.3のはAtmega168しかなかったです クリスタルを8kHzのに張り替えたらいいって事ですか? >>442
クロック落とさないと3.3v安定動作しない
(16MHzのままでも一見動作するが誤作動の原因になる)
8kHzでは遅いのでせめて8MHzでね >>441
あった
https://www.aliexpress.com/item/32963423749.html
俺は6P-6Pのフラットケーブルで接続してる
完璧を求めるならレギュレータも5V品から3.3V品に交換
内部発振8Mに変更するなら部品交換は不要
動作クロックで如実に消費電力が減るのでおもしろいよ
Mega328P MU 3.3V 16MHz 7.5mA (BuitinLED 1.5mAを含む) ※参考値
Mega328P MU 3.3V 8MHz 4.8mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 1MHz 2.0mA (BuitinLED 1.5mAを含む)
Tiny44A 3.3V 8MHz 2.0mA
Tiny13A 3.3V 9.6MHz 1.0mA >>444
その画像と同じものならよく見る逆のタイプです
こういうアダプターだと逆さまにつけないといけなくて、下にスペース作らないとアダプターのピンベッダが干渉して直結出来ません
https://www.switch-science.com/catalog/1032/
>>445
これだと正しい並びですね
なぜ3.3Vは逆向きが主流になったんでしょうか
画像は参考画像だと言って逆のが届かないか心配です
自分でも調べてみたらこっちも正しい並びのようです
https://ja.aliexpress.com/item/32525927539.html
> 内部発振8Mに変更するなら部品交換は不要
どういう事ですか?
クロックやレギュレータの交換不要って事ですか?
手順知りたいです >>446
>届かないか心配です
ケーブルで対応しろ
1)Arduino-IDEにMiniCoreボードマネージャーをインストールする
https://github.com/MCUdude/MiniCore
2)"Atmega328", "8MHz internal"をセレクト
3)ブートローダーの書き込み(フューズビットの設定)
たったこれだけで16MHzのProminiが8MHzや1MHz動作に
ただ内部RCは精度が悪いのでシリアルで問題が出る場合がある
そこは固体ごとにOSCCALを校正 >>438が何言ってるのか全く分からなかったが
ジャンパー線で済む話だったのな、応用力無さすぎじゃね? https://i.imgur.com/TNk2zXo.png
こんな感じでアクセスされてるICへの信号をArduino(16MHz)経由で記録したいと思って
CSの立ち上がりで割り込みをかけてCS,RD,WR,A0を含むポートを参照、次にD0〜D7を含むポートを参照しようとしたんだけど
うまくいかず、理解も全然追いついてないんだが、これはArduinoでは速度的に無理ってことになるのかな?
というかCSの立ち上がりが発生してるはずの回数より明らかに少なくしか拾えてない
アセンブラで書けばいけるとか言われたらお手上げだなあ >>448
どうもありがとうございます
OSCCAL大変そうです
もし、>>440 のクロックを8MHzに変えるなら面実装のレギュレータも3.3Vに張り替えるって事になりますか?
>>449
> 応用力無さすぎじゃね?
そういう話じゃなくて、ジャンパー線で繋ぐよりもシリアル変換アダプター直結だと繋ぐ向き考えたり線でゴチャつかないで済むからです
AdafruitのPro Trinketも逆並びだから地味にめんどくさい
コピー元のSparkFunのPro Miniはこれまで何度かマイナーチェンジしてるけど一度も逆向きになった事無いと思うけど何故中華Pro Miniは逆向きになったんでしょうか?
ただ、今日教えてもらった感じだと、普通の並びのPro Miniの出品はほとんど無さそうなのでコストや入手性等考えたら逆向きの方がいいのかも知れないですね
>>445
以前ESPスレに書き込まれたかたですか? >>446
一番オーソドックスだと思うFT232RLのピンが全部出てる赤い基板の奴に合わせてるんじゃないの >>450
9MHzとか無理w
がんばって1MHzくらい ゴチャつかないで済む
地味にめんどくさい
お前は電子工作自体をやめたほうがいい http://akizukidenshi.com/catalog/g/gM-11007/
秋月のこれならジャンパピンの代わりに薄型のDIP-SWだから裏/表どっちに使ってもあまり高さが変わらないんじゃ >>456
そっ、それも初心者に対するアドバイスなの?
スレの趣旨からすると厳し過ぎるような。。。 シリアルのピンアサインそろえるためだけにモジュールをえり好みしてる初心者なんぞ
早めに電子工作から手を引かせた方がいいに決まっとろうが >>450
ソフトでやるのは無理なのではないかと思う。16Mクロックで1クロックで1アセンブラ命令が動くとしても62.5nかかる。割り込みでそれまで動いてた処理で使ってたレジスタやプログラムカウンタをセーブし
割り込み処理を起動するだけで10命令以上動くから625n以上かかる。さらに割り込み処理内でゴニョゴニョしてる間は次の割り込みは待たされる。 >>459
そいつスパークファンと同じピンアサインの互換品探してるだけだろ?何もおかしくないと思うが おかしくないよ
ジャンパー線でつなぎかえりゃ済むでしょと言ってるだけ
どっちが手間なんだかw FTDIじゃなくてCH340Gだけど薄いから裏表どちらでも高さを気にしなくて使える(裏にするとLEDが見えなくなるけど)
https://www.aliexpress.com/item/32892845068.html PlatformIOってこのスレ?
過去スレで話題あるなら読んでみたいんだが >>458
教えてくれ→教える→俺はこうなんだよ→好きにせーや
まあこうなるわな >>465
冷たいヤツ⇒放置
優しすぎるヤツ⇒忖度し回答
ちょっと優しいヤツ⇒不備指摘 >>455 >>460
だよねー
となるとch数と速度が十分なロジアナか、もっと速いマイコン使えってことになるか… >>467
マイコンだとキツイんじゃないかな
尼で1000円くらいの24MHz 8チャンネル USBロジックアナライザなら
ギリギリ使えそうだけど、コンデンサー交換しないとUSB認識しないとコメあるし
チャンネルごとにトリガー掛けられるからI2CやSPIのデバッグに便利そうだけど アルドゥイーノとラズパイ組み合わせたらどんなことできますか? >>472
これって、PC側のソフトは何を使うの? >>472
そのケースだけ欲しい
デバッガやシリアルコンバータにちょうど良さそうな大きさ
こんなケース秋月かどこかで買える? ケースいろいろ買い集めたけど3Dプリンター買ったら全部放置してあるなあ
ケースだけにかさばるんだよなあw ■ このスレッドは過去ログ倉庫に格納されています