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/
0682774ワット発電中さん
垢版 |
2018/10/09(火) 18:04:34.73ID:BiFnVR1c
誘導されて来ました。
IOExpanderでIOを拡張してるのですが、これで超音波センサーを
使うにはどうすればいいのでしょうか?
特にわからないのは、IO出力は良いのですが、pulseIn関数のところで
どうやっても積算値が入力されていません。
ご存じの方お願いします。
0684774ワット発電中さん
垢版 |
2018/10/09(火) 23:01:06.66ID:xgeAItKV
いっぱいレスついてるありがたい
>>669
窓がそこそこ重くてすべりそう、音はうるさくならないのだろか
部品うまく選べばいい感じになりそうな

>>672
それ考えた、一番実現可能性ありんす、電車は何に?

>>675
けっこう力かかるから、ってプリンタないしきつお

>>676>>677
arduinoどこいった

>>678
ラック&ピニオンっぽい、妄想がはかどる
>>680
ゴツクなりそうな
0685408
垢版 |
2018/10/10(水) 00:49:15.80ID:+RZr0oUv
すみませんが2進数を10進数に変換する方法を教えてもらえますか?

これでいけると思ったのですが15と出なくて
String stringOne = String(1110, DEC); // 整数(10進数)
0686774ワット発電中さん
垢版 |
2018/10/10(水) 00:50:43.37ID:+RZr0oUv
連投すみません。名前の408は以前のログが残っていました。
0687774ワット発電中さん
垢版 |
2018/10/10(水) 07:19:54.83ID:m22i16tD
入力がリテラル、出力が10進文字列でいいなら
String s=String(0b1110);かな
0690774ワット発電中さん
垢版 |
2018/10/10(水) 17:30:04.75ID:JH2KrPcO
何をつかってるの
何をしたいの
何をしたの
何が起きてるの
全部書けや
0691774ワット発電中さん
垢版 |
2018/10/10(水) 20:07:08.87ID:vlgK2g3Q
Serial.readStringUntil()はhex扱えませんか?
0x05などの制御コードがcharでは文字化けしてしまいます
0692774ワット発電中さん
垢版 |
2018/10/10(水) 20:15:14.43ID:Ds+fZH6X
>>689
IOエキスパンダーのライブラリに無かったら
自前でpulseIn関数作るしかないんじゃないの?
I2C経由で入力監視して変化するかtimeoutで抜ける数行で済むようなものだけど
I2Cのオーバーヘッドあるから精度落ちるかもね
0693774ワット発電中さん
垢版 |
2018/10/10(水) 20:18:59.86ID:Z9NoruC4
>>691
10進数読みならその0x05のENQは
ただの5として認識されそうではあるけど化けるのか
バイナリで読ませてstring(変数,HEX)で一旦変換した方が
扱いやすくはあるかもね
制御文字のライブラリとか案外ありそうだけど探してみるのも手
arduino control characterとかでググってみ
0694774ワット発電中さん
垢版 |
2018/10/11(木) 10:20:07.34ID:gD26rlXS
それぞれ2個ずつもっている、arduino、 xbee、xbeeシールド、を差し替えxbeeシールド1を使った時にXCTUで認識できない事が部品の差し替えで分かりました。シールドが良くないことが何となく分かったのですがどこが悪いのか調べる方法はあるのでしょうか。
0696774ワット発電中さん
垢版 |
2018/10/13(土) 15:32:42.47ID:Ww/d9tT/
やったことないけどsppでつないであったらcomポート指定すれば行けそう。
0697774ワット発電中さん
垢版 |
2018/10/13(土) 17:38:33.08ID:T26iF10J
英語の情報がありました!
シリアルポートとして使うんですね
0700774ワット発電中さん
垢版 |
2018/10/17(水) 16:56:45.65ID:yTPrmXrR
arduino UNOかDueで、メインループに影響を与えずにシリアル通信する方法はありませんか?
例えば、送信データをスタックに積んでおいて、別枠で順次シリアル送信する、みたいな。
0701774ワット発電中さん
垢版 |
2018/10/17(水) 17:19:58.47ID:dO0ScS1Z
ハードウェアシリアルの送信バッファが1バイトなんだから
そのスタックから送信バッファに入れる処理は避けられん
そしてハードウェアシリアルはそう実装してある
0702774ワット発電中さん
垢版 |
2018/10/17(水) 18:33:05.50ID:U28h3o82
割り込みでスタック読んで送信すりゃいいじゃん
スタックに入れるのは必要な処理後
0704774ワット発電中さん
垢版 |
2018/10/17(水) 18:58:19.47ID:RBWWPTTe
割り込んだら割り込み処理終わるまでメイン止まるんじゃないの?
0705774ワット発電中さん
垢版 |
2018/10/17(水) 18:59:13.10ID:U+JE8Ky+
リングバッファー介して
Data Register Empty
Transmit Complete
のどっちかの割り込み使えば良いじゃん
0706774ワット発電中さん
垢版 |
2018/10/17(水) 19:00:07.94ID:ybwIOjBv
2つのマイコンを使って外部メモリでデータを共有するしかないな
0707774ワット発電中さん
垢版 |
2018/10/17(水) 19:18:10.26ID:RBWWPTTe
>>706
共有できたとしてその情報やりとりするルーチン回したらメイン止まるんじゃないの?
0709774ワット発電中さん
垢版 |
2018/10/17(水) 20:26:55.15ID:sNb8nK8U
そのメインルーチンってさ
周期決めてねーのかよ?
周期の概念なくテキトーに質問してんだろ?

