Arduino初心者熱烈大歓迎質問スレ part20
■ このスレッドは過去ログ倉庫に格納されています
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/ 色々やった後にそこで1ms待つんだから1msで回ったらおかしいんじゃない >>49
loop()
{
delay(1);
ナンチャラ処理
}
普通に考えて、ナンチャラ処理の時間が余分にかかるのでは?
まあ、ナンチャラ処理の時間が数10usecくらいだとオシロで見てるだけでは
気づかないかもしれないけど >>46
noInterrupts();
割り込み関数でセットした変数から、別の変数へコピー;
interrupts();
別の変数を料理;
このとき、noInterrupts()〜interrupts() の間に発生した割り込みは待たされて、
interrupts() のあとに実行される、はず。はず。ずっとそう思ってやってきたけど違うのかな?
心配されているのは、待機が発生するぶんだけ、割り込みハンドラの実行にジッタが発生する
ことですかね。これはそのとおりだと思います。
バイトデータ1個なら、こんなことをしなくても、メインからは普通に読むだけで良いわけですが。 >>48
volatile はたとえば、参照だけを繰り返す変数リード処理が、最適化でなくなってしまわないようにするためのものでは?
だからこそ volatile なんて名前なのですし。 >>50 (モノによるとおもうが)delay()から返るのは1msごとのタイミングに正規化?されている
あれ?delay(0)だったかな、いま手元にコード無いから確かめられない
オシロでタイマの出力と並べてみればわかるよ。 >>48
AVRの場合16bitとか32bit変数のアクセスは、マシン語レベルでは複数個の
8bitメモリアクセス命令で実行されるから、途中で割り込みがかかる可能性がある
例えば、メイン側読み出し中に割り込み側で新しい値を書き込んだ場合
単に一つ前の値が読みだされるとかじゃなくて、下位バイトは古い値で
上位バイトは新しい値とかなってめちゃくちゃになる
そういうことが起きないようにするには、一時的に割り込み禁止するか
2回続けて同じ値になるまで読み出すループを作るとかしかない >>55
なるほど!
int a,b,c;
do{ a=ga; b=gb; c=gc } while(a!=ga || b!=gb || c!=gc);
こんな感じで良いのかな >>54
Leonaldoで試してみました。
loop(){
delay(1);
180us相当のソフトウェアループ;
ポートのトグル;
}
ループの実行時間は、ソフトウェアループのぶんだけ長くなります。
ソフトウェアループをコメントアウトすると、ほぼ1msになりました。
(実際にはポートのトグルや、loop()呼び出しに関わる時間分長くなっているのではないですかね) >>57 すると俺のいじってるのがたまたまそうだったというだけなのだね すまない、ARMのsystickとごっちゃにしてしまったかも。 >>58
うーん。そんな違いってあるんでしょうか。
ということはですね。
loop(){
delay(1); //前回の待ちたいから書いた
処理A;
演算処理;
処理B(次回の処理Aのための外部回路の設定)
}
なんてふうに書くと、期待するところは、
処理Bでの影響が落ち着いてから処理Aが発生する。
なのですが、
Arduinoのモノによっては、
たまたま演算処理が長引いたときには、処理Bと処理Aの間隔が短くなる、
ということになります。
これ、いやーな落とし穴な気がします。
Arduinoの種類は何なのでしょうか。 あ、すみません。>>59を見ないで>>60を書き込んでしまいました。 >>56
まあ、よほどの特殊事情でもないかぎり割り込み禁止ですませると思うのですが^^;
int ga,gb,gc; に volatileつけるの忘れずに、ですね >>46
booleanフラグなら1命令、禁止いらんと思う
実質的な作業をメインでやれば、万が一時間オーバーしてもなんとかなる
ような作りにしやすいし、5RJujcjs氏の言う通りデバッグも楽 >>56にして先頭に加算カウンタを入れてカウンタが2以上ならエラー表示する様にしたら
かなりの頻度でエラー表示されててびっくり
loopでやろうとするとぎくしゃくするのはこれが原因だったんだなぁ たかがAVRの数Kバイトのプログラムなんだからフルアセンブラでやれば?
あいまいなところはキッチリ無くなって、何もかも手の内に有り思いのままに操れるよ。 >>40
見てみました
VCCと言うことは分かりました
でも調べてもDVDDかAVDDかわかりません
教えていただけないでしょうか? >>55
それは初めて知った
メインループと割り込みでの優先順位程度なら大丈夫だろう程度の知識でレスして申し訳なかった
訂正してくれてありがとう
>>65
ルールさえ理解すれば書いたとおりで動くのに、これから先ずっとデカイのもアセンブラで書くの? >>65
アセンブラでi2c処理キレーに書ける?
Arduinoのよいところはそういうのもお気軽な(深みにはまらないとは言ってない)所かも。
ただ 10時間くらいで学習できるならやってみたくはある (現実は多分そうではないかも) >>65
それ、アセンブラと無関係。
そんなこと言ってると、他の言語は使えない人と思われちゃうよ。 >>66
Arduino UNO3には正規品でもいくつかの回路図が出ています。
とりあえずこの回路図で。
https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
(VCCとVDD および AVCCとAVDDはここでは区別していません)
DVCC(VCC)かAVCCかは右側のメインCPUのピンでの呼称の話をされていますよね?
この回路図を見ると両者は繋がっています。たぶんパターンでも特別な工夫はないように思います。
つまり、この基板を使う限りは、DVCCとAVCCを分けて考える意味がありません。
俺の手元にあるUNO3の回路図(正規品 3e)には一つこの接続が違っているものがあり、
それは、図のようになっています。この場合は、+5VのラインはAVCCではなくVCC(DVCC)であると
言えるでしょうね。(でも、俺の手元にあるUNO3基板に、こんなコイルはないのです)
Arduinoってマイコンボードのことだけじゃなくて、C++ベースの開発環境こみこみの概念ですよね。
アセンブリ言語の話題はAVRスレの方が適切ではないですか? https://youtu.be/DnMkno6DhVo
12V電源に繋いで試してみたらわりと安定してきた感じがする
arpmが1秒平均、lrpmが直近の1/8回転の回転速度 nowpowがPWM
指離した直後に回転数が上がってしまうのはブレーキ回路?があるわけじゃないから仕方無いと思いたい センサーなどのモジュールを、Arduinoの5VピンとGNDにつなげると、
PCからUSBの切断音が流れて、Arduinoがリセットされます。
Arduinoが故障してるのでしょうか?前はこんなことなかったのですが。。。 そのセンサーはほんとに5VとGNDに直結して良い物なのか >>74
はい。
今、LEDを5VとGNDに繋いでもUSBが切断されました。。。
内部のどこかでショートしてるのでしょうか・・・ >>75
ショートというか、5V-GND間に流れる電流で、5Vが電圧降下を起こしてるように見えます。
念のため。
その繋いだLEDには直列に抵抗は付いてますか?
その上で、
使っているArduino基板の名前は?
Arduino基板にセンサーを繋いだとき、+5Vのラインは実測して何Vになっていますか(測定器の名称も書いてください)
DCジャックから電源を供給してますか? 給電はどんな電源?(電圧、電流容量、できれば型式)
それともUSBからだけで給電してますか? >>77
電源はUSBからだけです。PC電源はKEIANの安物なのでPC側の問題なのかも。。。
さっきはLEDに抵抗を付けてませんでしたw
抵抗をつけるとリセットはされないですが、Blinkのスケッチを書き込んでたのですが不規則に点滅します。。。
ArduinoはNanoで、素のままで5VピンとGNDをテスターで測ると3.12V、センサーをつなげると2.98Vです。
電源供給が原因?かも。バッテリーに繋いでみます。 >>66
そこまでキーワード出てんなら、このスレを見てる機械で検索した方が良い。 たぶん電源かUSBケーブル関係だと思います。
「電圧降下」のヒントを与えて頂いてありがとうございました! arduino yunを用いてFTP通信を行うためにサーバーを作成しようとしているのですが、FTPツールが見つかりません。
vsftpのようなものは用いれないのでしょうか? >>81
猛烈に質問範囲が広くなっちゃってて 門外漢だが エスパーってみる
https://forum.arduino.cc/index.php?topic=256107.0
ここの#9さん (sonnyyuさん)みたいに
pythonでrootとって 直接書いてはだめなのですか。
大事なことなのでもう一度いいます rootとってください。
深い理由はありませんがrootとらないと 多分こけます。 任天堂の段ボールピアノ凄いと思ったんですけど
カメラで複数の対象を個別に認識するってのは
arduinoで再現する方法はありますでしょうか
ご教示願いたく スケッチによって書き込める場合と、書き込めない場合があるのはなぜ?
スケッチ例のBlinkだと書き込めるのに。
普通は書き込み中にTXとRXのLEDがパタパターーーっと点滅するけど、
パタパタ・・・で終わって、IDEは「書き込み中・・・」で止まったまま・・・ あら、Blinkも書き込めないわ
Arduinoがぶっ壊れたのかな USBケーブルって電源とGNDしかつなげてないのあるね。
ChromeCastの附属ケーブルがそうだった。 Ardiuinoの電源用に電池ボックスとUSBコネクタ買って作ってるけど、
既製品でもあるのか 百均とかコンビニに置いてある、ケイタイの充電器(乾電池タイプ)っていうのが
それじゃない? あぁそう言えばそうかぁ
ArduinoのBタイプのもある? 付属ケーブルが標準のBタイプとかはないと思うけど
充電器っていうか電池BOX側は標準Aタイプだから手持ちのケーブル刺せばいいだけ
もっとも、百均ではもう見かけないような気がするし
Liイオン電池のを300円とかで売ってたりするから、それ買うほうがいいと思う なるほどね
そうかケーブルで変換できるよね
Li電池は持ってるけどRaspberryPiに使ってた
これも使えるか ありがとう http://arduino.umemoto.org/home/blood-pressure-sensor-mps20n0040d
このMPS20N0040Dと言う血圧センサーを使った事のある方いらっしゃいます?
https://images-na.ssl-images-amazon.com/images/I/61g2b96d4ML._SY355_.jpg
この形状でどうやって血圧計るのかイマイチ解らないのですが、この突起部分を
単純に腕に押し当てても血圧なんか計りようがありませんよね…
市販の血圧計の様にチューブに空気を入れて圧力を掛け、圧力の僅かな変動を
検知したりの大掛かりな装置が居るのかな 使い方ワカランモノを手に入れても後々宝の餅腐れになるだけやぞ(実体験 両方必要
昔からのは心拍センサーの役目を聴診器と耳でやっていた 圧力センサーは水銀柱、エアーポンプは手でしゅこしゅこ アマゾンで手動ポンプディジタル表示の血圧計\2000位で売ってるから
それ買ってばらすなりして研究しろ
A&Dのやつ
(最近血圧高いと言われたので買った) 血圧測定はよほどの簡易(手抜き)方式でなければコロトコフ音の解析がキモだから。
単にコロトコフ音の有無では判定(最大、最小)出来ないから。
自作で意味のある測定はまず不可能だよ。 自動のディジタル血圧計ならaliexpressで1000円程で買った
家庭用の安価な血圧計ならコロトコフ音じゃなくて脈波を利用したオシロメトリック法が一般的だったと思う 自分は逆に血圧が低すぎてナチュラルにブラックアウト寸前な状態で、
目が見えなくなったりするので常時モニタリングして不味い水準になったら
アラーム鳴らせたり出来たらなと思ったんですが難しそうですね 血圧常時モニタってどうやるんだろう
カフを常時、圧の上げ下げやるのか?
>>104 医者に行ってるだろうけど
上げる薬飲んでる?
深煎りすると医療スレになっちまうか 直接法でも計れるみたいだから、インプラントが発展したらイケるんじゃないの >>105
>>98の下、愛知県立大の教授は心拍センサーでの常時モニタリングを目標としてるみたいです お邪魔します
arduinoからATmega328のマイコンだけ抜き取って3.3Vで16Mhzで動かすと(本当はダメなんですけど)I2C通信はきびしいですか?
LCD位は表示するんですが
やっぱり8Mhzに落とすかしないとダメですか?
CCS811をつなげてます ダメって何がダメ?
データシート見ると3.3Vでも16Mでmega328は動作する
I2Cの速度も上がってCCS811が付いてこれないというなら
そのあたりはソフトで調整してやればいい
(ライブラリ見てウエイト突っ込む) >>109
>データシート見ると3.3Vでも16Mでmega328は動作する
ATmega328/Pのデータシートではこうなってるのでは?(赤色は俺が追加したよ)
返事ありがとうございます
クォーツ8Mに交換しても動きませんでした
違うところに原因ありそうなので、もう少し自分で頑張ります >>110
ああそういうことか
サマリしか見てなかった すまん
でもグラフの下部はメーカ保証値みたいなもんだから
オーバクロックで動きそうなものと思う
(CCS811が3.6Vmaxなのね)
8Mの速度で間に合うならそれがいいよ I2Cなんて100k〜400kHzくらいなんだから多分ちゃんと信号線吊ってないとか
そのセンサを使ったことが無いし、動かないと言うのが有効なデータが取れないのか通信そのものが無理なのかどっちかわからないからアレだけど 48時間のエージングと20分のウォームアップが必要とかAVオタみたいだな。 108です
CCS811の件ですけど
arduino UNOにつなげると上手くいきます
センサーがsparkfun製のモノでして、Hookup Guide通りに接続してソフトもGitHubで拾ってちょっとLCDつなげる改造して動きました
ただarduinoからでているI2Cクロックとデータラインが5Vですよね
本当はここに5Vと3.3Vの変換が入るはずなんですがそこが疑問に思ってて
Hookup Guideもその様な結線図になってます
あーオシロ欲しいお金ない頭痛い >>116
I2Cがオープンドレインなので、CPUの5Vラインからセンサーに流入してくることはない。
UNOの 328PはHが VCC×0.6 なので、3.3Vでプルアップされていれば問題はないかな。 I2Cぐらいの電圧になると、1chのオシロキットだと力不足になりますね。悩ましい。 あ、問題無いんですか
いいこと聞いた
これでケースに組み込みします
素晴らしいセンサーでした
歯が痛い原因が換気不足なのが分かりましたし
ありがとうございます >>118
オシロの1chと2chの差は大きい。
2chあれば「波形の比較」が出来るので。
彼女が一人いるか二人いるか、の差より大きいと思うw 彼女が二人いれば「波形の比較」は出来なくても
他の色々な点を「比較」が出来るから
オシロの1chと2chの差と同じなんではw それでも無いとあるとでは随分出来ることの幅が変わるしな
結構長くお世話になったDSO138 ATTiny44って人気ないの?
安くてピンがいっぱいあってメモリも4KBもあるのに、
世界的に人気ないのね オシロは3万〜4万が購入価格の最低ラインだと思う。
金が足りないなら1ヶ月バイトするとか女に貢がせるとかしてくれ。 最低ラインは人それぞれ。
まずは「今、無いよりある方がずっとマシ」 DSO138買ったわ。まだ使い方がよく分からんわ。
電子工作程度じゃ価格的にこれしか選択肢ないし。 オシロってよく耳にするけど、まだ欲しいと思わないなぁー
でも、だんだん欲しくなるんだろうなぁー たまにオシロがあったらなぁっていう場面がある
DSO138にだいぶ助けられた PWMで波形作ってLPFの定数を決めたりするときにオシロあると楽しい。 日本には「安物買いの銭失い」という言葉があるのだが
節分も近いことだし「鰯の頭も信心から」ということで(ちょっと違うか?)w
DSO138バンザーイ 高いモノ買い過ぎると逆に関税かかるからそうでもないんだな ことわざを持ち出せば、何か伝統によりかかった権威があるように錯覚する人がいる。せこい。
>>137
「馬に乗るまでは牛に乗れ」
「Something is better than nothing.」 こんにちは。arduinoで論理設計(加算器、カウンタ、シフトレジスタ、フリップフロップなど)の勉強をしたいのですがどれを購入すればいいでしょうか。 汎用ロジックICのデータシートをひたすら見るだけでいいんじゃないかな。 昨日Arduinoデビューしました
まずは基本のLチカからということで、解説サイトを見ながら始めてみたのですけど
直差ししてD13-LED-GNDの接続で光らせているサイトがいくつかありますが、抵抗入れなくて大丈夫なのですか?
たとえば
ttps://qiita.com/zakiyamaaaaa/items/a009b0c9adc4fbbb099f
下のサイトを見ると、やはり抵抗を挟む必要がありそうなのですが、、、
ttp://www.musashinodenpa.com/arduino/ref/index.php?f=2&pos=83
ちなみに、D13とGNDに直接差して点灯するのは確認しました
また、+5VとGNDに直接差してLEDが破裂するのも確認しました CPU/LEDのデータシートを見れば、取り出せる/流し込んでいい最大電流が書いてあるから、
それを超えないよう抵抗かますとかの電流制限をするのが当然。
なぜ直結で壊れないのかわからないけど、壊れても文句言えないよ。
バカなことを平気で公開してるようなサイトは見ないほうがいいぞ 砲弾LEDの最大定格電流が100mAくらい
そんぐらいまでなら壊れない
328pのデジタルピンの出力特性より
25°Cのとき10mA位流すと0.25V位の電圧降下起こします
ちょうどLEDのVfとつりあうとこで電流がきまるのでは
あと砲弾LEDの順電流20mAは信頼性、性能を発揮できるのが20mAていうこと やったことないですけどピンの位置によりますが2個以上LED直結するとarduino壊れるかも
制限抵抗は基本入れてください そのブログ、万一逆につなげると、LEDが壊れます なんて書いてあるぞ
うー-ん 見る気なくす ■ このスレッドは過去ログ倉庫に格納されています