だから割り込みでメイン止まるとか抜かしやがる
0710774ワット発電中さん
垢版 |
2018/10/17(水) 20:45:36.78ID:rk3XTWCM
あれって最後までいったら即最初に戻ってまた走り出すんじゃなかったのかよ
0711774ワット発電中さん
垢版 |
2018/10/17(水) 21:19:36.60ID:zCrB1et8
そういうのもあるけど、定期的な割込みでフラグ立てて、それを監視して立ったときだけ処理をすれば
単純な無限ループで定時性を持ったつくりにできる
0713774ワット発電中さん
垢版 |
2018/10/17(水) 22:00:53.61ID:sNb8nK8U
どうせBASICでBGM鳴らそうとしたら
音が途切れ途切れになって困る程度の
インタプリタ的処理脳しかないんだろう
0715774ワット発電中さん
垢版 |
2018/10/17(水) 22:13:42.21ID:lW1cMavU
周期決めても割り込みかかったら一緒じゃん。

だから割り込みっつーんだから。
RTOSみたいなosじゃないと厳密には無理なんじゃないかと。
0716774ワット発電中さん
垢版 |
2018/10/17(水) 22:21:04.57ID:MHHtTtiX
デュアルコアのESP32ならコア0にメインやらせて同じメモリからコア1が読み取って送信とか出来るけども
>>700はUnoかDueって書いてるから>>701の通り
0722774ワット発電中さん
垢版 |
2018/10/18(木) 05:20:31.83ID:DWnLwzxG
>>701
やっぱりダメですかorz

20kS/sのA/Dデータを拾いたかったのですが、
何も考えずにシリアル送信は、帯域的にも、タイミング的にも厳しく、
DMAコントローラ的な何かがあればいける?と夢を見ましたorz
0724774ワット発電中さん
垢版 |
2018/10/18(木) 07:35:02.69ID:fl0YUF1M
マイコンが何MHzで動いてると思ってんだ?
20kS/s拾うのに200kHz食われたってメインループに影響するわけないだろ
テキトーに影響食らう作り方でしか作れないから、影響受けると思い込んでるだけだろ
0725774ワット発電中さん
垢版 |
2018/10/18(木) 09:07:15.11ID:yNZ8OMv4
>>722は、20kサンプル/秒で取ったデータをシリアルで送れるかどうかで悩んでいるのだろな。
0726774ワット発電中さん
垢版 |
2018/10/18(木) 10:11:04.88ID:S1Z/VmUM
だからメインだろうが割り込みだろうが
処理を排他的に作る頭しかなけりゃ、それが限界だろう
だから割り込みかければメイン止まるとかアホ抜かす
0727774ワット発電中さん
垢版 |
2018/10/18(木) 10:30:27.60ID:WIEF0qTo
シリアル出力バッファにスタック(FILO)使うヤシが居ると聞いてw
20kS/sのADしたデータが各2バイトだとすると320kb/s
調歩同期とかのシリアルで出すには苦しいか
データシートでスペックみてみ
0728774ワット発電中さん
垢版 |
2018/10/18(木) 10:31:34.05ID:WIEF0qTo
ああ、2バイトだと上下見分けるための仕掛けも要るな
(送信単位が8bitの場合)
0729774ワット発電中さん
垢版 |
2018/10/18(木) 10:45:53.04ID:S1Z/VmUM
短い制御ループ時間の中でゆっくりシリアル通信する話だろ?
0730774ワット発電中さん
垢版 |
2018/10/18(木) 11:33:20.42ID:2yW3LxVo
>>722
その程度のデータのシリアル送信ならできる
プログラムのセンスがないだけ
0731774ワット発電中さん
垢版 |
2018/10/18(木) 12:23:08.36ID:D5axrmqp
Serial.begin が 115200bpsまでで
10ビットのA/Dデータを毎秒2万、つまり 200000bps に足りてないので
Arduino の枠組みでは無理じゃねーの
0732774ワット発電中さん
垢版 |
2018/10/18(木) 12:29:20.21ID:LXa3WFt8
そもそもデフォルトのAnalogReadじゃ20kspsとれないし質問者もレジスタ直接叩けるでしょ
つまりArduinoの関数でやる必要はない
それに328PのADCって10bit精度なの15kspsまでだし高速化してるなら1byteでいいっしょ
そしたら160kbps以上あれば間に合うぜ
UARTでも何とか送れるんじゃないか
0733774ワット発電中さん
垢版 |
2018/10/18(木) 22:52:12.30ID:DWnLwzxG
とりあえず問題は解決しました。力技も甚だしいですが・・・
DueのNativeUSBの"仮想"COMポートの転送レートを
必要なレートまで上げて、馬鹿正直に送信するようにしました。

>>724
>>730
シリアルの転送レートが足りなくて、そこで処理時間を浪費してたんですよね。
基本的にマルチタスクなんて望むべくもないので、
普通にやったら影響を受けると思うんですが、いい方法がありますか?
単純計算でも帯域が足りないので、魔法が要りますが・・・

>>725
>>727-729
>>731
そうなんです。
転送レートが足りないので遅延で死んでましたorz

>>732
レジスタ叩くのはできるってレベルじゃないです(汗
掲示板とかの情報を漁って辛うじて、ですね。
もうちょっとちゃんとデータシートを読まないと。。。
ADCの速度でbit数が異なるのは知りませんでしたorz
0734774ワット発電中さん
垢版 |
2018/10/18(木) 23:55:30.52ID:2u+4qrjf
いや、自分で上8ビットだけつかえってことだよ
1バイトづつだけ転送に使い、MSBとその上は捨てる
0736774ワット発電中さん
垢版 |
2018/10/19(金) 03:21:01.83ID:ek1xwOBP
TSOだ、平たく言うとタイムシェアリングオペレーション!
TSOOSですべてTSO配下
物理メモリを論理メモリとして扱う。これです!
割り込みの概念がなくなる!かな?
0737774ワット発電中さん
垢版 |
2018/10/19(金) 04:01:51.08ID:03JqVoFI
そもそも
高速センサー→Arduino→シリアル入力のなにか

Arduino経由する価値あんの?このシリアル入力のなにかってArduino以下な糞に
リアルタイムな高速データが本当に必要で有効活用できるのか?
0738774ワット発電中さん
垢版 |
2018/10/19(金) 10:00:09.71ID:hV8jtibw
質問です
パソコンとarduinoをシリアル通信させて、パソコンでキー入力するとarduinoが動作するものを作りました
しかし、キー入力を行えない状況になってしまい、パソコンからarduinoに命令をする代案を用意しなくてはならなくなったのですが、どのような方法がありますか?
元々は、パソコンでシリアルモニタに'a'と入力するとarduinoに配線したモータが回転する、というものでした
0740774ワット発電中さん
垢版 |
2018/10/19(金) 10:03:14.17ID:jaxMd+nP
もう一台Arduinoを用意して、そこにキーボードを付けて、元のArduinoとシリアル通信する。
0742774ワット発電中さん
垢版 |
2018/10/19(金) 10:15:01.27ID:UIzFOemH
補足すると、モータを動かすのを自動化しないといけないので、キーボードを打つという動作そのものを行えません
パソコンにシリアル通信プログラムを書く、というのは、例えば
serial.print('a');
と書けばarduino側にaと送信されるということですか?
0744774ワット発電中さん
垢版 |
2018/10/19(金) 10:20:34.55ID:UIzFOemH
>>743
ありがとうございます
その線で調べてみます
0745774ワット発電中さん
垢版 |
2018/10/19(金) 11:35:24.84ID:wR27KOd3
「モータを動かすのを自動化しないといけない」   わかる

「パソコンから信号を送らなければならない」  絶対必要条件なのか???
0748774ワット発電中さん
垢版 |
2018/10/19(金) 12:11:32.45ID:tg6GE1Hp
そのアプリへの指示はどうするんだ?
入力デバイスがないのだろ?
0750774ワット発電中さん
垢版 |
2018/10/19(金) 12:15:21.98ID:tg6GE1Hp
人からの操作無しで自動で動くならパソコンと繋げる意味は…?
Arduinoにその動きも含めて書き込んでしまえば良いのでは
0751774ワット発電中さん
垢版 |
2018/10/19(金) 12:24:57.28ID:56rVHUNf
>>742
PC側プログラムを Arduino ノリでやりたいなら、 Processing Arduino serial でぐぐれば良いよ
Arduino IDE と似たような画面でスケッチ書いてRunするだけだから簡単
PC側が serial.read するサンプルが多いけど、 write も普通にできる

あと、Arduino に bluetooth モジュールつければ Androidスマホの無料アプリで何種類かの文字送れる奴あるから操作できる
詳細は android arduino ラジコン操作 でぐぐる
0752774ワット発電中さん
垢版 |
2018/10/19(金) 12:28:35.15ID:sTd+MWLa
Arduino IDEはProcessingで作られてるんじゃなかった?
こっちのスケッチも.inoじゃなくて.pdeのままだった時代あったよな
0753774ワット発電中さん
垢版 |
2018/10/19(金) 12:36:10.17ID:jMrdhTJz
発音「プロセッシング」だと思ってたけど「プロセシング」なんだね
アイドリングと同じイントネーションだった
0755774ワット発電中さん
垢版 |
2018/10/19(金) 12:58:02.45ID:jaxMd+nP
アルドゥイーノ デュエミラノーヴェ

Uno=1, Due=2 Mila=1000 Nove=9
Duemilanove = 2009
0756774ワット発電中さん
垢版 |
2018/10/19(金) 13:04:37.38ID:xZmUO9UX
表音文字なのに読み方がわからないなんて
アルファベットは糞欠陥文字だな
0758774ワット発電中さん
垢版 |
2018/10/19(金) 13:50:23.54ID:tMIqB+hN
同時にいろいろやろうとするとArduinoの関数は落とし穴だらけだから難易度高いよ
普通にCで実現するくらいのスキルがないと無理
0759774ワット発電中さん
垢版 |
2018/10/19(金) 14:08:17.16ID:AEr3gmFv
ardunoの関数ってソースあるんだっけ?
それが読める位でないと無理だな
0760774ワット発電中さん
垢版 |
2018/10/19(金) 18:33:19.04ID:Ka74if/I
>>742
「自動」ってもっと具体的にどうしたいんだか書かないと誰にもわからないよ。
ただシーケンスを延々繰り返すだけなら、パソコン自体要らないだろう。
0764774ワット発電中さん
垢版 |
2018/10/19(金) 21:56:25.25ID:j0D/yo8I
ATmega1284の2つ目のシリアルって指定する時はもしかしてserial1?
0765774ワット発電中さん
垢版 |
2018/10/19(金) 22:05:49.06ID:/4O8R7BB
SSD1306のライブラリでフォント変えるとprintlnの一行目が変…
どうなってんの
0767774ワット発電中さん
垢版 |
2018/10/19(金) 23:00:47.61ID:/4O8R7BB
>>766
今調べたらデフォのフォントと変えたフォントで表示の基準の位置?が違うらしい
adafruitのライブラリなんだけど何でこんな仕様なの…
0769774ワット発電中さん
垢版 |
2018/10/20(土) 00:08:56.66ID:mFF2oKgZ
u8glibにしたらprintlnがCR LFって表示された
上手くいかんのう
0772774ワット発電中さん
垢版 |
2018/10/20(土) 18:55:18.72ID:ILtnOS25
パソコンのケースファンをpwm制御して回す
要は扇風機を作ろうとしています
ボリュームスイッチを付けて風量を256段階切り替え出来る機能を付けようと思ってます
これだけだとマイコンを使う意義が薄いですが

aruduinoにACアダプターで12Vを入力しVinピンからケースファンへ給電していますが、何アンペア流していいのですか?
ケースファンを複数台付けて最大で10A位を目論んでいます
0773774ワット発電中さん
垢版 |
2018/10/20(土) 19:02:57.87ID:gu28Akpq
>>772
中華Arduinoか?載ってるレギュレーターがSOT-223のAMS1117-5.0だろうから
データシートによるとCurrent Limit 900mAでThermal ResistanceがTja=90℃/Wとあるな
http://www.advanced-monolithic.com/pdf/ds1117.pdf
ヒートシンクはついてないだろうから計算にはTjaをそのまま使うとして
OPERATING JUNCTION TEMPERATURE RANGEが-40 to 125℃とあるから
室温が25℃の状態で上昇出来る温度は100℃だからTjaから100/90=1.11...Wまで
12V入力だとドロップ7Vなわけだから1.11.../7=0.15873A

そのままで150mAくらいだな クソデカヒートシンクつけて冷却ファンつけてガンガン冷やせば900mA
0774774ワット発電中さん
垢版 |
2018/10/20(土) 19:04:56.09ID:gu28Akpq
ごめんめっちゃ勘違いしてた
5Vを給電してるわけじゃなくて12Vをそのままひっぱってるのか
>>773は無しで

それならたぶんピンソケットの定格であろう3Aくらいだと思う
0775774ワット発電中さん
垢版 |
2018/10/20(土) 19:17:14.93ID:Euk6loS8
ピンヘッダの接触と基板のパターンどっちが細いかな?
俺ならあの接続に1Aすら流したくないけどな
0777774ワット発電中さん
垢版 |
2018/10/20(土) 19:24:27.64ID:zJHl4XmA
DCジャックからVinまでのパターンってなんか普通の信号線程度じゃない?
DCジャックを別に用意してそこからFANとArduinoに渡した方が良いと思うけど。
0778774ワット発電中さん
垢版 |
2018/10/20(土) 19:28:48.11ID:yHiKOshz
(12V10Aが供給できるACアダプターってどんなんだろう…ジャックの定格を越えてる気が…)
■ このスレッドは過去ログ倉庫に格納されています

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