Arduino初心者熱烈大歓迎質問スレ part20
レス数が1000を超えています。これ以上書き込みはできません。
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/ 【よくある質問】
Q.
ライトはつくのにデバイスマネージャーに認識されない
A.
・まずはUSBケーブルを疑え!
・もっと奥まで刺せ (())(((()()())))()(()()(()((()))))))()()()(()((())((())()())))))((()(()))(((
))()))(())(()(())))())))((((())((()((()))))))(()))(((())())(()))((((()(((()(
)))()((((((((()(((()()))()(()()(()()()())))))()))()()())))((()(((((()))))())
(()()))((((()(()(()()))((()(()()())()))(()))))))()())()))(())()()(()))((((((
)())()))))(()(()()()())((((()))()()))()()))((()((()((())(())((((())()))())((
(((()()(()()(()(())())(((()())()(((()()))((())))()())))())(())())()()(())())
()()(()((()(((())()))))(()())))((()))()()(()()()))(((())()((()(((())))()))()
())()))())(((((()())())))))(()()))(())()(())((())())())()((((()()(())((())((
()))((()())(())(())()))))(()))(((()((((()()()()())())))(())(((()(()(()()))()
))(()(()())(((((()()(())))))()))(()())))))())()((()((()()))))((()(()))((((((
(((())()(((())()(()))))()))()(()))((()((()((())((((())))(()(())(()(())))))))
())()(()()((()()((((()))(()()))((()())))()(((()()(()))())()((()(()))())())))
)(((())()(()))()()))(()())((()())(())))(()))))((())))())()()((()(()(((())(((
)(()())()()(((((()))())(()())((((((()(((())()())))()))))(()))))(())(()(()())
))())()())()(()()()))()()(()(()())(()())(())()(()((())(()(((()()()()()()))()
(()())(())))()())(((()))))))()((()(()(((())((((((())()()()(()((())()))()))))
()()))())(()((()(((((((()((()(((())))))()))(((()()()))()))(()())()))())(()))
))))))()(((((())()(((()))))()(((()(()()())(())(()())))))(()((())())()(())(((
())((((())(()))()())))((((((((())(((())())))((((()))))(()(())))((())()))()))
))((())))()())))((((()()(()(())(((())((()))(()())(()(()(())))((()(()))))()()
()())()))()())))(((()()()))(()())(((()))()(((()()())((())())()())()))(((()((
))()))((())()(()((()()()()(()))(())))))((((()((()))((())()))(((()(())()))(()
)(())()(()((()()())((()))))(()))(()()()())()()(((())()))()()(((()))()()))(((
))(())(())(()()()(()()())()))(()(()()))))()()())))((((()))()()(((())()()((((
()(()()())())((()())()(((((()()()())))()(()(()()))()))())(((())))()())((())(
(()()())()))()()((((((())))())(()))(()()))()()()()())()()((()((()()((()())))
((((()))()))))))((()())))))(((((()))))()()())(((()(((((()()))(()()())()()(()
(())))())())()(())(((()()()(())(()))))()(()()((()()()((())()((())))()((()())
))((()))())())()())))))())()())((()(((()()(()(())())()()()(()(()()(()((())((
(((()((())))((())())()())(()()))))((()()))()))(()((()()()))(((())))()()((()(
)((())(((())()((()(()()())(()()()()))))()()())()()())((()))(()))((()(()())()
()))))(()())()()())((((((()((())))(()()))()()((()()((())((()()))())((()))())
)()((()((())))()()(()(()))(()(()()(()))))((()))))(()()()))((()(()()()(()())(
()()))((()((()())))))())())))((()(()(()())())(()(())((()((())())())()()()(((
((()())()()))()((((())))((())()))))(()()()(()))(()))())((()))()(((()((()(())
()(((()))())()((((()())))(())(((()()(()))(()))(())()))()()(()))())()((())(()
)))))())()(()((((()()))())()()))(((()))((()()((()))()()()(((()())())(()())((
)(()()(((())()(()(()((()()()((())()((())()(())())())(())))()())((())()()))))
))(())(())))((()))((()(()()()))((())))(()))(()(())()))()))()()((()(((()((()(
())(()()())((())(())((((())(()))(()()())()(((()))(()(())())()()((()())()))))
)())(()(())()(()()((()))))((((())((()())()())))((()()))))))((()()(()(())()((
(())(()))((()())((()(()())()()(()(()()))))((())()()()(())))())(()((())())(()
(()())()())())))())()(()()(((((())((()()))(())((((())))()()()(()())(())(()))
)()(((()((())())))()(())))(()(((())))))))((()((()()((()((()()()())))(((())))
))()()(()())(()(((())()())())))))(()()(((()((()(())))()()))()))())()((()((((
(()))))(()((()())()()(())())())((())())())())()))()()((()(()()))(((((()()(()
)()(()(()()((()()()((())()()())((()())(()))())()())(()()(((())())((())()))))
(((()))())((((())()((())(())())()()()())()()()())())((((()))()(()))))(())(()
))((())(()(((()((()()(())(((((())((()())))())))))((())(()()))((())())))))()(
)()((()(()())))(((((())()())(())())()))()(((()()())()()()()(()))()((()(()))) BLEduinoを使いZenFone3(Android6.0.1)とBLE通信したいのですが,
「ペア設定が拒否されました」と出てきてペアリングできなくて困っています.
どなたか原因わかる人おられますか? 4桁8セグのTM74HC595を買ったんですが、
https://www.youtube.com/watch?v=S_Hnx20GzGs
一番使えるライブラリってありますか?
温度を「15.2c」みたいに、数字と記号を表示させたいんですが・・・ digisparkクローンを買ったんだけどusb接続でarduino ideから書き込めないです。
書き込み実行してから接続する方法でやってもデバイス認識と切断を繰り返すだけで書き込まれない。
ライター経由じゃないとダメって事なのかな? ってやっぱ専用ドライバー必要なのか。
そこを端折ったセットアップ記事ばっかだから標準ドライバで認識するのかと思ってた
なんだよフントニモウ 俺も中華digispark買って同じ所でハマった。
最近中華digispark勢いあるな。Aliでpro microって検索しても何故かヒットするし。ちょっと安いからかな。 digisparkぽちって到着待ちの俺にはタイムリーな情報
届く前に確認しておこう >>13
これってどうして2段階で増幅しているんでしょうか?
1回でたくさん増幅することはできないのですか? >>15
リンク先にとても丁寧に書いてあるよ。
ちゃんと読んで。 >>16
英語が苦手でなかなか読めないのですが、差動アンプで5.6倍にしてもまだ足りないから、非反転アンプで3倍にするよって書いてあるみたいです。
なぜ差動アンプで5.6倍以上に増幅できないのですか? >>17
>差動アンプで5.6倍以上に増幅できないのですか?
なんででしょうね?
あと、差動の出力が1V以下でLM358が苦手な領域を使っているとか、
対策のためのプルダウンもしていないとか、
ちと疑問に思ったりもした。 二段目は増幅作用もあるけど負荷を駆動させるための回路だから
でないと流れね ドライブ能力を確保する意味もあると思うけど、、、
後段が同一基板内にないようなときには、フィードバックを含めたセンサー周りの微小信号回路部分を、そのまま基板外に引き出したくない。
あの回路作成者がそれを考慮したのかどうかは不明だが。 >>18
本来なら初段でボルテージフォロア回路入れる所を差っ引いているな 割り込み試してたらどうしても想定通りの動きをしなく、悩んでたらvolatile型だった
AVRの様なしょぼいCPUでもこんな事が問題になるのね >>23
それはCPUの問題じゃなくてコンパイラの最適化の都合ではないかと。 >>24
マルチスレッドやキャッシュで問題が出る様なイメージだったんだ >>18-22
ありがとうございます。
勉強不足でなかなか難しいので、ひとまず回路を真似してみようと思います。
動かしてみて不都合が発生したときはまた教えてください。 >>23
能力がしょぼくても、汎用レジスタがある程度の数あるから
グローバル変数がある期間レジスタに乗せられたんだね。
まあ、gccを-O0以外で動かせば十分あり得るね。 >>3の質問をした初心者です
いまaitendoから出ているesp32が搭載されているarduinoを使用しようとしているのですが
get.exeというアプリケーションが作動しません
どうしたらよいですか? 開発環境構築の途中の話なのか知らないけど
ネットに繋げてないか相手が落ちてるんじゃね? >>28
「>>3の質問」とは?
どの商品なのかリンク貼って
get.exeって何? >>28
この手順のとおりやってるんだよね?
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md
get.exeが「作動しない」ってのは、ダブクリしてもなにもおきないってこと?
それとも、ダブクリすればウインドウは出るけど、ダウンロードが進まないってこと? モーターの回転数制御て中々難しいね…特に低回転時
回転センサーの割り込みの中でやると負荷で停止した時に次の割り込みが発生しなくなって完全終了、
loop中でやるとどうもギクシャクするんで、基本割り込みの中でやってloopでも想定時間の2倍経っても
割り込みが発生していなかったらやや加速してみる様にしたけど、何か違う気がする
普通は全てloopの方でやって、頑張ってギクシャク感を無くす物なのかな 何をどうやってるのかさっぱりだけど、思い付きで無責任なアドバイスしてみると
タイマー割り込み使うとか・・・ それはまあループ中というのと同じことだろうが。
とりあえず、最低動作電圧を高めに設定して不感帯を突破しないとね。
RCサーボの制御を見てると、昔からうまいことやってるなとわかる。 >それはまあループ中というのと同じことだろうが。
まあ、それはそうなんだけど、割り込みとloopと2本立てみたいになって
無用に複雑化するのは避けられるかとw
33がやりたいことが、書いてる通り「回転数制御」だとしたら
慣性負荷が小さくて低回転という条件ではなかなか難しい
もう少し具体的に環境を書いたら、その道のプロの助言がもらえないかも http://codepad.org/P0B2uc2B
割り込みの所だけ
何か式がどんどん肥大化して割り込みの中でやるレベルじゃ無くなってる気がする 割込みでなにかやる必要はないよ
基本的には定期的に現在値と目標値の差を取ってPIDすればいい
不感帯に隠れる小出力はIでため込んでやればそのうち動く。 UNOの5Vと書かれているところから出る電源はDVDDですか?AVDDですか?VCCですか?VDDですか? >>38
重箱で恐縮だが「定期的」な値の取得はループじゃなく割り込みでするのが理想では? センサ割り込みは速度計算だけやって、タイマ割り込みで定期的に出力を計算するのがよい >>38
周期が一定しない場合、loop() で同じ処理を継続していても実質的に制御の
定数が変わっているのと同じになりますし、状態の取り込みと出力は、割り込みに
もとづいた時間生成が必要になるのでは? loopでdelay(1)とかやるんじゃないの?
定期的かどうかはオシロで見ればすぐわかるんだから、もしダメなら自分でtimerでもなんでもどうぞ
ちなみに割込みはフラグ立てるだけにしておくと楽だよ >>44
割り込み内にほぼ全ての処理があって、メインループすっからかんって俺のこと? そう言えば割り込み内でグローバル変数を弄る場合、メインの方でそのグローバル変数を読み書きする場合
noInterruptsをしないといけないのでしょうか
マルチスレッドの場合はクリティカルセクション等の排他処理でも空くのを待てますが、シングルスレッドの
割り込みだとメインが止まってしまうので待つも何も無いですよね
noInterruptsで割り込みを止めると割り込みの取りこぼしが起きそうで、変数の読み書きミスと取りこぼしの
二択を迫られる様な? まあ、「loopでdelay(1)とか」だと普通は一定周期処理にならないから
micros()で時刻取得して一定周期になるように調整するんだけど
どっちかっていうと、timer割り込みよりも高等テクニックかも
折衷案としては、44が書いてるようなtimer割り込みでフラグ立てて
loop内でそのフラグ見て処理するみたいな感じかな
割り込みの中はデバッガーで追いにくいから、最終的には割り込みの中に
入れるとしても、開発中はそういうふうにしたほうがいいかも
(arduinoだとあんまり関係ないかもだけど) その為のvolatile宣言
RAMに格納されていてその度にロードされるからもし衝突しない
最大限に運が悪くても単に一つ前の値をメインループ側が取得するだけ、でいいよな多分 loop()でいろいろやってもdelay(1)だときちんと1msごとに回る俺の環境は特殊なのか?
まあこういうのはモノによって挙動が違うかもしれないので、ちゃんと確かめよう 色々やった後にそこで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が壊れます なんて書いてあるぞ
うー-ん 見る気なくす >>145
https://playground.arduino.cc/Main/ArduinoPinCurrentLimitations
昔Unoで実験した時80mA近く瞬間的に出たこと合ったから間違いなく制限抵抗は要る
後、LEDや抵抗やコンデンサを焼いたり爆散させたりはあるあるだけど身体に有害だから焼くのは抵抗ぐらいまでにしといたほうが良い ArduinoでLEDを点灯するのにプルアップ抵抗使った方法があった気がするんだがそれはどうなんだろう >>146-
みなさん、ありがとうございます
やっぱり必要ですよね、すっきりしました >>151
確か30kΩだから暗いけど暗所なら発光してるのは分かるレベル ああ、ただ電源投入時はH/Lどっちか分からんし危ないからあんまりオススメはしない 元々基板に付いているLEDをチカチカすればいいだろ ていうかD13って基板上に実装されてるLEDのあるポートじゃなかったっけ、あそこ確かUNOとかだとすでに抵抗入ってなかった? D13→1k→LED→GNDだっけか
どのみちポートに抵抗なしでLED挿したら危ないと思う ロジックの出力にLED直付けって昔はアマチュアの作例ですら見たことがなかったな・・・
「出力抵抗で電流制限されるから問題ない」とかいう、訳がわからん理由とともに広がった覚えが まあ、それやって実際にデバイスが壊れたケースが
バナナの皮で滑って死んだ人と同じくらい少なかったんだろうな volatile宣言した変数をシリアル出力しようとするとコンパイルエラーになるのですが何故でしょうか?
volatile byte test[16] = {0};
void setup() {
Serial.begin(19200);
}
void loop() {
Serial.write(test, 16);
delay(1000);
} >>162
Serial.write(buffer,size)のメソッド(メンバー関数)宣言は
size_t HardwareSerial::write(const uint8_t *buffer, size_t size);
volatile byte test[16] = {0}; は
配列の中身が volatile ってことじゃなく、volatile byte* test で
メソッド宣言の const とぶつかってるんだと思う arduinoで作ったものを最終的に持ち運びができるようにしたいのですが、
プロトタイプ的なケースって皆さんどうやって制作してますか?
市販のものは色々と買ってみましたがどれもサイズが合わず…
(aruino UNOからATMEGA328Pにするのを前提)
最低限の防水ができればいいんですけど、そうなるとジップロックにいれてゴムで縛る程度になっちゃいますかね・・・? arduino初心者です。
タクトスイッチを押すとマウスカーソルが
現在の位置から指定ピクセル分動くスケッチを書きたいです。
下記のように書いたところ、Mouse.moveの数値はピクセル数ではないようで
うまくいきません。どのように記述すればよいでしょうか?
arduino microを使用しています。
よろしくお願いします。
#include <Mouse.h>
void setup() {
Mouse.begin();
pinMode(6, INPUT_PULLUP);
}
void loop()
{
if ( digitalRead(6) == LOW)
{
Mouse.move(1, 0 , 0); //横に1動け
delay(100);
}
} >>164
タカチの防水ケースはいかがでしょう。
ただし、USBケーブル等のハーネスを通す必要がある場合、
ハーネスのコネクタを取る
ケースに穴を開け防水用ブッシュをつけ、ハーネスを通す
ハーネスにコネクタを付ける
の、加工が必要です。
http://www.takachi-el.co.jp/data/catalog/catalog02.html >>166
ありがとうございます
ただ、市販品だとやはり合わないと思うのです・・・ >>165
スケッチはそれで動きますよ
ケーブルの接触不良、配線などのハードまたはパソコン認識確認してみて下さい >>164
何を入れるんですか?
自分はタカチのケースばっかりです
リポバッテリーにしたり小さい部品使うなどしてますが パナソニックの低圧進相コンデンサの容器がいい感じかなって思った
中がどんな風になってるのかは知らないけどw >>168
はい。スイッチは動いています。
Mouse.moveの数値はピクセル数ではないようで
うまくいきません。
よろしくお願いします。 >>172
ミッキー マウス 単位 でググってみて >>162
(仮にコンパイル通ったとしても)volatileとかつけても意味ないと思うよ
割り込みで書き換えられるバッファの内容を、メインのSerial.write()で
出力しようという意図なんだと思うけど、例えば、3byteめまで出力した
時点で割り込みかかって、バッファ書き換えちゃったら4byteめからは
新しいデータを出力することになる >>163
なんか説明が変だなあ。
size_t HardwareSerial::write(const uint8_t *buffer, size_t size);
という宣言の意味は、bufferというポインタの指してる先がuint8_t型の
データで、それは変化しない。という意味だよ。
volatile byte test[16] = {0}
という宣言は、文字通りtest配列の中身がvolatileで、中身がいつ変化するか
予想できませんと言っている。
勝手に変化する配列要素を、変化しない値を指すはずのbufferポインタで
指したら矛盾するだろ?
ということだと思うが?
ちなみに、CやC++の宣言は、変数名に近い方から順に解釈するのが正しい。
以下の宣言を正しく読めるかな?
int *(ar[8])
int (*ar)[8]
const int *ar
int * const ar
const int *volatile ar;
答え
int *(ar[8]) はarは8要素の配列で、一つ一つが指している先がint型。
int (*ar)[8] はarが指している先は8要素の配列で、一つ一つがint型。
ar++とやるとint 8個分ポインタが進む。
const int *ar はaの指している先は、値が変化しない(代入も不可)int型。
int * const ar はarは値が変化せず(代入も不可)指している先がint型。
この場合、初期化時に値を入れないと使い物にならない。
const int *volatile ar;
考えてみてね。 constは「変化しない」じゃなくて、関数の中で「いじるな」というだけでしょ。
volatile で const なんてのは使いまくりだよ。 >>178さんの>>163に対する指摘は正しいと思うんだけど
>>178さんと>>179さんのどっちが正しいかは分からないな
size_t HardwareSerial::write(const uint8_t *buffer, size_t size); は
・関数の定義に対しては「中でいじるな」ってことを強制する
(いじるようなコードを書くとコンパイルエラーになる)
・外部に対しては、「関数内部でいじってないことを宣言する」
・・・ということだけだと思うから、arduinoのコンパイラ(GCC++)が
volatile byte test[16] = {0}; にはエラーを出して
byte test[16] = {0}; にエラーを出さない
のが(何かに基づいて)正しいのかどうかっていうことについては
議論あるところだと思う ボタンに0.1μFのコンデンサを付けたらチャタリングが消えた!
コンデンサすげー! >>179
void func(const int x) {}
の場合、xは値渡しで渡され、
この関数入口で初期化されるconst int変数であり、
関数の中だけで存在する。
この値の生きている関数内で定数。
仮にconstを無くして関数内でx=0を実行しても外部の変数に伝搬しない。
しかし、
void func(const int *x) {}
というのは、xが指している先がconst intという意味
const intは初期化時に値を入れない限り変更できない。
constという修飾子はこの関数が変更しないことを宣言するのでなく、
const int宣言されている値が外部にあることを宣言している。
それがvolatile intだったらおかしいし、単なるintでもダメ。
残念ながら、変数名に近い方から順に解釈すると、このようになるし、
それ以外の解釈がない。
constを使って関数が外部変数を変更しないと宣言したいのは
よくわかるけど、仕様上はそういう扱いにならない。 >>182
>constを使って関数が外部変数を変更しないと宣言したいのは
>よくわかるけど、仕様上はそういう扱いにならない。
void func(const int *x); とすると、関数内部では
xが指している先の値を変更するコードは書けないわけだから
外部変数を変更しないと宣言したのと同じことなんじゃ? void foo(const (int * x)) ていうのはないんか
void foo(int const * x) てのはkelは通した。 >>183
> 外部変数を変更しないと宣言したのと同じことなんじゃ?
同じじゃないんだ。
void func(const int *x) {}
と書くと、関数func()内で外部変数を変更しないと宣言した以外に、
*xの指す外部変数はconst宣言されている変数だ。
と言う、余分な事も宣言してしまうんだよ。
その結果、
int ivar;
void func(const int *x) {}
void fun2c2(void) {
func(&var);
}
こういうプログラムは、func()の呼び出しで、
引数の型が違うと怒られてしまう。
なぜなら、varがconst intではないからだ。
もともとの質問者の状況はこの状況に近い。
怒られないためには、やりたくはないけど、
void fun2c2(void) {
func((const int *)&var);
}
というキャストが必要。 >>186
ちょっとtypoがあった。
さっきのコードのivarはvarと読み替えてくれ。 ArduinoNanoと、MH-Z19Bを、
https://github.com/nara256/mhz19_uart
を使って、内サンプルの
mhz19_getppm.ino
を動かしてみたんですが、シリアルモニターには、
error: can't get MH-Z19 response.
MH-Z19 now warming up... status:error: can't get MH-Z19 response.
-1
となり、数値を取ってくれません。
センサーのrxはD4に、txはD5に刺してます。
あとはGNDと5Vを繋いでます。
どこかおかしいでしょうか。 データシートにはUART(TTL interface level 3.3V)とあるが
5V仕様のNanoを使っているのではないですか? 俺も>>189と同意見
Nanoのtxに指定したピンにセンサーのrx
Nanoのrxに指定したピンにセンサーのtxをつなぐんやで
Nanoが5V仕様ならレベルコンバーター入れとくんやで arduino mh-z19でググると直結してる人が結構多いね
5Vトレラントじゃないのに
まあ直ぐに壊れることはないかもしれないけど
ウェブ上にそういうのが沢山あるのが気になるわ Interface level 3.3 V(Compatible with 5V) って書いてるよ >>189、191
でした。。。。
rxはrx同士、txはtx同士と思ってました。
でも、レベルコンバーターやら、5Vトレラントやら、また???な事が。
データシート見ると、Working voltageが4.5〜5.5VDCとなってたので、
Arduino Nanoの5Vに直結したんですが、これじゃマズいんでしょうか? その電圧範囲は電源として与える電圧の数字
その範囲ならちゃんと動くよってことだから5Vなら問題ない
インターフェイスの電圧レベルとはまた別の話 arduinoにLEDテープを組み合わせようと思っていますが、大量の電力(5V1A近く)が必要なので外部のUSBから電源をとろうと思っています。
https://www.switch-science.com/catalog/2247/
USBから5Vを取り出す際、↑を使って単に接続しても問題ないでしょうか?
それとも、↓のようなものを使ったほうがいいのでしょうか?
https://www.amazon.co.jp/gp/aw/d/B00LM1XVRK/ 1Aだろうが100Aだろうが、USB規格の電源から取るんなら
そのまま取れば良いんでない? >>197
ありがとうございます。ただ配線をしただけのものにしようと思います。 スマホなんかの充電用アダプタからUSB給電なら行けると思うけど
PCのUSBポートから1Aは規格外では?(typeCを除く)
素直に5Vアダプタではどうでしょう。 >>200
本来のUSB仕様だとたしかに500mAまでなので、今回は給電専用のUSBを使うこと前提にしています。
ACから5Vを取り出すのが確実なのは分かりますが、今回はバイクに載せるので、できるだけ扱いやすいUSBに拘っています。 本来のUSBの限界こえてるってわかってんなら、まず5V1Aをはき出せる出力がUSB端子の電源のことをUSBと略すのをやめようぜ
回答する前に本来のUSBじゃダメだけど大丈夫?といちいち確認されるのも無駄でしょ なんかバイク燃やしそうで危なっかしいね。
電源を何から取るのか分からんが
バイクのバッテリーなら各所にヒューズ入れてね。
リチウムイオン電池のモバイルバッテリーは、危ないからダメ。衝撃で最悪火を噴くよ。 アマゾンのリンクが何も分かっていない感を出しているけど大丈夫なのか? 俺も初心者でよく分からんけど
初心者スレなんだから分かってる人が教えてあげたらいいんじゃね? バイクのバッテリーからUSBのコネクタを使って5V 1A以上取り出すっていうことでいいのかわからんが、
そう解釈するとして、こういうのじゃいかんのか?
https://www.amazon.co.jp/dp/B01MF93TRO/ >>201
acから5ボルトってどういうことですか?
(ここらへんの解釈をちゃんと整理していかないとほんとにバイク燃やしそう)
リレーを使っての電源取り出し方法はわかりますか? >>208
常識的に解釈すればこんな感じでは。
>(商用電源の)ACから(AC-DCアダプタを使って)5Vを取り出すのが確実なのは分かりますが、
>今回は(商用電源が使えない)バイクに載せるので、できるだけ扱いやすいUSB(接続のモバイルバッテリからの供給)に拘っています。 https://www.amazon.co.jp/KiloNext-バイク用-USBポート-防水キャップ-ブルーLED付き/dp/B01MF93TRO
こういうのじゃないのか >>209
なるほどそっちか。ACってオルタネーターのことを言ってると思い込んでて混乱してました ぜんぜんArduinoと関係ない話題ばかりだな
それよりStar Ottoはどうなったんだ? バイク板で似たような質問してる子と同一人物なのかな? そこら中で赤の他人を「子」呼ばわりしているのも同一人物なのかな?
掲示板弁慶って、とてもあわれだね。 「子」
自分は大人、自分の方が立場が上、って主張したいのだろうが、
こんな所で自分から言うところが何だかミジメで哀れっぽいな。
二人をよく知っている周りの人間が言うなら分らないこ事も無いが。 スリープのPOWER_DOWNで『徹底的』に消費電力を抑える場合は、
・ADコンバータを無効
・アナログコンパレータを禁止
・ウォッチドッグタイマーの禁止
・BODをオフ
ぐらいですか?あと、使わないピンのモードを、
OUTPUTかINPUT、HIGHかLOWどっちにすればいいですか?
徹底的に待機電力を抑えたいのです。 オープンになっているピンなら、C-MOSのICならプルアップ設定の入力か、出力(HでもLでも)で良いのでは? 「C-MOSの」は余分でした。Arduino前提だもの。
徹底的に下げたいなら、USB-シリアル通信のICが載ってるものは避けるとか
レギュレータでの消費電流も見直すとか、が必要かもですね。 >>218-221
Pro Miniなんですが、電源LEDとレギュレーターは取っちゃいました。
ピン設定ははOUTPUTならハイでもローでもどちらでもいいんですね。
ありがとうござました。 質問です!
ArduinoにPS2のケーブルを繋いで、ArduinoをPS2のコントローラーとして
機能させるライブラリって存在しませんか?
PS2のコントローラーをArduinoにつなぐサンプルは見つかったのですが、
逆が見つかりませんでした。
http://www.billporter.info/2010/06/05/playstation-2-controller-arduino-library-v1-0/
Arduinoは基本的なコードが書ける程度の初級者です。
「このあたり勉強するとわかるよ」的なアドバイスでもかまいません。
配線とプロトコルを解説しているサイトも見つけたのですが、
PS2コンのプロトコルをArduinoで送信するやり方がわかりません。
以上、よろしくおねがいします。 >>223
コントローラーの基板乗っ取りが一番簡単そうだけどな。
コントローラを分解して、ボタンの基板のところにはんだ付け。
リレー回路組んでarduinoで接続。 >>223
ttp://magicpuppet.org/rollingswitch.html
ttp://magicpuppet.org/rolling_switch_technical_document.pdf >>225
ありがとうございます!まさにこんな資料を探していました。
>>224もありがとうございます! アルディーノ初心者です(始めて4時間です)
Arduino Uno
DHT11温湿度モジュール(Temperature and Humidity Sensor)[DFR0067]
4桁7segLED(カソードコモン)(OSL40562-LB)
上記の部品を手に入れまして、温湿度計が作りたいです。
早い話
ttp://tsukutta.hatenablog.com/entry/2014/08/14/094815
と同じものを作りたくて
回路、スケッチをそのまま真似したのですが
コンパイルエラーとなり書き込みが出来ません
DHT11のデータをPCで読み込むためのソフト?はダウンロードしたのですが
それでも直りません
これから試行錯誤するつもりですが、どなたか新たに必要なソフトないしは正しいスケッチを教えていただけないでしょうか?
温度だけでもかまいません。とにかく表示させたいです <MsTimer2.h> というライブラリがないと予想。
ttp://www.geocities.jp/zattouka/GarageHouse/micon/Arduino/TIMERtoLED/TIMERtoLED.htm
とか参考になれば。。。 >>228
うちの環境では全くエラー出ないよ。
測定結果もちゃんとシリアル・モニターに表示される。
つまり、リンク先のスケッチに間違いはない。 >>228
調べた感じでは何かソフトが足りないという感じの内容のようです
>>229
<MsTimer2.h>と同じワードがエラーメッセージにありました!
ダウンロードしてみます!
申し訳ないのですが睡眠をとらせていただきます
ありがとうございました<(_ _)> 232です
昨日のarduinoですが無事起動しました
ありがとうございました
これから温度によってLEDの色が変わるようにしていこうと思います! >>233
解決したら、その経緯を報告するのが筋。
といっても、このキャラに高望みは無理か…。 >>234
この流れなら>>232でやると言っていた内容そのままなんじゃないかな?
ちゃんと報告している方だ。 質問する
自分は寝る
報告は無い
ゆとりってこんなもん >>237
悪いなんて言ってない。
「ゆとり」を分析してみただけ。
あえて言うなら、悪いのは「ゆとり」でなくお前のような事なかれ主義。 >>236
質問する、質問に答える、お礼を言う
これだけでいいだろ
それが嫌なら答えなくていいぞ >>238
では、事なかれ主義になれ。
楽だぞ、そんなんじゃ生きているのがツライだろ?
良い診療内科を紹介してやってもいいw 遅くまでレスを待つ人が出てこないように、その日はもう書かずに落ちると宣言したことに「こんなもん」と言う。
「こんなもん」と言っておいて「悪いとは言ってない」と言う。
報告があったのに報告がないと言ってしまう。
「ゆとり」とひっくるめてこうだ、って分析ごっこ。そんな分析ごっこは聞いて不快になる人はいても、得をする人ってたいしていない。
たしなめられたら自分のことは棚に上げて相手を事なかれだと言う。
初心者スレで憂さ晴らしやめて。 >>241
なんの
つつ鏡
返しだ!
リエントラントでスタックレベルならぬ「つ」レベルが深くなる、ハハハ。
IDコロ助を相手に大人げない事をしてしまった。
いつもならアホの相手は深入りしないのだが、
少し5輪競技の成績も悪いしイライラしてたので・・・。
皆の衆、下らないやり取りスマン。 IDEが吐くメッセージすら読まないヤツがマイコン使うようななったんだ。
ことの良し悪し関係なく、もう何でもありの時代なのよ。 >>233
DHT11よりもBME280の方が、価格、寿命、寸法、ソフトの書きやすさで優れていると思う。
精度はなんとも言えないけど、経験としてはDHTは湿度センサが狂いやすい。
換装の例
↓
http://intellectualcuriosity.hatenablog.com/entry/2017/12/14/212651 そんなに嫌ならテンプレに追加して息苦しいスレに育てれば シリアル通信しているデバイスの間にかまして、パケットをフィルタしたいんですが
デバイス - Arduino - ホスト
|
デバッグモニタ(PC)
シリアルが3系統必要になります。
HardwareSerial + SoftwareSerial*2を使えば解決できると思ったのですが、
全く受信できません(スケッチは以下の通り)
void loop()
{
s1.listen();
while (s1.available() > 0) {
int b = s1.read();
char buf[10];
sprintf(buf, "1:%d", b);
Serial.println(buf);
}
s2.listen();
while (s2.available() > 0) {
int b = s2.read();
char buf[10];
sprintf(buf, "2:%d", b);
Serial.println(buf);
}
}
同時受信を実現しているライブラリってないのでしょうか >>247
megaかdue使えばいいのに
互換品なら安いよ というか、そのプログラムのwhileの中を直さないとだめだね
どっちかが受信したら、受信したポートのデータを受け取る様にしないと >>248
できれば、Nanoサイズが欲しいんですよね
なんだったら値段もNanoが・・・
>>249
これはまだそれぞれのポートから受けとったデータを
PCデバッガに転送するだけ(動作確認用)です
>>250
Hardware+Softwareならできます。
Software*2同時が無理っぽいんです
マルチポートの確認用のデバイスは、同じくArduinoで
void loop() {
count = (count + 2) % 256;
s1.write(count);
s2.write(count + 1);
delay(500);
}
こんなスケッチを用意しました
>>247のスケッチで、s1かs2どちらかのブロックをコメントアウトすると
当然のように受信し出すんです。 ちなみに、mega互換は先ほど発注しました。
これで間違いなく動く物ができてから、Nanoに落とし込めないか検討するべきですね
>できれば、Nanoサイズが欲しいんですよね
>なんだったら値段もNanoが・・・
これはくだらないこだわりでした >>252
>>248はハードウェアシリアルが4つあるからという意味で、
ソフトシリアルでやるなら通信速度を犠牲にして
タイマー割り込みを併用するしかないと思うよ シリアルを受信してPCに送信するならLeonardでもできそうだがどうなんだろう ソフトシリアルで実現することに労力使う意味があるとは思えないけど
↓こんなところも参考にしてみたら
ttps://garretlab.web.fc2.com/arduino_reference/libraries/standard_libraries/SoftwareSerial/index.html 今更かもしれないけど…
デバッグ側が通信内容を垂れ流すだけで良いのであれば、デバッグ側をsoftwareSerialにしてしまえば解決するような。
あいたHardwareSerialをデバイス側かホスト側に割り当てれば、SoftwareSerialの待ち受けは1つで良いし。
デバイスorホストがPCでない場合、ArduinoのオンボードUSBシリアルが使えなくなるから割と面倒ではあるけど レーザーモジュール関連を眺めてると皆受光側は汎用のCdSを使われていますが、
レーザーの波長にしか反応しない明るい所でも使える専用の受光モジュール的な物は
存在しないのでしょうか? >>258
レーザー受光用にCdSなんぞ使わんのじゃないか?
Photo Diodeだろう nanoでon500ms,1hzの方形波のon時間
を測りたい。方形波はrtc3231から
出力。インプットキャプチャで
立ち上がりと立ち下がりで割り込み、
その時のタマー1のicr1と、
タイマー1のカウンタが
オーバーフローした回数から
時間を計算。この流れでおかしな
ところがありますか?
ロジアナで方形波と、立ち上がりと
立ち下がりをキャプチャできている
ことは確認しました。
参考サイトがあればうれしいです 何言ってるか微妙に分からんからスケッチ貼っちゃうといい。
個人的には0.5秒サイクルならもっと適当でもいいと思うけど、まぁ現状測れてるんなら #include <DS3232RTC.h> //http://github.com/JChristensen/DS3232RTC
#include <Streaming.h> //http://arduiniana.org/libraries/streaming/
#include <Time.h> //https://github.com/PaulStoffregen/Time
#include <TimeLib.h> //https://github.com/PaulStoffregen/Time
#include <Wire.h> //http://arduino.cc/en/Reference/Wire
#define echoPin 8 // Echo Pin
volatile unsigned long timer1_overflow_count = 0;//volatile 割りこみ関数、メイン関数間で共有する時使用
volatile unsigned long pulse_count = 0;
volatile bool tgle_catch = true;
volatile bool wait = true;
ISR(TIMER1_OVF_vect)//timer1がオーバーフローした際に呼ばれる。オーバーフローまで4ms弱ある
{
timer1_overflow_count++;
}
ISR(TIMER1_CAPT_vect)
{
cli();//割りこみ禁止
pulse_count = ICR1;
if(tgle_catch){
digitalWrite(10, HIGH);TCCR1B = 0b00000001;//timer1 インプットキャプチャ立ち 下がり でON 分周比1 カウント開始
}else{
digitalWrite(9, HIGH);TCCR1B = 0b01000001;//timer1 インプットキャプチャ立ち上がりでON 分周比1 カウント開始
}tgle_catch = !tgle_catch;
wait = false;
sei();//割りこみ許可
} Arduino uno同士をi2c接続しています(master, slave)
この場合、slave側からはi2c接続のOLEDであるとか、多chモータドライバの類は
制御できないと考えて良いですか?
masterのメモリ残量がきついのでOLEDの処理だけでもslaveに移せたらうれしいのですが >>265
上手くプログラミングできるかどうかは分からないけど
元のmaster側がi2cにアクセスしない時間を保証できるなら
slave側はその間にmasterに設定し直してi2cアクセスするようにすれば
可能だと思う(終わったらslaveに戻す) >>260
コードは見てないけど、不具合がないならいんじゃないかね。 廃車したカーバッテリーをArduinoにつないで
ソーラーパネルで充電しながら常夜灯など簡単な器具を使う場合
ソーラーでの充電が十分ならチャージを切断し、
電力が下がりすぎればバッテリーが壊れるので利用を停止
こんなものを作りたいんだけど
Arduinoでは自分が使っている電圧を調べることできる?
また、Arduinoで同じような事をやってる人のHPなど知ってる人がいたら教えて欲しい >>270
ありがとう
ただ、偉い複雑だね
元々、逆流防止のダイオード一個だけの簡単なものを考えてて
ただ、過放電でバッテリーを壊したくないから監視するだけの
シンプルな設計でやりたいんだけど良い方法無いかな?
リンクはありがたいけど初心者には複雑すぎて理解できない><
12Vのバッテリーを昼充電して夜ちょっと使いたい arduinoが動作しなくなる前に負荷を遮断するのなら
電源をDCジャックから入力、その電圧がVin端子にも出るから
Vin端子から抵抗で分圧してアナログ端子に入れて測れるよ、必要なのは抵抗2本だけ
バッテリーから動作電源と測定の電源に分けて入力しても同じだけどw
「arduino 電圧測定 分圧抵抗」 とかで検索してヒントになるかな
電圧表示にLCDとか使うとリンク先のように複雑になるけど
電圧に応じてLEDを点灯させる程度ならスケッチもさほど複雑にならなさそう >>268
不具合があったけど
自己解決しました。
まだ誤差が59μsあるんだけど
コンパイルにo3の最適化しても
だめだったので、あと発振子を変えてみるつもりですがマイコンの限界かなと思ったり。 >>272
ありがとう
12Vだから電圧は抵抗分圧で落とす必要があるわけか
それならシンプルで簡単に制御できそう
ただ、Arduinoで電圧測定をしている説明を見ると、必ず電池でArduinoを起動させて、別の電池の電圧を測ってる
何となくイメージなんだけど、起動している電源からそのままアナログ端子に差し込むと感覚的に壊れそうなイメージがあって不安だった
一般にこんな事は起こらないの? どうやってチャージのon/offをするつもりなん? >>275
チャージの方はソーラーパネルに逆流防止のダイオードを付けるだけ
5Wの補充電用の物だから多分過充電にはならないと思う
不安がでそうだと
消費側同様、とりあずはリレーかな
他はフォトカプラやSSRか
まだあまりしっかりとは考えてない >>267
そんな事も可能なんですか、私の知識では無理そうですが覚えておきます
ありがとうございます >>269
>>274
開発途中までは思わぬトラブル回避で別電源を用意して試験して
ある程度めどがついたら充電対象のバッテリに依存するように設計変更したらよろしいのではないでしょうか >>273
UNOとかNanoはセラミック発振子だろそれでクリスタルRTCを測ってもね、
しかし年末に購入した中華DS3231も4個中2個が周波数が32.780KHzと
RTCとして使い物にならず他1個も不良でまともそうなのは1個だけだった。
UNOのクロック測ったら-25KHzで2009は+1.7KHzでした。 >>279
DS3231使ってるけど、そんな精度低いもんかな。
32kHz出力は使ったこと無いんだけど。
RTCとして使えないってことは、時計も盛大にずれるって事? >>279 >>282
DS3231が内部で温度とともに校正値を変化させているとはいっても 32.780kHz は異常。
366ppmって、並みの水晶でもでかすぎる。
考えられるふたつのこと。
32.780kHz を測った測定器の誤差が大きい。
中華DS3231が実は怪しいもの(偽造、テストに通らなくて廃棄されたもの)。 >>280
>流石にセラロックはねーって
これを見て最初、
「セラロックでRTCを評価するなんて、さすがに無いよなあ」という同意なのか
「UNOにセラロックが使われていることは、さすがに無いだろ」という反論なのか分からなかった。
よく見たらリンク先が回路図だったから、前者だったのだと安心した。
ともかく、
システムクロックを動かしてるオシレータは、水晶であってもRTCの水晶ほどにはシビアに合わさない。
それを使ってRTC精度を測るのはナンセンスですね。 で、>>279さんは、どんな測定器で周波数を測定したんでしょ? >>258
検出器の前に干渉フィルターを置けば?
レーザーの発光線幅よりも、フィルターの通過帯域の半値幅は遥かに広くて10 nm以上ありますが、他の波長はカットできますよ。 >>282
中華DS3231の話でテストしているわけでもないのでたまに不良品に当たるわけです。
発振周波数が12Hzもずれてると1日で30秒も進みますそんなRTC使いますか?
>>283
4個中2個は32.768KHz残りの2個が32.780KHzと12Hzずれたものがあったので
一応HPのユニバーサルカウンタでも確認しています。
購入した中華DS3231は1個245円ですのではなからバッタ物と認識していますが
ググッてもそんな悪評が見つからないのでここまで当りを引くとは思いませんでした。
>>286
確認に使ったのはルビで自家校正したHP53131A、校正したのは2年ぐらい前かな。 >>288
良品(と思われるもの)はちゃんとした周波数に見えてるのですね。
http://www.avrfreaks.net/forum/does-frequent-reading-slows-down-ds3231-rtc
↑DS3231を頻繁に読むとスピードが遅くなるか? というスレなのですけど、
中華品だからじゃないのか、という疑いも書かれています。
Digikeyでの価格と中華モジュール価格の差がとても大きいし注意は必要かもしれないですね。 >>289
>良品(と思われるもの)はちゃんとした周波数に見えてるのですね。
はい、半分の2個は32.768KHzを出力しています。
使用しているモジュールは以下と同じものです。
https://ht-deko.com/arduino/rtc_ds3231.html そういえばAliのRTC
どこで買ったか忘れたけど一次電池のボタン電池が付属してたけどこれに勝手に充電されてた
一歩間違えると過充電爆発するんじゃないかと不安になり、チャージ回路のパターンを切断したわ
もし買う予定ならお気を付けあれ
精度については良く覚えてないけど100円ショップの時計程度だと思う
ただ、どうしても精度が欲しいならGPSや電波時計からモジュールを取り出して使った方が良いんじゃないかな nano、センサー、モーターはバッテリーとDCDCコンバータで動かしながら
nanoにマイクロusb刺してデータを表示させたいんだけどできますか?
usbのハブがあるけどpcが壊れないか不安です。 >>293
GNDを共通にして大丈夫かどうか、とか、電圧次第ですけど、
心配だったら「USBアイソレータ」をひとつ持っておくと良いのではないかと思います。
俺は自作しましたが、基板だけの安い既製品もあります。
https://strawberry-linux.com/catalog/items?code=12284 PWM出力を0の時にPWMが最大出力にさせるにはどうすれば良いですか?
アナログ入力からの/4で、その数値が低い時にPWM出力を大きくしたいのです vs-codeで質問ですが、サンプル含めて既にある ino を開くのはいいんですが
新規に ino を作るときはどうしたらいいのでしょうか。
setup と loop だけの話ですが、スケルトンを作ってくれないのか、と >>295
そんなのLチカサンプル開いて、
setup()とloopの中身削除して名前を付けてセーブでいいんじゃないの? void setup() {} void loop() {}
↑これをIMEの単語登録に「スケルトン」で登録! まるきり新規なら、まず好きな名前で空のフォルダつくって、その中に「フォルダ名.ino」を
置けばプロジェクトの出来上がり。 >>296
アナログ入力値a、pwm出力bとすると
b={(1023-a)/1023}*255
みたいなんでいけない?
アナログ入力の比率は自分で考えて下さい >>302
それっていつも0しか出ないような気が、、、
4で割るだけでいいのに。 >>302
なるほど元発言の一行目は無視すればよいのか
ゼロのときに最大にしたい、ってなんだ?と思ってたけどようやく理解できました >>302
map関数使った方がスマートじゃない?
PWM出力ポート=map(アナログ入力ポート,0,1023,255,0)
こんな感じだったかな
これで10bitも同時に8bitに変換できて、尚且つ下限と上限入れ替えてるから入力0の時,出力255 ちなみに処理速度が速いのと、使用メモリが一番少ないのはビット演算 賢いコンパイラだと、2のべきによる整数割り算はシフトにしてくれる
お試し版とか、無料版とかのモードだとその辺の最適化が無効になっていることもあるが >>305とかこの手の人が読みやすい綺麗なコード書く人なんだろうなとは思う 昔はいろいろバイナリ、シフトとか考えて書いたけど、最近はやらなくなってしまったわぁ。
なるべく数式通りに、見てすぐわかるように冗長でもいいから、float使いまくって
そのまんま書いちゃう。 それだけ演算能力が上がったって事やね
Arduinoは低性能だけど。
nanoサイズでもっと高性能なのを出せばいいのに
STM32やESP32がIDEに対応してから地味にシェア食われていってるやん。
結局は多くの人がIDE目的ってことやな STM32F103C8T6でもnanoよりloop一周の時間が10倍は速かったよ
ESP32は240MHzでデュアルコア
どれだけ速くなることやら >>315
>Arduinoは低性能だけど。
これは、「AVRのArduinoは低性能だ」って意味なのかな? ADCH取得するだけで1/4になってるのにfloatにして割らなくても。 CPUタイムもスタックもスタティックも余りまくってて、ヒープ使いまくりのclassとかの状況で
細かいこと気にしても意味ないからねー >>312
それもあるけど
質問の一行目の意味を即理解してるのが凄いと思った
俺はコード読んで反転させたかったのかと理解した
暗号化されているかのような仕様書を理解してみんなに説明するプロジェクトリーダーっている。
だからこそリーダーなんだろうな >>297
MSの拡張入れてある?
だったら、空フォルダを開いてF1->Initializeでいけるんじゃね? >>311
割り算が単なるシフトにコンパイルされるには条件(unsigned)がある。
その条件を満たさないと単純シフトにできないよ。 esp32て100kHzの正弦波を全波整流して200kHzのゼロ検出とピーク電圧を計測するのに使ったな
俺の腕ではnanoさんだと厳しくて性能でゴリ押しした
圧倒的な性能でゼロ検出してからのifループで入力電圧最大値を変数にひたすら入れていき
再びゼロが来た時に最大値を記録した変数を渡し変数リセットなんていうクソコードでも
取りこぼさずやってくれた >>326
nanoで200kHz短波はanalogReadに掛かる時間的にも
どの道厳しいよ
そもそもどんな用途? >>327
少し前に流行ったZVSの誘導加熱のアナログロジックを
マイコン制御で電流と周波数を任意に設定できるようにしたら面白そうと思っただけの用途
設計段階からもう趣旨変わって
フルブリッジ になってゲートドライバのデッドタイムに頼らず、あくまでマイコンだけでやってみようとなって
それに必要だったのがCTで拾った正弦波の上に書いたやつ
それで目標だった100kHzは難なく実現して
その後に更に趣旨変わって高周波化になぜか突き進んで30MHzちょっとまでいって
銅を熱することに成功して満足して終わった。
esp32はまだ性能を持て余していたけど、
その先はシーリングライトが勝手に消えたりテレビが誤動作起したりポルターガイスト現象起き始めて、
電波法的にヤバそうだからやめた。 思っていたより壮大で思わず笑ってしまった
おそらく一次側にノイズフィルタをきちんと入れれば大丈夫だと思う >>329
大電流がいたので車の鉛蓄電池でやりました
ただの30Aのノイズ発生装置と化した
スチール缶にリッツ線巻いて熱湯出来たのに喜んでいたのが
スチール缶自体が熱で変形・溶ける能力になった時点でなんだかダメな領域に踏み込んでいる気がした
誘導コイルが水冷になった時点でもう目標の面影もなかった
よく考えたらこれ卒論ネタでやった奴だから特定されるやつだった。 書き方が面白いから卒論だけじゃなしに本にしたらいいと思う。読ませる文章は好きだ。
30AのMHzオーダーなスイッチングはかなりの試行錯誤があったはずだから,それも含めて。 パナソニックのIHに使われてる3倍共振回路が何なのか
ジャンク仕入れて解析したりそこから得た何かを利用した色々アウトなものがあるので
fetや手配線による周波数的な限界が来たらもう1セットフルブリッジ を増やすというゴリ押し回路
最後はfet20個になりました 30A・・・ 3Dプリンタのヒートベッド用ヒーターみたいだ 朝から読みふけってしまったじゃないかw
3倍共振インバータは蓋を開けてみれば
あ、ふーんで終わる代物だったでしょう 本来の職務であるWLANを自らの手で作り出した電磁波によって阻害されるESPたん >>324
算術シフトと割り算は結果が異なるから
そのままは使えない。
-1 / 2 = 0 割り算
-1 >> 1 = -1 シフト 次はIGBTをドライブしてテスラコイルのスイッチングだ
変調して音を奏でるんだ
曲は「雷電」 上の書き込みで気になってESP32買ってみたけど
これは確かに凄いな
今後も安定した供給が見込めるのなら設備に組み込みたいぐらいだ esp32は安いルータでかなりのシェアを持っているから
もし次期モデルが来たとしても、ピンアサインやパッケージと言うか小基板はそのままにするはずだよ
PWMがほぼ全ポートにあるのは丁度ドローンブームだっただけで
ルータには不要だから削られる可能性はあるけれど esp32は中国政府のバックドアがありそうで怖い
低価格、高性能かつ無線lanありだから
、俺が中国政府の関係者なら補助金をメーカーに出してでも拡販したい
バックドアがついてるからどうした、あるいは今までもどこかの政府が用意したバックドアつきのものを利用してきただろと言われればそれまでなんだけど ただCPU2つがアドレス空間を共有しているから
簡単に割り振りできるのが何よりも便利ではある
ATmega328がnanoサイズでクロック向上デュアルコア化されたら
多少高くてもら欲しいぐらい。
海外のforumでも昔から性能の向上を要望され続けているけど
2年前ライバルからの買収で多くのエンジニアが退職されて
新規開発が今もなお厳しい状況なんだとか。 Arduinoを始めたばかりの超初心者です。初めて質問します。
ライントレーサーを作ろうとしていて、ダイセン製ギヤードモーター2つをArduinoMEGA(互換機)とArduino純正モーターシールドで動かそうとしています。
USBで電源供給すると安定してプログラム通りにモーターが動きますが、エネループ1.2V×5本=6VをArduinoの「Vin」につないで動かすと、モーターの動作が不安定になります。
普通の乾電池1.5V×5本=7.5Vで動かしても同じく不安定です。
モーターの動作が不安定になる原因が特定できていません。
例えば電源を「Vin」ではなく「5V」につないで試したいのですが、
6Vの電源を「5V」につないで流すとArduinoは壊れますか?
「5V」は5V以下の電源をつなぐものですか? モーターの代わりにLEDでやってみれば
動作が安定するようだったらノイズだろうから
モーターの両端にコンデンサーいれる レギュレーターもコンデンサーも使っていませんでした。
「5V」に繋ぐにはレギュレーターで降圧させる必要があるんですね。 ? Vin はレギュレーター通ってCPUに接続されてるけど・・・ 単にパワー不足じゃ
3端子レギュは7〜12Vの電圧がいるけど
電池直列だと内部抵抗も大きくなるので電圧降下大きいはず
一回動作させてる時の電圧測ってみれば? >モーターの代わりにLEDでやってみれば
>動作が安定するようだったらノイズだろうから
モーターの方がでかい電流が流れます。
ノイズじゃなくてもレギュレータがもたないのかもしれません。
ダイセンのギヤードモーターの起動時のでんりゅうがどれぐらいなのかわからないですが
それが、マイコンボードの5Vから供給されるのであれば、レギュレータにはきついかもしれません。
外部に十分大きい電流駆動能力のある5Vレギュレータを用意して、マイコン基板の5Vから供給してみては?
(マイコン基板の電源と、モータードライブの電源を分けるのも方法だと思います) レギュレーターは内蔵されていて「Vin」に通っているんですね。
すみません。初心者すぎてよく分かっていないのですが、ネットや本で乾電池1.5V*4本=6Vの電圧を
「5V」のところに挿している回路図をよく見ますが、「Vin」に挿すのと「5V」に挿すので動作の安定性に
差はありますか? >>350
>ネットや本で乾電池1.5V*4本=6Vの電圧を
乱暴な気もしますが…
Megaで使っているマイコンの電源電圧の絶対最大定格(それ以上かけると壊れないことを保障できない)は6V。
動かないことはない、ってことでしょうね。
電池の電圧は電流を引くと落ちます。モーターが回るとボルト単位で落ちるかもしれませんが、マイコンはなんとかそれでも動作するかも。
レギュレータは、過大な電流を引くと、極端に電圧が落ちる場合があります。
重複しますが、整理すると
「電池の電圧6V」をVINに繋ぐと、マイコンには安定した5Vが供給されるが、過大な電流では電圧が極端に落ちるかも。
「電池の電圧6V」を5Vに繋ぐと、マイコンにかかる電圧は不安定になるけど、案外電流の変動には強い場合も。
なお、電池の電圧1.5Vは公称値でして、消耗や電流で変動します。
設計するときは用途によりますが、1本あたり 1.6V〜0.9V で変化しても大丈夫なように考えることが多いと思います。 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からの電源供給でモーターが回るのが不思議なんだけど
誰か説明して Arduinoのレギュレータ入口側は7V位ないと足りないんじゃないかな。
作りたいのはライントレーサで、USBを電源にしたら動くんでしょ?
それならUSBモバイルバッテリを電源にすれば良い。
倒立振子をそうやって作ったよ。
https://i.imgur.com/WjLmdfs.jpg >>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以上の電源を繋いで動作実験した方がいいかも。 USBから電源取るときはレギュレータを通らないのでは? うっかり「5Vのレギュレータどうこうは関係ない」って書いちゃったけど
上のほうで書かれてるような「レギュレータがモーターの電流流せない」とかじゃなくて
モーターに電流流れたとき、VINの電圧(電池の電圧)が
レギュレータの最低入力電圧以下に下がっちゃうってことなんだろうな
・全温度範囲での最大ドロップアウト電圧1.2 V (800 mA時)
新品電池 5本直列時ならいけてもよさそうな気はするんだけど・・・ 皆さん答えてくださってありがとうございます!明日試してみます。 逆流って言っても本来ブリッジ用のパターンはんだ付けしてなきゃVINからも入らない気がするんだけどな。これ普通にドライバのVSS(5V)だけから供給した結果ドロップダウンに耐えきれず不安定になってるんじゃ
とりあえず使い方的にはLSP05にモーター用の電源別で入れたげるか、arduino側と共通にしたいならはんだブリッジ接続してVINに12V入れるのが安全 というか>>352の時点で洗い出しされてたか、すまん。
多分USB供給量>モーター消費>レギュ供給量の絶妙なバランスなんだろうなぁ >>342
エネループは大電流取り出しに向いていない(せいぜいDCモータ1つまで)
東京マルイ No.153 ニッケル水素ミニSバッテリーを使うのが入手性その他の点一番楽だった。
配線はもちろん太い電線を使ってください。 自分が工作した範囲内で書くと上記のバッテリから自作の電源回路を通じて
DCギヤードモータ2個とRCサーボ4個までは同時制御できた(その他センサ、Arduino Uno等も含む)
ノイズや電圧降下に関する問題はもちろんあるので地道に対応した。 Arduinoをバッテリ駆動するときのお勧めはMT3608
入力電圧の幅が広く、出力は3.3Vにも5Vにも使えるし、
電流も取れる。入力はエネループ2本でok 5pcs MT3608 2A Max DC-DC Step Up Power Module Booster Power Module
http://s.aliexpress.com/b2EbaE77?fromSns=Copy to Clipboard
(from AliExpress Android) ESP32でやっちゃえば5V要らずでIOたくさん無線もできて安くてぱわふりゃーで、、、、 最近あっちこっちでESP32厨がうるさいんだけど元PIC厨? >>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. Ali、色々扱ってるけど国内で若干高くても(数倍とかは流石に高すぎるし)同じレベルの品揃えで扱える所ってないのかな? aitendoに行って何が欲しいか尋ねれば中国人のお姉ちゃんがタブレットで丁寧に説明してくれるで 超が付く初心者で申し訳ないです。
arduinoで複数の時計やGPSのモジュール繋いでLCDに投影したいんだけど、プログラムとかが全然分からないのでお勧めの書籍を教えてください。
簡単な電子機器の修理をしてたのでハードやアクションは分かるのですが、プログラムは素寒貧で学生時代にロボット動かすのに少しだけC言語に触った程度なので初心者向けだとありがたいです。
お願いします。 >>371
そんな目的なら幾らでもネットに作例があるから たとえば
http://iot.keicode.com/arduino/arduino-gps.php
とか、ggればすぐに出てくるが
一般的な話は書店で立ち読みして合いそうなのを選べば? 大抵モジュールのライブラリーにスケッチ例があるから
それをつなぎ合わせて、はい完成 Arduinoで全整流の最高電圧を測定する方法って
上の方で見かけた手法が効率いいの?
max関数でおそらく最大値を一周期分記録し続けているんだと思うけど
ほぼそれだけでATmega328だとリソース取られるよね
だからデュアルコアのesp32使ったのかな 直にレジスタを制御しないと1周期分のデータ取得すらかなり厳しいと思うよ。 俺が以前に試した時は
60Hzを全整流した120Hzなら4周期分ぐらいサンプリング取ってやっとバラつき収まったか?ぐらいだった
ピークを運良く拾ってくれるようなやり方よりも
LPFなりで平滑化してからの方がいいも思う 連続的で安定した波形でレスポンスを求めないなら、
入力波形が100Hzだとしたら、99Hzで101回とか、99.9Hzで1001回サンプリングするのはどう? ピークホールド回路付ければぁ?
あとは、いちいち全部取って平均じゃなくてその場でEMA取ってしまえば変数は一個でいい。 複雑に組みすぎなんじゃね
120Hzのピーク値なんてwhileで捕まえて
決めた時間内にmax関数で最大値を変数へ更新し続けるだけで十分
ad精度を少し落としてサンプリング数を増やすと結果的に安定する事もある
どうしても簡易的なデジタルのみでやりたいのなら
この辺のチューニングでやりくりするしか無い
analogReadもビットでポートを直に指定するだけで一度の呼び出しで40クロックはいるのが4クロックぐらいまでは減るから
ループ速度が重要な所はArduinoのオーバーヘッドをいかに軽減するかに力を入れるといいよ
atmega 328pはそんなに低性能じゃないから、
性能を引き出す事にチャレンジするのもまた新しい楽しみや知恵の蓄積に繋がるはず そもそもなんでデフォでポート指定は内部的にそんな遠回しな処理になってるんだろう
初期のコンパイラ仕様がしょぼくて後々互換的な問題が出て来たのか? その通り。
性能よりもアーキテクチャごとの互換性重視なので初期に制定されたコンパイル仕様は
不具合でもない限り変更は為されない。
性能が欲しければ直叩きできるように救済処置はきちんと取られている。 Arduino初心者です。
質問させてください。
arduinoを使用してロガーをつくりたいのですがフラッシュメモリやグローバル変数が足らなくなってしまいうまく動きません。
なのでスケッチ内でメモリを一番消費しているSDライブラリから使わない機能を無くしたライブラリ作ればメモリを節約できると考えました。
そこでSDライブラリ内のSD.cppのmkdir()やremove()を消してコンパイルしてみたのですが使用しているグローバル変数もフラッシュメモリの量も変わりませんでした。
自分で検索しても限界を感じたのでSDライブラリのメモリ節約方法または純正SDライブラリよりメモリを使用せずにSDを教えて欲しいです。
ちなみに使いたい関数はbgin,exist,open,close,plint,plintlnだけです。 >>382
C++も触ったことが無いので自分の力でライブラリを制作するのはできなそうです。 >>383
どのライブラリを使ってるの?
FAT16専用のこれ↓とか試した?
Smaller FAT16 only library for Arduino
https://github.com/greiman/Fat16 >>384
IDEに元々入っているライブラリを使ってました。
そのライブラリは見つけてませんでした。試してみます。ありがとうございます。 >>382
こういうこと書くと、猛烈な反撃あちこちからくらうのが目に見えてるんだけど
製品千・万台作って売るからコスト最優先とか、あるいはUNOでこれだけのことやって
オレスゲーと自慢したいんじゃなかったら、あっさりMEGAとか使うっていうのも
選択肢じゃない?
ここ見てると、シリアル複数チャンネル使うのに、ソフトシリアルで苦労してるとか
一体どういう意味があるのか?って疑問わいてくる
中華ArduinoだってUNOしかないってわけじゃないんだし >>386
Unoってそんな立ち位置のお試し版スレスレの商品だよね本来
メモリやGPIO足りない使い方の人はMega買ってねみたいな認識で正しいと思う UNOが幅を利かせる理由
(1)「純正品だと」Megaは結構な価格になる。
(2)Megaはフォームファクタがちょっと違う。
(3)解説書はUNOが多いから安心。
(4)UNOでここまでできるんだ、と人を驚かせたい。
(1)は互換品を探せば十分低価格と言えるものはあるはず。
収納スペースが先にありきだったら、(2)は問題になるかな。
でもUNO形状のリッチなものもあるよな…
(3)、(4)あたりは、古いPICマイコンのユーザーに通じるものがあるな。
提供する側も、使う側も、UNO推しを続けていると不幸になりそう。 nanoの互換品に至っては300円程度から手に入るから
俺はもうnanoをDIP ICの扱いでそのまま組み込んでる
社内で使う設備に限りだけど >>386
運用する場所、シールドの作りやすさを考えUnoまたはPro Miniの使用を検討していました。
>>390
Uno形状のリッチなのもあるのですね、初心者なので知りませんでした。調べて良さそうだったら使用してみます。 >>392
シールドを自作するくらいの力のある人なら、Arduinoを「CPUボード」と捉えずに
クロスプラットフォームで使える「IDE・API・ドライバ・サンプルプログラム群」という、今風の言い方だと「エコシステム」として捉えてみたらどうかな?
UnoとかMega使って手軽にサンプルプログラムを検証できることが有用なことは
間違いないから、ファーストステップとしてそれはやるとして
シールド自作する力あるんだったら、シールド上にCPU載せるとか
そこまでは・・・って言うんだったら nanoを載せるとかも考えられるし 普通に好きなCPU選んでPCB起こすかユニバーサルに張り付ければいいだけやな
テスト用じゃないのに既製品を使うメリットない 俺がArduinoIDEに初めて触れたのは、ESP8266を動かすときだった。ハードはAVRじゃなくても何でもいいね。 そう、Arduino==Unoでもないし、Arduino==AVRでもない
まあ、検証されてる環境がUnoだったら、とりあえずはUnoでやってみて
そこから別の環境にもってくのが手堅い手法だし、それが廉価なボードで
できるのがArduinoのいいところだと思う ATmega328って意外な所でちょくちょく見かけるな
電子レンジのタクトスイッチが調子悪いから
分解修理した時に見かけた リモコン付きの扇風機で見かけた
変速が滑らかで自然風に近い事を売りにしていた扇風機
サイリスタを変調制御していると思っていたが
意外な事にモータがDCだったからfet一つで制御 3Dプリンタだけかと思ったらそんな身近な家電にも入ってるんだ・・・ うちの製品にもATmegaシリーズはよく使っているよ
5〜10年保証の品には特にその傾向が強くなる
初心者の方ほどよくわかると思うけれど
とにかくタフなんだよ。
出力をショートさせてしまったり定格を遥かに超えた入力
更には電源の逆接をしたことのある人は多いと思う
それでも壊れなかった人が大半じゃないかな。
外部ノイズでFlashが化けるなんて事もまずない
信頼性が必要な用途ほどよく使うから
長年使用される前提の家電では見かける率が高くなると思われる そもそもATMELのマイコンは宇宙開発で頻繁に使われるマイコン
ググればNASAやJAXAのレポートがいくらでも出てくると思う >>393
詳しい解説ありがとうございます。
CPU、nano を載せる事は考えたこともありませんでした、少し考え方が狭かったです。
もう少し色々勉強してハードは選定しようかと思います。 シールド作りもCADさえ覚えればPCB試作1000円くらいで作ってもらえるからねえ
敷居はかなり下がったと思う 確かにAtmelのマイコン壊れたこと一度もないな
使えなくなったのは大抵ヒューズの設定間違えたあたりだし
他社のマイコン使ったことないからこれが普通なのかは分からないけど MEGAとかDueでピンをフル活用するようなときは、上にのっかるのがいいだろうけどUnoで足りることなら、nanoとかDIPのAVRを載せればいいわけで
PCB設計の労力がそんなに増えるわけでもないから、「シールド」という形に
こだわらないほうがいいかも 10年くらい前、PICで車のドアミラーコントローラ作ったけど数ヵ月おきにPICだけ交換したな。
一発破壊じゃないと原因究明難しい。原因は今でも謎。 最近電子工作に唐突に興味がわいたのでarduinoでいろいろ勉強してみたいのですが、
スターターキットを安く買えるところ(通販可)をご存知ないでしょうか?
できれば公式で買うのが良いのでしょうけれど、円高とはいえ送料等で結構かさむようなのでできれば避けたいです。
自分が探した限りではRobotShop.comの9440円が最安値でした。
都内住まいなので関東圏なら遠出してでも買いに行きたいくらいには熱量があります。
英語読めるので言語の違いで値段が変わるなら英語でも問題ないです。
長文でご迷惑かと存じますが、よろしくお願いします。 >>407
amazonで「arduino」検索
必ずしもスターターキットに拘らないほうがいいよ >>408
一つの製品(パッケージ)の割に作れる内容が多いからお得かな、と思ったのですが考えが甘かったでしょうか…? >>407
https://www.amazon.co.jp/gp/aw/d/B0025Y6C5G/
これどう?本物のunoと他そこそこでこの値段だよ
値段に拘るならamazonのkumanとか検索して適当なのでもいいよ
unoやnanoの互換品は純正とほとんど変わりないけど、CH-340GっていうUSBチップが載っててその対処さえなんとかなれば純正買わなくて済むよ
CH-340G arduinoってググッたらすぐ対処法出るよ >>409
とりあえず見てみたの?
「スターターキット」は純正のを言ってるんだと思うけど
純正じゃないのも見つかるし、色々見てたら個別に必要なものを買ったほうが
いいって思うようになるかもしれないし、そこはご自由に >>407
全くの電子工作未経験だったら
秋月あたりいって
arduino uno (純正) 電源アダプター usb cable
LED 抵抗 少々 ブレッドボード ジャンパー線
買ってくる
わかってれば 純正でなくてもいいけど つまずくと
時間もったいない
出力のショートをさせてしまうと
普通は出力モードで使用していたとしても弱い内部のプルアップ抵抗が真っ先にやられて
リークするようになって
恒久的に消費電流の増加 そのピンの出力低下または使用不可になるのが多い故障モード
Atmegaは破損する前にハードリセットがかかるから
おかしな事してリセットされてしまった経験ある人多いんじゃない >>410
おおっ、ご丁寧にアドレスまで頂いてしまって恐縮です。
「こだわる」という程ではないのですが、本当に根っからの初学者相当なのでなにかのサンプルを見ながら作れることと、パーツが最初から揃っていてすぐに次のステップに進めることを重視しておりました。
URLを拝見しましたが、初学者には十分すぎる内容に見えますね…「スターターキット」という単語に惑わされてしまっていたかもしれません…
>>411
お値段がかなり安いことは見て取れたのですが、パーツだけの画像が並んでいるので「自分に取り扱えるのだろうか」と弱気になってしまっていたかも知れません…
「公式のものを買っておけば安心」といった固定観念があったことは否めませんので、互換品?をご提示いただけるのは本当に勉強になります。
下調べが足りないことは痛感いたしました!
>>412
仰るとおり、全くの初心者です。raspberry piなら触ったのですが、小型省エネサーバーになってしまったので工作らしい工作はサッパリですね…
また、秋月電子で取り扱っていることを知りませんでした!電子工作といえば秋月という話は頭にあったのに何故思い出せなかったのか自分でも不明です…
上記のお二方からご提案いただいたURLを見直したあとで、週末秋葉原に寄ってみたいと思います!(別件の用事もあるのでついでに…) ラズパイ いじれるなら 互換品の pro mini +,usb serial
とか wifi 付きのespなんちゃら組み合わせでもいいんじゃない スタータキット
http://s.aliexpress.com/IJFZbUf6?fromSns=Copy to Clipboard
(from AliExpress Android) ProMicro互換機(コネクタは丈夫なmini)
http://s.aliexpress.com/eQRbMr6R?fromSns=Copy to Clipboard
(from AliExpress Android) Nano互換機
http://s.aliexpress.com/6baYF3Qb?fromSns=Copy to Clipboard
(from AliExpress Android) スターターキットとして買うならこのへんかな。
ブレッドボードに刺したり組み込んだりに便利なのはNanoとProMicroだと思う。 >>407
nanoとかmicroとか種類はいろいろあるけど、まずはunoから初めたほうがいいよ
ネットにある配線画像の大半はunoだからね
nanoとか他の互換機はunoに慣れてからのほうがいい nanoの良いところはブレッドボードに直にさせる事 atmega1284Pもなかなかいいよ
unoやnanoでブートローダ書き込めるから
秋月で何か買い物する時あったらついでに買ってみるといい
i/oはこんなにいらないけどプログラムメモリとram多いから結構融通が利く
megaの互換機がそれに近い価格で買えるからコスパ最悪だけど。 英語が読めてRaspberryPi使うほどなら、USBコネクタ付きのESP32ボードが正解かも知れん。 esp32はATmegaと同じ感覚で扱うと簡単にブートローダ化けてリブートループに陥るから
それをリカバリー出来る程度のスキルはいるよ
それを楽しめる人にはオススメ Arduino初心者です。
Lチカは出来たので書き込む環境は整えました。
又、昔〜Cをやっていたのでソースコードはそこそこ理解できます。
やりたい事は下記です。
esp32同士でルーターを介さず直接やり取りは可能でしょうか?
グッグても適切なモノにあたりません。
識者の方お願いいたします。 wifi経由でシリアル同士をトンネル接続的なことかな
片方APモードにしてESP32同士繋げればいいんじゃね
そんなに難しいことではないがデバグはPCにシリアルポートが2つ要る
ESP32自身のファームを自動化するにはそれなり知識要る(難しい)から
それぞれATコマンド?で設定して使え 上の方で家電でAtmelマイコンを見かけた話が出ていたけど
掃除機にも使われたよ
少し前まではルネサスの8bitマイコンが使われていた所に
Atmelが入り込んできた印象がある。
ディスコンの心配がまだなく信頼性もあり開発環境とライブラリの豊富さとなると
消去法でそうなったんかね ルネなんとかは長期供給が保証されている分やや高い設定だったマイコンを
あっさりディスコンしやがったから二度と使わない。
俺が設計する製品に実装される事は一生ない。 長期供給が保証されてるマイコンて?
そんな事をルネサスが本当に保証したの? このマイコンは車載向けなので高くしまーすって言い出した辺りで使うのやめたなー エンジニアと言ってもパワーデバイスの部類だが。
たまにインバータや誘導加熱の話が出て面白いので見てる
ルネサスの8bitやらのマイコン類は大半がうちの所から移管された物だな。 >>439
ここの敷地内にルネサスの墓標があるらしい >>427
有り難う御座います。
ヒントを頼り勉強します。
ルネサス、8Bitで思いたした東北のほうの出張で偶然に中の人と少しだけ話したな〜
日立HD64180 よく使っていたな dueがメインになればarduinoの評価も大分変わる。
初心者からガチ勢まで使えるから。 ESP32ってMHz帯のPWM出力できるのか
そりゃIHの制御に使って見たくなるわな
共振ではなくそれをソフト的にやる事にロマンを感じる IGBTを負電圧も使ってどこまで高速スイッチングできる試したら
5Aの負荷で壊れてしまった
やっぱ構造的に絶縁層が増えている分故障しやすいのかな
ゲートとエミッタショート >>445
G-E間ショートは貫通電流で故障した時に起きやすい。
特に5Aはスナバ回路の対策がないと高速スイッチングのそのエネルギーはとても大きい。
高周波な程絶縁破壊は起きやすい
C-E間にバリスタとコンデンサを追加するといいよ。
壊れやすさで言えばnFETよりはるかに壊れやすい。 >>444-445
数百kHzで遊んだくらいだけど
かなり波形は鈍ってるから、そのままゲート直結するとダメと思う
波形をシャキーン化する仕組みを後付け マイコンのPWMってエッジが鈍ってたり歪んでたりそんなもんが大半
Atmelの作るマイコンが波形綺麗すぎる まえに delay(n)がきっちりn[ms]休むかどうかでうやむやしてたが、
ESP32のArduinoは、下のループ処理では1ms周期に規準化されてうごく
loop(){
GPIOをON;
// 数百μsecの処理
GPIOをOFF
delay(1);
}
ってやると、周期が1msecの矩形波が出てくる。 delayには保証ないけど空ループ同然だったらある程度正確だよ
ESP32独自の仕組みは知らないが >>449
delayの長さが1msより短いってこと? >マイコンのPWMってエッジが鈍ってたり歪んでたりそんなもんが大半
どういう大半だろ? >>449
それってdelay処理のコンパイラが高度で
数百μsecの処理 +α=1ms
っていう処理してくれてるのか?
ありえんだろ ありえんな
荒いトイオシロで見て、そんな気がしただけだろう タイマーの単位が1msで
たまたまそのグリッドに合った
って可能性は?
Arduinoのシステム良く知らんけど そもそも正確に1ms休むってほうが難しい、めんどうくさいと思うわけ。
delay()は起こされるタイミングが1ms単位でしか管理できないというだけの簡単な事情。 >>458
そんなの?
単発でdelay(1)って使ったら、0us〜1msでばらつくのかな? delay()がどういう風に実装されているかだな
arduinoのシステム知らないが
割り込み禁止してループorタイマ監視しているだけなら変動はないが
タイマ割り込みでカウントしてて他の割り込み入ったりしたら変動するだろうな ばらつくわけじゃなくて、1msごとでしか起きる(戻る)タイミングがないということ。
次の起きるタイミングが来たら、その時にカウンタを減じて、0だったら起きる。 待ち時間は切り上げが普通なのに切り捨てか
ひどい実装 まあそういうこった。
俺は待ち時間の正確性より、起動時刻の定時性が手軽に得られるから、これでいいと思うが。 >>453-455が真相だと思うけど、loop()を一定時間毎に実行する機能は
あってもいい気がするね
loop()を呼び出す側は隠ぺいされてるわけだから、そこに機能追加して
msLoopCycle = 10; とかすると10ms毎に実行されるとか システムで1ms監視してて
delay(1)なら、次に1回upしたら終わりってことだろうな
要は切り捨てだな
毎回μsの処理しかしてなければ、毎回1msにしかならんってことだ
1ms+〇μsにもならんし2msにもならんってことだ
delay()は全部こうなってるかもしれん
今まであてにしないで使ったことないからな >>466
MsTimer2で。
ハンドラで、指定時間ごとにグローバル変数のフラグを立てて、
loop()内でフラグ立ちを待って、立ったら倒す。みたいな感じで。
μ秒オーダーのジッタはあるだろうけど、全体としては指定時間ごとにフラグが立つわけだし。 ATmegaさん壊れにくいと上の方で見かけて思い出したのが
フォトカプラの独立GNDと
オシロの1ch 2ch共通GNDを介してマイコン側に15Vの交流を印加させてしまったけど
リセットされただけで生きてたな。 esp32はまだまだArduinoへの対応は不完全だけど
世界中で熱心なファンが多くいるから
forum見ていても毎日何かしらの最適化やも話題の解決がなされてるな。
やっぱデュアルコアがArduinoで使えると関心を呼ぶんだな。
二つのコアがアドレスもi/oも共有している仕様から
同時に使って仕様突破のpwm周波数が出せるとかで
それを組み込みされているグループもいる >>469
横からだが、長い割り込み処理は多重割り込みのシステムを作る時に苦労するから出来るだけやらないほうがいいと思う
スタックを食いつぶすし
>>468の様にフラグ立てたりカウンタ増減させる程度にしたほうがいいと思う >>474は誰に対するレスなのか誤爆なのか全然意味が分からねー
誰か解説してくれ 安心しろ
数スレ前も読めない自意識過剰なせっせとレスする働き者の無能には言ってないから digitalWrite(>>450, HIGH); ESP32は短命なようで未だに8266も作り続けているから
Espressif Systems社は長いスパン提供する方針なのかな。
この手のメーカーは呆気なくディスコンして仕様覚えきった者がバカを見るみたいなあるあるがありそう digitalWrite(>>481, HIGH); >>482
アンカー付けるのさえ惜しむんだからよっぽど速く書きたいんだろうね。 set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_mode(); >>484
誰もあなたに呼びかけていないのにどうした? >>480
一応はまだまだ作る予定である事を社長が自ら言っていて
そうする為にも協力を仰いでいる状態
だからやけにArduino対応化が進んでる >ATmegaさん壊れにくいと上の方で見かけて思い出したのが
>フォトカプラの独立GNDと
>オシロの1ch 2ch共通GNDを介してマイコン側に15Vの交流を印加させてしまったけど
>リセットされただけで生きてたな。
↓
>交流はパルスみたいなものだからさほど影響ない
もしこういうレスの付け方をしたのならすげえ的外れな気がする。 >>471の状況も実はイメージできてない。
たとえばこんな感じなんだろか。
マイコンの信号系にはオシロを通じて変な電圧がかかることは考えにくし、
もともとマイコンが壊れるリスクはとても低いと思う。
回路によっては交流系とマイコンのGNDが接続されることで、
電源がおかしくなることはあるかも、ですが。
初挑戦です。YouTubeでチュートリアルの動画を一通り見ましたが不安が残っていますので質問させて下さい。
Arduinoで連続回転サーボ二台を動かしたいです。
Arduino uno単品とusbケーブルひとつとParallax(双葉)連続回転サーボ二基を買おうと思っています。
サーボの説明には140 +-50mAとありますので、二基なので二倍して6V/3.8AのACアダプターを購入すれば宜しいのでしょうか。
言葉たらずでしたら申し訳ありません。 >>490
私も同じ回路を想像して、
AC入力フォトカプラの1次側と2次側のGNDがつながったらCPUが異常になるか?
と疑問に思った。
ノイズかサージが入ってきたとか? >>490
それもそうだし、そもそもいくら例を上げてもATmegaが壊れにくい
なんて結論にはならないと思う。 >>494
ありがとうございます。
高校の物理の内容を忘れてしまっていて不安でした。 去年辺りから流通してる激安ドップラーレーダーのRCWL-0516
コレを近づいてるか遠ざかってるかを判断出来る様にハックした情報とか無いですかね? そこ見てopアンプが低精度で厳密にはドップラー効果を使ってない、
とうっすら理解はしたんだけど
どこかでそのopアンプを交換してなんたらかんたらって記事を見た気がするんだよなあ かなりな仕掛けを足さないと距離の判定できないんじゃない?
ADC+信号プロセッサとか あらesp32のpwmって10bitだと76kHz辺りで頭打ちだな
意外にハードウェアpwmの性能は高くないのかね >>503
そんなもんなのか。
10bitでも1MHz近い周波数は出ると思っていた 原理的にPWMカウンタのクロック周波数/1024になるから
1MHzで10bit出そうとすると、クロック周波数1GHzで動作する
タイマーモジュールが必要になる
まあ、スマホのチップはそれくらいのクロックで動いてるんだから
不可能というわけではないけど 今年になって一気にesp32ユーザが増えた印象があるな
ここ以外でも個人ブログやTwitterでちらほ見かけるようになった
少し前まで新しい物好きが評価と好奇心で買っていた印象だったが
Amazonでも1400円で買えるようになったのがデカいのか wroom-02と違ってプルアップ抵抗を用意しなくていいので
ブレッドボードで使いやすいってのもあるかも ESPは「ぼくがかんがえたさいきょうのモジュール」を現実化したようなものだよなぁ いろんなスレでESP厨が自演して暴れてるらしいな。 流行り物に付いていけない人はそれを否定する事で自分を守るって言うらしい。
老害やね そりゃあ話題が全然違うところで暴れまわってる人がいたら否定というか送り返してあげるのが当然だろ…
精神に病気がある人が公園で暴れまわってたら病院に行けばいいのにって思うじゃん? >>513
当人に病んでる自覚はほとんどのケースでない(オレは幼少期から狂ってると言われ続けているので異常な自覚がある) せっかく専用スレがあるんだしそれを活用すればいいのに、ってそれだけのことじゃないのかな?
https://rio2016.5ch.net/test/read.cgi/denki/1494294395
専用スレでArduino開発の話をするとバカにされそうで怖い、なんてことはないと思うのですが。 中身がESPでもAVRでもPICでもArduinoIDE使いはみんな友達 元PIC使いでPIC10〜24まで色々使ってたけど、確かにAVRの方が壊れにくい気がする。
っていうかPICが壊れやすいのかも? 既出だったらゴメン
AliExpress等で販売してるSMDタイプのATMEGA328P-AUの場合
ヒューズビットの書込み失敗した場合、ヒューズリセッターは
どうしたら良いのでしょうか?
グーグルで探すとATMEGA328P-PUのは結構出て来ますが、
表面実装タイプが見つからないので質問しました。 sop アダプターでもつかう
2313はけっこうやってしまって そのままだ・・ Arduino UNO R3 2台で正常な方のクリスタルから電線をはんだ付け→通信不能側AVRのPB6(PCINT6/XTAL1/TOSC1)へ接続
同じく正常な方のクリスタルGND→通信不能側AVRのGNDへ接続
2台をPCに接続、AVRライタで正しいヒューズ値を書き込む
上記は可能でしょうか?
>>520
2313なら暇な時にでもどうですか
http://yesavr.web.fc2.com/tiny2313/FUSE_RESET/FUSE_RESET.html 2313の書き込み機どこかいってしまった・・・
もうつかっていないけどNotePCのパラレルポート使ったやつだけど
間違えるとPCまでこわれそうだし
現在は win機もない ubuntu only うっかり逆接でセンサ類3000円分くらい吹っ飛んだのにUnoだけ生き残ってて
なんかちょっと感心してしまった 0.1秒毎に時間割り込みでセンサー値を読み取ってSDカードに保存&シリアルモニタに出力してるけどなんか実際の時間より遅れる
millisをモニタに出力してみたら10秒ごとに1-2秒遅れてるんだけど流石にこれが精度の限界ってことはないよね millisがずれてる?
millisに対してずれてる?
どっち? >>527
長い期間割込み禁止になっている部分はないですかね。 >>529
MsTimer2を使ってるのでなので1msだと思います
「millisがずれてる」ですねシリアルモニタだけ見ると毎回数msはズレるもののちゃんと0.1秒事に処理されてる様には見えますが実際の時間とズレていきます
>>531
特にはないと思いますが割り込み禁止になってしまうものがどういうものなのかわかりません シリアル通信系は明記しとかないと割り込み停止されてるぞ タイマー割り込みはどうだったろう。
0.1秒毎の時間割り込みハンドラの中で
「センサー値を読み取ってSDカードに保存&シリアルモニタに出力」
をやっているとして、
その間にmillisが使っている割込みが許可されてなければずれてしまいそうな。 1602+ic2アダプターを付け、LiquidCrystal_I2C.hを使用して1602に文字を出力しています。
質問が2つあります。
(1)バックライトが眩しすぎるので、少し暗くしたい
lcd.backlight();
lcd.noBacklight();
を繰りしてPWM調整みたいにするしかないんでしょうか。
メインのプログラムのloop内に別スレッドで動かすとかは、私の技量では難しく、
もう少し簡単な方法があるのでしょうか。
(2)カタカナを簡単に出したい
文字コードを変換するライブラリみたいなのがあれば教えて頂きたく。 (1)バックライトに半固定抵抗でも入れる
(2)1602がHD44780互換でカナフォント持っていれば表示できるが
半角コード文字をキーボードから入れられないのか?
(具体的に何がしたいか不明) Arduino nano bricked!
ここの諸兄なら、その後どのように楽しみますか? >>542
atmega328pリセットにxtal pinへの接続が必要ですよね。
nanoのどこから(どこに)信号送れば、いいのでしょうか? Arduinoにアナログモデム繋いで何かできないかな? ノブが12個、スイッチ1個のMIDIコントローラーを作ってみたいので、Arduinoの購入を考えています
はじめてなのでブレッドボードなどがついているスイッチサイエンスのセットを買おうと思っています
しかし、セットについてくるArduino Unoはアナログは6つとなっているので、ノブを12個付けるのは不可能なんでしょうか? >>549
どう自決したのか描いといてよ
ちなみに僕の介錯はアナログスイッチで切り替えてた
だよ >>550
二通りの意味があるよ
>>551
洒落がきいてるw 念のため。自決は「わからなくて質問したことが自分で解決できました」ってシーンでは
(すくなくともリアルでは、会社とかでは)使わない方が良いよ。
自決は確かに自分で解決の意味もあるのだけど、
穏やかなものではなくて、干渉を嫌う、指図を受けないみたいなキツイ意味にとられることが多いはず。
民族自決…俺たちの民族のことは俺たちで決める。干渉するな、のニュアンスが含まれる。
集団自決…集団で自殺(もとはといえば、これも、一切の干渉を絶つというような、峻厳な意味かも)
ネットスラングをネットスラングとして理解している間は良いのだけど、
それを見た知らない人が、普通の言葉だと思ってリアルで使ってしくじるのは避けたい。 そんなことより、ロータリーエンコーダをロリータエンコーダって言い間違えないように気をつけたい ADコンバーターを取り付けたり、出来合いのIOエキスパンダーを使えばアナログ入力を増やせることが分かりました。
または、UNOを買うんじゃなく、Leonardoを買えば最初からアナログが12個も使えることも分かりました。
先ずはUNOのスターターキットとオライリーの本を買って勉強してみます >>556
まずアスペを自覚した方が良い
そしてモラハラ野郎だとも自覚しろ いやリアルに失敗していただいていいだろ
失敗しないと覚えないよ人間なんて >>363
>>364
亀だけど、これ勧めてくれた人に感謝
静止電流っていうのかな、これがすごく少ない
100均の乾電池の携帯充電器の5V昇圧使ってたけど
こっちは何もつなげて無くても2mAぐらい消費してた デマは業務妨害罪に問われる可能性がある。気をつけて この手のデマで リンチが多発したんだよな。
水晶の夜みたいなことをしたがる人間はいまだにいる。 >>562
基板がちょっとでかいけど、趣味に使うにはいいよね。 timer使った時間割り込みプログラムのloop()内って空白推奨なのかな? >>567
timer割込みルーチンの中ってデフォルトでは割込み禁止だったような。
そこに留意できてればそれでいいかな。 割込みが入ったことをポーリングして処理をする
割込みの中は、本当にすぐ必要なことだけやってすぐ戻るべし まあいろんな設計ポリシーがあるけど
一般的にはそうだな
ポーリングじゃなくてもっと良い方法を使っても良い arduinoを使った小物を配布しようと思っているのですが、
arduinoに書き込まれているスケッチを、arduino ide等に読み込み、
スケッチを見るむ事は出来るんでしょうか。
スケッチにssidやパスワードが書いてあるので、どうしたものかと。 ブログかなんかにコード載せるかinoダウンロードできるようにするとか
どのみち書き換え必要なんでしょ >>572
ssidやパスワードはEEPROMにでも保存すりゃいいよ
シリアル経由でEEPROMの内容を書き換えられるようにしておけばいいんでない 配布するデバイスのROMにバレたら困るssidやパスワードを書く状況ってどんなのなんでしょ。
デバイスを売るのではなくて、そのSSIDとパスワードが使えるイベント会場で貸し出すのが目的? >>572の言いたいことは配布したArduinoから逆アセによって
ssidとパスワードがバレる危険がありますか?ってことだと思う。 wifiシールドを使って、スマホから操作できるLチカを作りたいのですが、
htmlタグを.inoの中に直接記述するより、別ファイル.htmlにしたほうがブラウザを使ったテストが簡単です。
そこで.htmlを.inoと同一階層に置いて、.inoから読み込みたいのですが、
そういったことは出来ますか?
できるなら、どのような方法がありますか?
よろしくお願いします! すみません>>579ですが
やっぱり私には難しすぎるみたいです
残念ですが諦めようと思いますので無視して下さい
どうせ俺には出来ないんで >>579
htmlファイルをincludeすればいいんじゃね?
htmlファイルの頭と後ろに
char html_data[] = "
HTMLの中身
";
としておいて、inoファイルで
#include "htmlfile.htm"
とする
char html_data[] = " の部分はブラウザが無視してくれるかな
ゴミが出たりするかもしれんしhtmlの書き方も注意が要るが
(もうちっといい書き方があるかもしれない) 二通り解釈が可能な質問だから対策の解答が割れてる様な・・・
・解釈その1(流出の心配)
固定の専用SSIDとパスワードがスケッチに書き込まれており
受け取ったユーザーに悪意があった場合それをArduinoから読み出すことが出来るか?
・解釈その2(設定の心配)
配布したアイテムの動作にはSSIDとパスワードが必要で
それはスケッチ上で書き換えてからコンパイルしたプログラムをArduinoに送らないとならないので
ユーザーが設定を変更してプログラムを書き換えるために貰ったArduinoからスケッチを読み出せるか? 沢山、意見頂きありがとうございました。
>>583の書いていただいたように1の流出の心配です。
やろうとしてることは、wifi経由の工場内複数個所の室温モニタリングです。
工場内、SSIDとPWは統一してるので、1つでも盗まれPWが漏れると困ります。
ソース自体はたいしたことないんで、それは見られてるは全く問題ないんですがね。
APのMACアドレス制限程度の自衛はしていますが、細かくログを取ったり調べる事もないので、
Arduino自体を盗まれるワケでもなく、PWだけ確認して元の場所に戻されて、
知らない間にPWつかって社内ネットワークに別の端末繋がれてましたとかでは目も当られないので。 お前が作った過去のプログラムも全てセキュリティ診断でアウト食らう予感 なんで実使用しているものと一緒にする
外に出すバージョンはSSID,PWを変えとけばいいじゃないか >>586
会社のIT部から振り当てられてるSSIDは各部門に対して1つと決まっており、
追加で増やすという選択肢は会社のポリシー上アウトなんです。 読まれるのが心配ってだけならロックビット設定しておけば良いような気はするけど…
IT部門に掛け合って、専用のAP+ネットワーク作ってもらった方がいいんじゃないの
勝手に怪しい機械を既存ネットワークにつなげられたらたまったもんじゃないと思うんだけど。 暗号化すればいいんでない?
簡単なものならプログラムですぐ出来るし こいつの屁理屈じゃ、「暗号化解読するロジックまで丸見えになるから実行時のメモリ見られて終わる。ロジック含めた暗号化は意味ない」って続くね。
こいつは仕事でやってるんだから、テメェに支払われた金に見合った仕事ちゃんとやれやボケって俺は思うね。
自分には無理だって手をあげることも仕事の1つだろ辞めちまえその仕事向いてねぇよ セキュリティに関することをこんな場所で話してていいのかよって ESP8266をArduinoIDEで開発してロガー作ってるけど、WPSを使えば解決するのでは? >>588の
>読まれるのが心配ってだけならロックビット設定しておけば良いような気はするけど…
これで「そこそこ十分」な気はするけどな。
それでも絶対的にSSIDを盗まれないようにしたいなら、>>591も書いているけど ZigBee で
接続するとか。 リアルタイムでなにか制御しないなら、室温データを1台に集めてSDカードにでも保存。週1くらいメンテナンス兼ねてカード入れ替えたら? 別WiFiでも、盗まれる可能性のあるもので、もし基幹ネットにアクセスできるなら設計的に×。
盗まれる可能性のあるものは、外部ネットとしてGWでアクセス制限して隔離が常識。 ど素人の質問でゴメン
uno r3 でブートローダーを無効にするには具体的に
どうしたら良いのか?
グーグルするとブートローダーの書き込みは出てくるんだが
無効は見つからない >>599
AVRのヒューズのBOOTRSTがプログラム(0)になっているとブートローダ領域から起動するようになる
これを非プログラム(1)に変更することで、フラッシュの先頭から普通に起動するようになる
つまり何らかのライタ類でヒューズを直接書き換えてやればいい
当然だがこれをやると素のAVRマイコンに戻り、Arduinoとしては使えなくなる >>600
感謝感謝!
中華のuno r3 開発ボードの初期値をAVRライターでReadしたら
Lo:0xFF Hi:0xD6 Ex:0xFD(05) Lock:0xCF(0F)
中華の安物なので、AVRとクリスタルの間にUSARTの信号線が交差するので
Lo:=0xF7(全振幅)Hi:0xDA Ex:0xFD(05) Lock:0xCF(0F)に変更したので
ブートローダーが無効に出来なかったのか・・・ど素人丸出し
ATmega328Pチップ
High_Fuses(Bit0 BOOTRST)・・・Hi:D9にすれば良かったのか!
D6 -> 11010110
D9 -> 11011001
DA -> 11011010 Arduino nanoの互換機と下記D/Aコンバータを使用しています。
ttp://akizukidenshi.com/catalog/g/gK-08677/
D/Aから5Vを出力させたいのですが、
0.1Vしか出力されず困っています。
どのようにすれば出力を意図したとおりにコントロールできるのでしょうか。
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(9600);
}
void loop() {
Wire.beginTransmission(0x60);
Wire.write(4095);
Wire.endTransmission();
delay(500);
} 仕様を読めっつってんのか?
すんげぇ先生なのかお前? トラブル希望者の原文
仕様を読めっつってんのか?
すんげぇ先生なのかお前?
通常の日本人レベルへ翻訳
仕様書を御覧になられてはみては如何でしょうか? 仕様書を穴が空くほど読んで、その上で仕様書のどこがわからないのかをページなど併記の上ご質問下さいませ。
これでいいか? >>602
I2Cインタフェースは理解してるかい?
そのソースはなにを意図してるの? >>602
1.(秋月の)取説読んでDACレジスタに書き込むべき値を確認
2.Wire.write()は、1byte出力するだけだから、16bitデータを出力するときは
2回に分けないといけない 「DAコンバータ Arduino」でググったら幸せになれるかも >>607
コメントありがとうございます。
I2Cインターフェースはググってある程度理解したつもりです。
このソースの意図としては、スレーブ側に値4095を入力して5V出力させるつもりでした。
>>608
コメントありがとうございます。
Wire.writeの出力は1byte分だけなのですね。
取説は何度も読み返してみたのですが、まだまだ理解不足でした。
連続の質問となってしまい申し訳ないのですが、レジスタへの書き込むべき値というのはどのようなことを指すのか教えていただけますでしょうか。 >>611
サンプルはググって色々いじってみたのですが、現状として記載元と同じように動かないんです… 窓の開け閉めをモーターでウィンチのようにテグスを巻き取りシステムを作りたいのですが
モーターの回転数を低く、トルクを上げようと、タミヤの6速ギアを買ったのですが
音がうるさすぎて実用的ではありません、グリスを塗っても厳しいです
なにかヒントください MCP4725のデータシートは見たの?
write commandのフォーマットみたら
(Write DAC Register Command)
そんなコードで動くわけがないということは判るだろうに
最低4 バイトの送出が要るよ
プルアップはしてる? >>612
"arduino MCP4725"でググったらサンプル・解説色々出てくるよ
あと 614さんが書いてるけど、「J1,J2,J3に半田を盛って接続する」こと 「詳しく」って言われても、MCP4725が手元にあるわけじゃないから
実際に試してから書いてる(と思われる)ブログ紹介するくらいしかないよ
正直言うと、"Fast Mode Write Command"って何なんだかよく分からない
データシートの1ページ目には、Fast (400kbps), and High-Speed (3.4Mbps) Mode
って書いてるから、400kbpsの転送速度のことか?って思うけど、最初100kbpsで初めて
途中から400kbpsでデータ送れるってことなのか?
じゃ、High-Speed (3.4Mbps) Modeで送るのにはどうするんだ?
ちょっと見た所書いてないようなんだけど・・・
まあ、自分で必要じゃないことに、そこまで面倒見てられないし
動いてる実例があるみたいだから、そっから始めなさいよってこと >>610
まずこのへんからどうかな、WireやI2Cの基本的なところから
https://qiita.com/MergeCells/items/20c3c1a0adfb222a19cd
>>613
タミヤのテクニクラフトや基本工作セットのギヤボックスは基本的にどれもうるさいよ
また模型用途だから窓とか重量物を日常的に動かすとピニオンやクラウンギアが破損するし
RE-260RAは多少ましではあるけどFA-130RAモータとかも同様に結構すぐ焼損する
音は出るけどプラギアのジージー音よりはましなのでステッピングモータなどを使うのが良いのでは 窓の開け閉めをちゃんとやるのは大変だ。
頑張って強力なギヤードモータを買ってやるしかないけど、機械設計の素養がない人にはちょっと厳しい 窓の開け閉めを聞いてるのではないけど・・
低速で静かを求めるならステッピングモーターがいいかも >>621
お前は>>613と>>619が目に入ってないのか…? >>619
さんくす、ギアボックスはあきらめたほうがいいっぽいね
ステッピングモーターか、トルクの面から頭になかったけど、ちょと調べてみます
>>620
さんくす、ギアかお
>>623
すまないね、実際にモーター使って制御してる人ここに多いと思って https://mysound.jp/om/95/
このページの手順を試しています。
可変抵抗器を一番左に回した所(時計の7時くらい)だとLEDが暗く点灯します。
そこから8時に上げると明かりがちょっと明るく点灯します。
その後、9時にするとLEDが早く点滅し、以降5時までは点滅の間隔がだんだんとゆっくりになります。
上のページだと、「ここでツマミを回してみましょう。LEDの明るさが変わったら成功です」しか書かれていなく、点滅の間隔に付いては一切記載がありません。
自分の手順は間違えているのでしょうか?
7時から8時の間も滑らかにだんだん明るくなるのではなく、一気に段階が上がったように明るくなりました。 たのむからまず作るものの回路図を示してください。
写真や実体図ではわからないことが多すぎる 別に間違ってはいないと思うけどブレッドボードに刺した可変抵抗が接触不良だったりするかもね >>625
あなたの書いてる様子で正解です。
点灯ってのは、人の目に点滅が感じられないほどの速さで点滅してる状態も同じこと。
そのページの説明が足りないというか曖昧。 どうもありがとうございます
>>626
このページには回路図は載っていませんでした。
>>627
暗く点灯(7時)〜明るく点灯(7時)
が正しいという事でしょうか?
新しい可変抵抗を買ってきたらもういちど試してみます。
>>629
暗く点灯(7時)→明るく点灯→早く点滅〜ゆっくり点滅(5時)
が正しいという事でしょうか?
暗く点灯または消灯(7時)〜明るく点灯(5時)
7時から5時の間を滑らかに明るさを可変させるには上のページの手順で出来るんでしょうか? >>630
IDEのサンプルスケッチ見てきたら入力電圧がそのままオンオフそれぞれのディレイ時間
になってるから動作としてはポテンショメータ動かすことで高速点滅←→低速点滅
になる
そのまんまやってる動画
https://www.youtube.com/watch?v=f7loalWZW4w 回路図は載ってないんじゃなくてぇ、無けりゃまず自分で書きなよ。
自分が何をやってるのかわからんだろ まあ 初めはdead copyからだ
次は配線図から回路図起こす (慣れてれば逆だが・・) >>630
あなたのやりたいことは、そのページで取り上げてるAnalogInputと
別の例のFadingというスケッチの合わせ技だと思う。
今は スケッチ例>03.Analog>AnalogInput をやってるはずだけど、
スケッチ例>03.Analog>Fading もやってみてくださいな。
LEDは9ピンにつないでね。 >>625
回路的には単純なので、まず何をどう制御しようとしているか理解すると良いと思います
「PWM制御 Arduino」などで検索してみてください 回路図回路図とわめくステレオタイプ
2度と戻らない質問者 sensorValueをシリアルモニタに出力したら何が起こってるのか分かると思うの >>637
ステレオタイプじゃなくバカの一つ覚えって奴だな >>631
これです
自分のと同じ動きでした
>>635
なるほど、チャレンジしてみます
>>636
分かりました
ただ真似するのでは無く、仕組みを理解するようにします 可変抵抗器を回したらMIDIを送信するスケッチを書きました。
しかし、可変抵抗器に触っていないのに常に数値が動いてしまって不安定です。
つまみを回したときだけ数値が動くようにするにはどんなコードを追加したらいいですか?
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
int cc = 0;
int AnalogValue = 0;
int lastAnalogValue = 0;
void setup() {
MIDI.begin(4);
}
void loop() {
AnalogValue = analogRead(0);
cc = AnalogValue/8;
if (lastAnalogValue != cc) {
MIDI.sendControlChange(16,cc,1);
lastAnalogValue = cc;
}
} 続き
LEDについては、以下のようにやれば左に回すと弱く点灯、右に回すと明るく点灯になりました。
しかし、641の時と同じく、なんだか光り方が不安定でした。
void setup() {
}
void loop() {
int val ;
val = analogRead(0) ;
analogWrite(3,val) ;
} >>642
>なんだか光り方が不安定
とか言われても客観性に乏しくて何とも言えない。
valをシリアルに出力してそのデータでグラフでも描いてみ。
滑らかか、変化が断続的かわかる。
可変抵抗交換してみる手もある。 LEDが不安定というのは何も触っていないのに明るくなったり暗くなったりといった感じです。
シリアルモニタですが、
「ボード/dev/cu.usbmodem142431は利用できません」
と出て、シリアルモニタが開けません。
Midi Firmware for Arduino Unoを入れているからでしょうか? 最近は差別とかで学校で色覚検査してないから
自分が見えにくい色があることを知らないで大人になる人がいるらしい。 >>644
そのスケッチで問題があるとすれば、
analogWriteは0〜255なのにvalの値は0〜1023だってことくらい。
手元に中華NANOしかないけど、
やってみたらコンデンサなんか何も入れなくても触らなきゃ何も変化しない。
エラーメッセージ件は分からない、まず自分の環境を書いて。 >>641
コードの変更でご所望の処理を行うことはおそらく可能ですが
「回したときだけ動く」と言う処理に最も向いているのはロータリーエンコーダです
MIDI機器でカチカチとノッチのある感覚で回るノブなどは大体それです
割り込みなどを覚える必要はありますが利用は難しくありませんので調べてみてください >>641
現在値と過去の値の差の絶対値が規定以上かどうかを判断すれば良いよ。
ボリュームを入力デバイスにするときはそうしてる。 if(valとvaloldの差の絶対値が規定以上){
valold=val
処理
} >>649
ロータリーエンコーダーも同じような処理がいると思うのだが
ちょうど境目で止めた場合に勝手に読み値が変わるのを防ぐ為に
基本中の基本だと思っていたけど
趣味の世界だとそういうのは省略するのが一般的? >ちょうど境目で止めた場合に勝手に読み値が変わるのを防ぐ為に
手動式のロータリエンコーダは停止位置=クリック位置が決っている。
(力尽くで任意の位置で停止させることは可能だと思うが。)
秋月ではALPS製と中華製の2種類のロータリエンコーダを売っていて、
両者の停止位置の位相が異なっている。
http://akizukidenshi.com/catalog/g/gP-06357/
http://www.alps.com/prod/info/J/HTML/Encoder/Incremental/EC12E/EC12E1220407.html
http://akizukidenshi.com/catalog/g/gP-00292/
http://akizukidenshi.com/download/ds/taiwanalpha/RE160F-40E3-20A-24P.pdf
中華製の方が価格が高いが、A、B相ともレベルキープ位置で止まるので
パラパラとH/Lが変わること無く、使いやすかったと記憶している。
>「回したときだけ動く」と言う処理に最も向いているのはロータリーエンコーダです
同意。 ユーザーが必ずクリック位置で止めるなんて保証は無いし、
クリックの無いものもある
業務コードだとそういう対策は当たり前なんだけどね ロータリーエンコーダーとボリュームは用途が違うわけで
ボリュームは
回転角に対して分解能が高い
位置が分かりやすい
電源を切っても値を保持
という特徴がある
ソフトが楽をしたいからとかそういう理由で決める物じゃない >>644
余計な事をやってハードル上げる前に、
素の状態で、一番基本の>>642がちゃんと出来るようにシリアルモニターで確認する。
それが解決してからMIDIでも何でもいいけど次の段階に移る。
ロータリーエンコーダとか言ってる人もいるけど、
足元と知識を固めながら順番にやらんと堂々巡り、時間の無駄になるよ。 >>644
>Midi Firmware for Arduino Unoを入れているからでしょうか?
"Midi Firmware for Arduino Uno"調べてみたら、その通りみたいだね
本当は>>656さんの書いてるように、基本のところから経験してったほうが
いいから、元に戻してADだけ確認して・・・っていう手順ふむべきかもしれないけど
Midi入れた状態でもシリアルモニター使える状態にしとくのは有用だから
ソフトシリアル出力を使えるようにするのもいいかも
まあ、どっちがいいとか悩む前にどっちもやってみりゃいいだけだけど >>654
>ユーザーが必ずクリック位置で止めるなんて保証は無いし、
だから「力尽くで任意の位置で停止させることは可能だと思う」と書いた。
>クリックの無いものもある
そりゃ、フィードバック位置決め用エンコーダなどでは無くても中にはあるだろうな。
多数派では無いと思うけど。
>基本中の基本だと思っていたけど
趣味の世界だとそういうのは省略するのが一般的?
>業務コードだとそういう対策は当たり前なんだけどね
趣味だから対策はやらなくていい、なんて書いてない。
想定外の異常な動作をしないように、って対策するのにプロもアマも関係ないと思うけどな。
あまり趣味の電子工作をバカにしない方がいい。
私が言いたかったのは、
秋月で売っているロータリエンコーダはクリック位置が2種類有って
中間位置で止まるタイプの方が使いやすいやすかった
ただそれだけです。 別に力尽くじゃなくたって雑に操作すれば中途半端な所で止まるよ
趣味の電子工作なら別に対策しようがしまいがどうでもいいけど そもそも、
作る物を何も知らないのに
ロータリーエンコーダーを突然すすめること自体がおかしい >>659
>別に力尽くじゃなくたって雑に操作すれば中途半端な所で止まるよ
普通に使っていれば、クリック位置からズレた変な位置で止まったりはしないよ。
オシロのロータリエンコーダを良く回すけど、クリック位置以外で止めるのは至難の業だ。
「雑に使っていれば変な位置に止まる」の「雑に」の定義がよく分らないけど、
私が書いた「普通に」も定義が難しいなw
金を貰うという点がプロとアマの根本的な違いであり、
プロの仕事は厳しい、という事は否定しない。
でも、よくこんな仕事やって金が取れるな、あるいは、手を抜いたな、
仕事に対する誇りは無いのか、と思うプロも中にはいるよ。
アマでも中には良いものを作る人もいる。
あなたの上から目線のイヤミな書き方が少し気になっただけ。
>趣味の電子工作なら別に対策しようがしまいがどうでもいいけど
これはその通りだな。
異常な動作に対して対策しないのは感心しないが、対策するかどうかは本人の自由だ。
プロなら放置は許されない。
>>660
私は >>649 の
>「回したときだけ動く」と言う処理に最も向いているのはロータリーエンコーダです
という考え方に対して同意したのであり、ロータリエンコ−ダを推薦したわけでは無い。
Arduinoファンの皆様、関係の無いつまらない長文レスを続けて済みません。
これで終わりにします。 使ってるうちにクリックがヘタってエラーが出やすくなるんだよな。 初心者熱烈大歓迎質問スレと書いてあるから来てみたが何か聞く雰囲気ではなかった
FacebookやGoogle+に行きますさようなら すみません
別の可変抵抗器を買ってきたら触ったときだけちゃんと動いてくれました。
手元にあったのが腐ってたようです。 >>667
おめ。
問題の切り分け方法についてちょっと考えてみてね。
後々楽だからさ。 >>667
動き検出の部分だけでいいからソース見たい >>663
これを知った時に疑問に思ったのだがどういう用途に使うんだろ? 普通にUIに使われてるしメカに組み込むのにだって需要があるだろ
むしろ何で使わないと思えるのが不思議 >>671
ググると無線のVFOにノンクリックが良いらしいけど、この品物は回転が
渋いらしいね。
クリック有りのものからバネを外した方がスムーズに回って使いやすいとか。 ↑
HF用だといいかも
v/u用だとクリックあったほうがいい >>674
FMはクリック有り
SSBはクリック無しがいいな ノンクリックのロータリーエンコーダーで回転数検出とかには使えるの
クリック感無くとも調子こてい回転させるとすぐチャタる構造だったりする? モータ軸に付けて位置や速度のフィードバック自動制御に、
などの用途ではすぐに接点が駄目になるだろうし、
操作パネルにつけて手で回して操作量を決める、
という用途ではクリックで停止位置がハッキリしている方がいいだろうし、
(読み取りプログラムも簡単になる)
と、このクリック無しエンコーダの用途が不思議だった。
早く回すためにはクリックが無い方がいいのか?
回転量(パルス個数)を気にしない用途なのか?
あるいは、逆にある程度ブレーキが効いていて、
H/L境界で停止してもパラパラとH/Lが変わることが無いのか?
ウム、今度秋月で1個買ってきて調べてみようっとw 身の回りの家電じゃアンプの音量ダイヤルがクリック感の無いロータリーエンコーダーだな
回転抵抗高め
コントロール側はクリック感有り抵抗無し
アナログ時代のボリュームを意識してるんだろうけど使い辛いだけだ >マウスのホイールも両方ある
そうそう、前に使っていたマウスだけど、
クリックがユルユルで、回転停止後にぽろっとが動いたりしてめちゃ使いづらかった。
分解してホイールのクリック用極小バネを強化したら、何とかOKになった。
クリック無しのマウスは使った事が無い。 今の電子レンジにもロータリーエンコーダが付いてるね 沢山のレスありがとうございます。
ロータリーエンコーダーだと、ボリュームの様に7時〜5時って感じで動く範囲が固定されていないし、(MIDIも127段階とは言え)ロータリーエンコーダーだとカクカクした動きにしかならなず、
また12時の位置にセンタークリックがほしいけれど、そういうことも多分出来ないだろうからロータリーエンコーダーは違うかなと思いました。
そもそもロータリーエンコーダーを使うなら市販のMIDIコントローラーで十分間に合いますし。
それか、動く範囲がボリュームの様に7時〜5時のロータリーエンコーダーって存在するんでしょうか?
>>656
見直します。
>>657
シリアルモニタがひらけないので、ファームを元に戻す方法を調べて確認してみようと思います。
>>668
先週買った可変抵抗器だからまさか壊れているとは思いもしませんでした。
複数個買っておいたほうがよさそうですね。
>>670
単純にこう書きました。
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
int LED = 13;
int cc = 0;
int AnalogValue = 0;
int lastAnalogValue = 0;
void setup() {
MIDI.begin(1);
MIDI.turnThruOff();
}
void loop() {
AnalogValue = analogRead(0);
cc = AnalogValue/8;
if (lastAnalogValue != cc) {
MIDI.sendControlChange(16,cc,1);
lastAnalogValue = cc;
}
}
>>667
667では触ったときだけ動いたと書きましたが、新しい可変抵抗器でもやっぱり触っていないのに時々MIDIの数値が上下に細かく動いてました。
先日新しく買った可変抵抗器のどれも時々細かく動いてしまいました。 analog read がブレてるんだろうね
ボリュームはAカーブとBカーブがあるけど Bカーブでいいけど
そこまでぶれるかな疑問?
電解コンデンサーでもいれてみるか 1 - 10uFくらいの どうでもいいけど
Bカーブって表現嫌い
カーブじゃなくてリニアだろっていつも突っ込みたくなる A接点、B接点この表記はすかんね
設備系じゃないからかね
メーク ブレーク NC NO >>680
今使ってるLogicoolのM705というマウスはクリック感がないばかりでなくフライホイール
になっている。
ホイールを勢いよく回すと7秒間くらい回り続けて一気にスクロールできる。
たまにぽろっと動くという欠点は確かにあるけどスクロールの快適性には替えられない。 エンコーダならA相B相 ボリューム(=ポテンショ)でリニアといったら回転じゃない直線形状のものを
指す場合も多いからBカーブでヨロ スライド式をリニアというのは聞いたことが無いが
テーパーがリニアは普通に使う >>693
カーソルを移動して、[No]を押した瞬間にポイントが1行ズレて、[Yes]を押してしまった、
なんて事が起きて、怖くなってユルユルのクリックは止めてしまった。
ただし、ユルユルのクリックとクリック無しのマウスは似て非なるものかもしれない可能性はある。 リニアポテンショ 約 24,400 件 (0.49 秒) テーパーリニア 約1,210,000件
リニアテーパー 約1,100,000件 linear potentiometer で画像検索してみたら、>>694に納得した。 >>702
A0とGNDに取り付けるかなあ。
なるべくA0の近く。
5VとGNDにも付ける。
複数回計測したのを足し上げて平均する。
電源を電池にする。
とかもやってみる価値あり。 どんなにハードやソフトでノイズを消しても
ソフトによるヒステリシス処理は必須ですよ
MIDI値の境目にボリュームが止まったらダメなので >>702
回路間違ってる。
Arduinoに使われてるATMega328PのA/Dポートの入力インピーダンスとボリュームの抵抗値(10KΩ?)は知らないけど、入力インピーダンスはボリュームの抵抗値より充分に高いと仮定する。
まず今付いてる抵抗と横向きの青線を取り外し、その青線が元々繋がってたボリュームの中央端子に10KΩ(赤黒橙)の抵抗(のリード線)を繋ぐ。
その抵抗のもう一方のリード線を縦の青線の下側に繋ぐ。
その青線と黒線の間に数μFのコンデンサを入れる。
これで簡単なローパスフィルタ回路になる。 ハードのフィルタは必須じゃない
どうせソフトのフィルタを通すだろうから
保護用に軽く抵抗を挟んで置くだけで Oooops!
>>707
今付いてるコンデンサも外す。 基本的な回路はこんな感じで。
A/Dコンバータの入力抵抗は基本的には高いけれど、一般的に内部の等価容量(※)に
変換開始にチャージが発生するので、その瞬間は電流が流れる。可能なら外部のコンデンサを
A/Dの入力端子にぶらさげておくのが良い。電源パスコンが、ICの急激で短時間の大きい電流
をまかなってくれるのと、はたらきは似てるかもしれない。
俺が好きなソフトウェアLPFは
k=0.1
val=valold*(1-k)+AD変換値*k
valold=val 普通の1次のローパスフィルタですね
kは値に理由がないなら
m/2^nの形にしておくと計算が速いよ
移動平均の方が良く使われる気がする
アホでもイメージしやすく、
整数演算にした時の失敗も少ないからって理由だろうけど >>708
本件のようにほぼ直流みたいな周波数ならともかく、
交流信号のサンプリングだと、ちゃんとハードウェアのフィルタを作っておかないと
デジタルでは取り切れませんよね… Arduinoを初めて1週間の初心者です
1時間に1回センサーから値を取得する というスケッチを書きたいのですが どのようにしたらいいかわかりません
delay(1000)を3600回繰り返せばいいのでしょうか
どのように調べればいいかも分からないのでそこから教えてくれると幸いです time(NULL)でとってきた値が秒単位なので過去との誤差が3600になったら1時間経過したことになる
コイツをうまく使いこなせ ずっと「0」です! 値が読み取れません!
#include <time.h>
time_t now = time(NULL);
Serial.println(now); ああ、適当に書いたけどダメらしいな
DateTime.h に DateTime オブジェクトがあるからコイツでやると
DateTime.Hourの値を監視すれば良いのだろうとおもふ #include "LowPower.h" //ライブラリはこちら→ https://github.com/rocketscream/Low-Power
int loop=0; //ループ変数
int data=0; //アナログ入力の変数
void setup() {}
void loop() {
data = analogRead(0); //A0ピンから入力読取り
while(loop<450) //8秒間スリープ x 450回 = 3600秒(1時間)後にループから抜ける
{
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); //8秒間スリープ
loop++;
}
}
※整形するために先頭に全角スペースが入ってる行があるから消して
スリープ仕様だけど、こんなんでどうでしょ? >>722
ありがとうございます!
このスケッチの通りにやったらうまくできました >>722
横からですが頂きます。勉強になります。
このような有用なサンプルコードがまとまって置いてあると凄く助かるんですけど。。。
何処かにありますか? リンク集でもありがたいです NanoのVinに+12Vを繋げて大丈夫ですか?
カタログスペック的には大丈夫そうなんですけど
+10Vまでにしておけって記事もいくつかあったので
Nanoとそれに繋ぐ周辺回路の消費電流が少なければ平気でしょうか >>704
MIDIの受信側の機器はPCなので、USBから電源を取っています。
PCとはUSBで繋ぎつつ、DCを繋ぐと電源はDCからとるしくみになってることは分かったんですが、USBのバスパワーを完全にカットする方法もありますか?
>>705, 707,710
全然違っていました汗
>>706
>ヒステリシス
可変抵抗器の最小の位置(または最大の位置)から回し始めたらMIDIの受信側の機器ではすぐには数値が動いてくれず、しばらく回すと反応してくれます。
こういうのもヒステリシス処理を行えばすぐに反応してくれるんでしょうか?
>>707、710
数μFのセラミックコンデンサが売っていないのでアルミ電解コンデンサでも構わないですか? GPSモジュール繋げて、簡易トリップメーターみたいなのを作ろうとしたら、意外にメンドウだった。
1秒おきに緯度経度が得られるんだけど、よく考えたら距離的な座標ではないので変換しなきゃいけないんだ… >>727
ボリュームの両端は抵抗が変化しない
変化しないものを回路やソフトでどうやろうが変しない
特殊なボリュームを使うか、メカ的に制限をもうけるか >>725
大体のライブラリはexampleセットで入ってると思うんですがそれは。
まず調べるものを変える…というかまさか記法について知りたいわけじゃないよな 程度によるけどボリューム両端の不感帯はあった方がいいよ。
端が最大値だと、ばらつきや経年変化で最大値が得られなくなるかも知れない。 >>731
ありがとう。本体内蔵?のサンプルコードは知っています
>>722のようなちょっとしたコーディングテクニック(tips)集が有ったらと思いまして。。。
頑張って自己研鑽します >>729
ありがとー
Nanoのレギュレーターって裏面ののSOTパッケージのやつですよね?
どうもNanoさん単体で実測24mAくらい消費してるぽいです
DIPの奴でだけどATmega328Pを16MHzで動かしてみたところ14mAくらいだったので
USBシリアルチップやらで10mAくらい使ってるのか
LEDバーアレイを1つ付けるから5mAスタティックで全灯したとして50mA
他の外付けICとかと合わせてまぁ合計100mAとしてシリーズレギュレーター発熱0.7Wくらい?
ちっちゃいアルミのヒートシンク貼っとけばいいですかね? MIDIデバイスのボリュームの件、加速度センサを入力デバイスにして、重力加速度の向きを入力値にすればいい。
ロータリーエンコーダのチャタリング、電源オフ時の値の保持、ボリュームのエンドストップ問題の全てを解決する。
本体を揺らしたり傾けたりしないのならね。 ツマミとは別に、筐体にもセンサつけて差を取れば揺らしてもokだな。 >>727
もちろん電解コンデンサでもOK。(黒線側がマイナス)
とりあえずは0.47μFでテストしても大丈夫かと。 >>735
環境センサの値保持って改めて謎概念だな >>739
フリーフォールの中とかで使わないならアリじゃね? MIDI入力デバイスなのだから、楽器だ。もっと自由な発想が出来るはずだ。吐息でホットワイヤ式エアフロメータを作動させるとか、静電容量スライドパッドとか。 >>740
そういや加速度センサって0G(落下)検出ついてるのあったよな。スカイダイビング中だけの裏モード実装とかあるあ…ねーよ >>722のサンプルですが、ループ変数の「loop」は予約語で使えないですね。適当に変えて
あとループ変数はループを抜けたら0にリセットにするのを忘れてた。
int count=0; //ループ変数
〜〜〜
while( count < 450) //8秒間スリープ x 450回 = 3600秒(1時間)後にループから抜ける
{
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); //8秒間スリープ
count++;
}
count=0; Arduinoの電圧を取得する関数
int getVCC() {
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); // ATmega328用
delay(2); // ちょっと待つ
ADCSRA |= _BV(ADSC); // A/D変換
while (bit_is_set(ADCSRA, ADSC));
uint8_t low = ADCL;
unsigned int val = (ADCH << 8) | low;
//前の結果を破棄
ADCSRA |= _BV(ADSC); // A/D変換
while (bit_is_set(ADCSRA, ADSC));
low = ADCL;
val = (ADCH << 8) | low;
return ((long)1024 * 1100) / val;
} mVで取得。
1.5V電池 x 3本(4.5V)だと「4500」
USB電源(5V)だと「5000」前後
使い方
int voltage =getVCC();
用途
バッテリー・電池残量の確認とか >>743
最近のは色々とついてるぞ
割り込み端子出力があって
設定で色々と機能を変えられる
機器の保護用の使い方が多いから >>702 の続きです。
>> 707, 738
これであってますか?
抵抗は10KΩ、電解コンデンサは4,7μFを繋いでみました。
https://i.imgur.com/bpemSdR.jpg >>730
>>732
両端ではなく、両端からちょっと動かした所なんですが、不感帯なんですね >>748
OKだと思う。
ただ、Arduinoとブレッドボート間の配線3本はできるだけ短くする。
ではGood Luck! >>750
どうもありがとうございます
>>751
>>752
また別のボリューム買ったら試してみます 「ちょっと」の量がわからないと判断できないが、
試しに、ボリュームの端から端まで回した時のADC生データ出力をTeratermで受けたのを、動画で撮って見せてくれないかい。 調べ物してて、日本人のブログと海外のブログで違うことが書いてあったら
どっちを信用する? WEBに書かれていることを、そこに書かれていること「だけ」で信用しない。 どっちの方がより信用できる?って意味なら英語かな。 単純化する発想が危うい。
信用するかしないかではなくて、どれぐらい信用できるか、であることが多い。
日本と海外という分け方をするのは、当人が強い単純化志向を持ってる可能性が高いことを示している。
気を付けて。
・本なら信用できる
・活字なら信用できる
・NASAが採用
・海外で称賛
・外国の反応
・立派なスーツをちゃんと着た身なりのしっかりした人だったのに。 多くの目に触れて真偽が評価済であるって意味での英語だから、日本語の方がページビューが多かったら日本語を信じるかも知れないな。
原典が日本語の情報なら日本語を信じる。 >>755
その調べ物ってなんだ?
やましくてココに書けない内容なのか? >日本人のブログと海外のブログで
そもそもこういう基準で判断しない。 AとBの資料が異なっていたら、さらにC、D・・・の資料を調べる。
可能なら自分で検証、確認する。 やってみたけど壊れなかった。
→真実なのは壊れなかったことだけ。正しいかどうかわからない。
実験してみろ。どうだ。俺の言った通りだろう。ちゃんと動作する。おまえは考え過ぎなんだよ。
↑割とこういう人は多い。
絶対最大定格を超えた使い方をしても、部品は必ずしも壊れるわけでもないし、
セキュリティ対策ができていないシステムを運用しても必ずしも襲われるわけでもないし、 シリアルモニターを見ているんですが、Unoのアナログ入力辺りに手をかざすだけで反応するのはどういう現象ですか?
ピンは何もさしていない状態です 入力インピーダンスが高いからだろう
オープンにしてればなるだろ 入力に設定してある端子はオープンにしたらいけないよ
プルダウンなりプルアップなりしなされ >>776
端子に何も繋げない場合もですか?
>>774
>>777
>>778
オープン、プルアップ、プルダウンの用語調べてみます Arduinoでもこういうのって作れるの?
http://www.lab3.kuis.kyoto-u.ac.jp/~nkito/sound.html Arduinoでセンサーやモーター、LEDを使って何か作ってください
と言われた時皆さんはどんなものを考えますか? >>782
倒立振子のフィードバックによる直立制御とかかな >>782
ぐるぐるまわって文字や絵を表示するやつ 機能てんこ盛りか増設切り替えできるセンサーリレー電源タップ Lチカして、モータードライバでモーター回して、温度センサの値取得するテスト終えたら、大体何にも使わずに部品箱に投げ入れる定期 >>782
マジレスすると、フラワーロックが一番向いてる >>782
実用的なものをお望みなら
窓のカーテンの開閉装置
ガレージのシャッターの開閉装置
ソーラーパネルの太陽自動追尾装置
望遠鏡・カメラの自動追尾装置
とか。
手頃なのは >>785 が書いた回転表示かな。
たとえば
http://w01.tp1.jp/~a571632211/avrled/
(ArduinoではなくてAVRtiny2313でやっている)
(フォトTr付きでゲームもできる)
人が近づくと表示内容を変えたり、
JJYを受信してカレンダー・時刻を表示したり(これは実用的)
必要ならマトリクスを組んだり、CPUをmega1284に変更したりして
LED数を増やして高精細にしたり、フルカラーにして絵を表示したり、
ロータリエンコーダを追加して回転位置情報を高精度にしたり、
ま、工夫次第で色々と遊べると思う。 >>794
で、おまえはなに作ったん?
みせてみそ。
ほれ、みせてみそ。 >>796
「自動追尾」っていう響きいいな
いかにも電子工作やってるって感じで 電気科ってそういう宿題出るんだな、うらやましい。
普通科は古文読解とか英文読解とかくそつまらんぞ。 http://imgur.com/gallery/OPpZc
arduino conbection oven coffeeroaster
モーター回転はあえてarduinoで制御せず温度管理だけさせてます。
焙煎プロファイルは4つ持ってます。
ハンダリフローしてる人を参考に作りました。 pro miniっす
ピン13番につながってるLEDが
電池食うんで
鬱陶しいんで
取っちゃっていいっすかー!?
なんか不具合あるんっすかー!? >>803
ない。
けど、取るとき必要以外のとこ切らんように要注意 >>803
取るよりもカッターでパターンを少し切った方がいい。
あとで必要なときにレジスト削ってハンダ盛ったら治せる。 >>803
おれは抵抗を値の大きいのに変更してる。
LEDはあった方が便利なので。 >>799
工業高校を出たら普通科のほうがよかったと感じるようになる チップLEDの消費電力気にするほどニッチな作業してるやつが初心者なわけな(ry /dev/USB???にecho 'nantoka' すると何かが起きる
みたいな物を作ろうと思っています。
でもSerialEventというサンプルを試してみたんですが、
シリアルモニタを開いている時しか反応しません。
arduino ideを起動していない場合でも動いて欲しいので、これじゃ困ります。
何とかならないのでしょうか シリアルモニタじゃなくて、TeraTermとかつないでやってみた? ボールマウスの基板眺めてたらY軸とホイールのフォトトランジスタの出力が
共有化されてるのに目が止まった
LEDはXYが直列でホイールは単独
LEDマトリクスのダイナミック点灯の様な感じにLEDを交互に点滅させて
ホイールとYを交互に見てるんだと思うけど、よくこんな事しようと思うなぁ
カウントの上限がかなり下がりそうな 初心者です 調べてもわからなかったので質問します
uno3 → xbee親 → xbee子 → シリアルjpegカメラ・UART使用のセンサー・I2Cセンサー
の構成です リモートセンシング的用途になります
xbeeを含めてシリアル通信3つとI2Cがあります これはソフトシリアルをlistenで切り替えて
使用できるのでしょうか... uno3にはハードウェアシリアルは1つしか備えていません
イメージとしてはunoからxbeeにアクセスし 各デバイスをlistenで切り替えながら一つの画像と
2つのセンサー値を取得してから listenでxbeeに戻して まとめて送信するという感じなのかなと
思っています わかりづらい説明かもしれません よろしくお願いします xbeeはめんどくさいからtwelite派ですが
tweliteの作例(ラズパイだけど)ならそれっぽいのありますのでよければ参考に検索どうぞ ありがとうございます tweliteってのは簡単そうでいいですね
せっかくある程度xbeeを使えるようになってきたので迷ってしまいます
できるところまでやってみてからtwも検討するとします 初心者の質問です。
中華(Ali他)で売ってるuno r3互換機(300〜400円送料込み)なら惜しくないので
試してみたいと考えていますが、表面実装型水晶発振子を16MHzから20MHzか24MHzに変えて
みた場合、メリットは何があるでしょうか?
処理速度がUpすると考えて良いのでしょうか? 328pが保証してるのは20MHzまでだよ
処理速度は早くなるけどファームウェア
は16MHz前提で書かれてるから
書き換えないと時間管理とかタイマー回りが全部おかしくなるよ(ライブラリ含む)
あとは消費電力が増えるよ 初心者なら、とりあえず他の人がやってるのと同じことをやってみる
独自のことをやるのはそれができてから
最初は中華じゃなく純正を買えって人もいるくらいだから >>821
トラブル時の原因の切り分けって意味でも純正買えって意見だよね。 通信速度が変わるからシリアル通信が面倒くさいメリットもある >>821
知らない人間は無茶をしたがり、失敗時に対応できない。
プロほど失敗した時の対策も考え、慎重に事を進める。
うちの会社で、プロであるはずの部署が、
素人並みの計画を立て火を吹いている。 皆様アドバイス有難うございます。
参考にさせて貰います。
US $2.80(送料無料) ← このセールの品は
L,PowerLEDが付きっぱなしでブートローダ入っていませんでした。
送料込み378円の互換機はブートローダ入ってました。 >>ID:flNxClVK
クロックを変更してみたいのなら、MiniCoreのブートローダーを使うと良いよ
1MHz〜20MHzのクロックを選択できるし、細かい設定に対応しているのでお勧め
問題はブートローダーの書き込みをどうするかだろうね
ttps://github.com/MCUdude/MiniCore UNO3互換を標ぼうしながらブートローダが入ってないものがあるのか。 >>827
アドバイスありがとう御座います。
今回はブートローダーは使わない非プログラムで運用予定でから
安ければ安いほど嬉しいです。
Arduino UNO R3の純正品は3,000円以上ですよね、セールのUS $2.80(送料無料)は、
カードの請求金額は309円(到着まで12日)でした。
コストダウンの為に、AVRマイコンはATmega328P-AU・USB-Serial変換ICはCH340Gに
変更されてるけど、運用には何も問題がないように感じます。 >>828
CH340とFT232はTX,RXのLEDのぶら下げ方が違くて、先週そこで1日はまったよ。
回路図見ればわかる。
支障無いこともある。 一般論として、「最初は純正品を買え」というのは正しいと思うけど
Unoは互換品が出回るようになってから相当の時間がたってるし
問題点(というより相違点)に関する情報も十分に出回ってるんだから
趣味でやろうとする人に言い続けるのは、お役所的な不親切かも
これが、もっと高度・複雑なボードだったら別だけど
ブレッドボードにDIPのAVRのせて組んでも(たいていは)動く
レベルの回路が基板化されてるだけのものなんだし 純正でも非純正でもいいと思うけど、はじめに変則基板のUNOを使うのは要らぬ苦労を背負うと思う。無駄にでかいし。
NanoかProMicroをブレッドボードに刺すのがいいんじゃね? 回路図を元に配線できる人ならそうだけど、Web上にたくさんある
Uno用の実体配線図どおり配線するしかできない、あるいは
回路図起こしてNano用に変換するのが面倒な場合は、そうは言えない
んじゃない?
まあ、Unoとブレッドボードの間を、ちょっと触っただけで抜けそうな
ジャンパー線たくさんつなぐみたいな危なっかしいことよくやるよな
っていうのには同意 これから始めようと思ってます
PC9801用の10キーとキーボードを
活かしてUSB化(プラスおまけ機能)
するつもりですが、
Nano互換とProMicro互換では
どっちにしとけばいいでしょうか?
どっちでも変わりませんか ありがとうございます
ではProMicro互換にします ttp://uzurea.net/usb-type-complate-list/
1
ProMicro互換には、USBの口が
違うタイプがあり、
2
その中ではミニUSBのがオススメ
ということでしょうか
ではそうします >>839
そうです。
ProMicroのMicroUSBコネクタはモゲやすいので。
MicroUSBコネクタの半田を盛って補強するのは、コネクタの隙間に半田が入ってお釈迦になるのでオススメしない。根拠は俺。 全くの初心者です。
エラーが出るのですが何言ってるかよくわかりません。
ネットで調べましたが、よくわかりませんでした。
以下エラー文です。それぞれ別々のプログラムです。
「 variable 'Sprite spdata_0' has initializer but incomplete type 」
「 no matching function for call to 'NewPing::ping_cm(int)' 」
これらに関した回答やURLをお願い致します。 ping_cm(int) の int 一致するものが見つからない
つまり、intで引数ぶっこんでるおまえのプログラムがおかしい ありがとうございます
グーグル先生に聞いてみて、
promicroのそこら辺の事情はわかりました
矢印キーだけ、キーリピートを速く
したいんですが、そんなのできそうでしょうか
キー押下1回でキーコード2つ発行する
→最初の1発目でも2つ出てしまう
連続押下の判定ロジックを入れずにすむうまい方法はなさそうですね 細かい話だけど
Arduino本家には"MINI","PRO MINI","MICRO"はのってても
"PRO MICRO"っていうのはないようだから、"PRO MICRO"互換品っていうのは
変じゃない?
"MICRO"互換品が、勝手に"PRO MICRO"とつけて売ってるだけのような まあ、しかし、いろいろあるんだなあ。
https://www.arduino.cc/en/Main/Products
私なんか3種類しか持って無いし、全部クローンだし…。 俺もどれぐらい持っているか数えたら8種類もあったわ
uno以外はクローンだけど 8個じゃなくて8種類?
面白そうだねえ。
Uno、Nano、Pro Mini以外でお勧めってある? >>848
Leonardo系は面白いな
キーボードとかマウスとして使う事ができるし
ちなみに持っていたのは
UNO
MINI
NANO
MEGA
101
MICRO
LEONARDO
LEONARDO ETH
で今気がついたが本物は三つあったわ >>845
Pro MicroはSparkFunが本家なのでそれ以外は互換品。
多分SparkfunでもMicroという製品を開発していたようなのでadafruitに先行されて
Pro Microと変更したのではないかと妄想している。
Microはadafruitが先行販売していたArduino.ccとの共同開発品です。 >>851
ああ、ESP8266もArduinoファミリーか。
ESP8266は、ちょっと数えられないくらいたくさん使ってる。
今視界入る分だけでも5個動いてる。 Arduinoの類いって一度に何十個も買うものなの? >>854
店頭買いだと少数もしくは必要数だけどクローンとかのやすい奴を通販とかだと10個だと安くなってたり送料無料とかあるからある程度まとめて買うな。俺の場合 >>854
収集家だから1個づつ色々集めてる
どこかに実装したら同じのを補充する 安い中華クローンばかり。
ESP8266
Nano
ProMicro
Digispark
DigisparkPro マイコンはArduinoでしか開発出来ないけど、AVRは単体チップしか買ったことがない。すまん。 >>859
わかる。というか他の開発環境と別の石でもarduino言語使えるのがおかしい(褒め言葉 ArduinoってAVRでも使えるらしいけどESPシリーズでしか使ってない。
AVRは AVR Studio 一択 ArduinoIDEで書いたとあるコードが1ループするのに何クロックかかるか分かる方法ありますか? ArduinoIDEで書いたとあるコードが1ループするのに何クロックかかるか分かる方法ありますか? I/Oポート増設について質問
ArduinoMegaADK使っててデジタル出力ピンがあと6ピン足りない
シリアル通信使ってI/Oエキスパンダー使ってで増設するか、もしくはUNOとやり取りして増設するか悩んでるんだけど
それぞれメリットデメリットってなんかある? 高速なI/Oが必要ならピン数の多いマイコンに置き換えを検討。
そうでもなくて、すでに完成しつつあるシステムで、追加が必要ならI2CやSPIのI/Oエキスパンダーで増設。
手軽だけど距離を伸ばすのは不安。
増設したいI/Oが数m以上のような距離にあるなら、RS-232Cや422、485で相手側にもマイコンを置いて増設。
I/Oエキスパンターよりは高価。でもマイコンも高くはないし、UNOだって互換品なら安い。
必要ならI/O側だけで処理ができる。危険なときの緊急OFFとか。人間でいえば脊髄反射?
通信を介するぶん遅くなるデメリットをカバーできるメインのCPUの負担が減る。
拡張したI/O側にもプログラムが必要とか、プログラムの信頼性の検証が余計に必要だとか。 >>870
あ、そうか。>>869が必要としているのは出力だけだね。 余ってるアナログピンを使えば?
アナログピンってデジタルピンのように使えるんだよね?
UNO系なら1〜13ピンがデジタルだけど
pinMode(14,OUTPUT);
digitalWrite(14,HIGH);
って書くと、A0ピンをデジタルピンとして使えるらしい。
http://100year.cocolog-nifty.com/blog/2014/07/arduino-544e.html デジタルだけでI/Oが54本あるんだろう?
いったい何に使うのか見当もつかないな。
ま、余計なお世話だな。 長い目で見れば多ピンマイコンに変えるのが当然良い
マイコン増設
複雑な制御が出来る
色々な接続方法が使える
値段はそれほど差が無いような気がする
ラインナップが豊富
ソフトを作る必要がある
エクスパンダー
その逆
機能がシンプルで値段重視でソフト作成に手間をかけたくない場合に使う I/O点数が多い、で思い出した…
昔、PCとプリンタケーブルで接続して使用する64芯のケーブルテスタを
AVR制御のハード・ソフトを作ってスタンドアローン方式に変更した事がある。
(ケーブルテスタとは、ケーブルとコネクタの結線が正しいかどうか、
オープンやショートの導通状態を標準接続と比べて、合否を判定する装置。
このテスタは最大最大64芯までのケーブルをチェックできる)
https://i.imgur.com/ZywqP2u.jpg
テスタのボードは2階建てで上下ともに同じ回路だがジャンパーで区別
テスタのフタを開けて回路を調べたら、双方向データセレクタ4051が16個も!
他にもデコーダ4028やHEX_DFFの40174など多数が並んでおり、
これらで、ケーブルのチェックに必要な点数64点×2をプリンタポートの点数に圧縮していた。
回路を解析した結果、AVRと接続した信号数は8本で済んだので、
念のためにと選んだ8535はムダに大きかった、反省ッ!w
I/O点数が128点あるAVRならコネクタと接続するだけで、ケーブルテスタを自作できるけど
世の中そうは甘くないッ!w そんなの速度要らないんだからラッチとシリアルレジスタでできそうだな
CPUポートは数本で済むw ワンチップで済ませられるならぜったいそのほうがいい ICレコーダーを作ろうと思ってます
sonyが今度出すSPRESENSEみたいにメインボードとサブボードがあればマイクからsdに書き込むまでやってくれそうなボードって
現状ではないのでしょうか
ピン配置とかはarduinoと一緒っぽいのでもしかして似たようなボードがあればそっちを買ってみようと思ってるのですけど 実用性を考えるなら買った方が良い
作るのを楽しみたいなら
自分で考えろ わかってねーな
なにがなんでも8pinのマイコンでやるのが粋なんだよ ↑これ予算1000円以下で、上手く作ればフリスクケースぐらいに収まりそう >>869
I2CでスレーブのUnoと通信してI/O拡張は俺やってるよ
同期の問題とかあるにせよ手軽に試せるのは確かです 私がスタンドアロンのケーブルテスタをゼロから新規に作るとしたら、
I2CやSPI接続のI/Oエキスパンダを使う。
MCP23017/MCP23S17なら8個も必要だけどI/O点数が多いので仕方が無い。
CPUはシリアルEEPROM制御も含めてtiny2313でいけるかもしれない。
ところで >>880 のテスタの画像を見ると1-8アナログマルチプレクサの
「8」信号側を64Pコネクタに接続している。
これでは一部の誤接続を検知できないのではないだろうか?
メーカーは知っているのだろうか? esperoom以外に低価格(300~400)でpwmの多いarmマイコン
はどんな候補がありますかね?
最低でも7本は欲しいです。 PWMチャネルがそんなにあるマイコンはきっとない
8pinマイコンを並べるんだ! >>893
↓こういうボードがあって
ttp://akizukidenshi.com/catalog/g/gK-10350/
AliExpressでは、同等品を200円くらいで売ってる
それでもあなたは、pwmの多いarmマイコンに拘るのか? 変な質問をしてすみません。
マイコンで仕事の改善をしたいと思っていて、まだ案はまとまってないのですが、色々なセンサーやスピーカーなどを買い集めています。
超音波センサーなどアルディーノとラズベリーパイの両方で使えていそうな部品をたまに見かけるのですが、USBやhdmiなど以外はどちらでも使えるようになっているのでしょうか? >>887
>>889
ありがとう。聞いてみるもんだね
あなた方には
黒髪で清楚で巨乳で処女で床上手な超美人な彼女が出来るように神様にお願いしておきました >>899
処女じゃなくて良い
ていうか、
処女で床上手なんて人いる? 処女じゃ無くてもいいし床上手じゃ無くてもいい
ただ まんガはキツい・・ >>898
シールド状になってるのは専用になると思うけど、
センサー類は特に○○専用とか無いんじゃないかな
こんな答えであってる? >>898
基本的に単純なデジタルI/Oだったらどちらにでも接続できるだろうな
高速I/OだったりI2CとかSPIだと内容によってはダメな場合もある
アナログだとラズパイはアナログポートが無いからADC等を介さないといけない
いずれにしてもopボードでも用途マッチするのが捜せればいいけどね >>905
>>906
>>907
レスありがとうございます。
シールドになっているもの意外は注意書きがなければいけそうなのですね。
それは良かったです。
集めているセンサーは
kuman 20個 arudiuno用センサー
曲げセンサー 2.2インチ
KKHMF カラーセンサー
ステッパーモーター ドライバーボード 28BYJ-48
LCD ディスプレイモジュール hd44780
LCDディスプレイSSD1306液晶
GROVE ジェスチャー
ADA-3595 APDS9960 ジェスチャーセンサー
KKHMF TFカード uディスクミニ MP3プレイヤ
電圧スピーカー ANYMーSPT08
です。
部品を専用の箱にまとめてるんですが、開いて眺めてるだけでも楽しい。
早く色々な物が作れるようになりたいです。 あー こりゃだめだね コレクションし始めると作るより楽だしおもしろいしで終わる なにやりたいのかよくわからんけどarduinoだとリソースが足りなさそう
ssd1306ライブラリいれたらそれだけでメモリー80%くらいつかっちゃうよ >>909
いや、でも分かるそれ。俺も最初そうだったw
今は夢が広がって楽しい時期だと思うわ
あとラズパイは入力は3.3vまでだっけ?
ラズパイで5Vのモジュール・センサーからの入力は要注意 実は自分でも何を作るか定まってないです。メモリの事も考えないとならないのですね。これをやりたかったらアルディーノのこれじゃなければ駄目とか、ラズベリーパイじゃないと駄目とか判断ってどうやってしていますか?
未経験ですが、今月末までに何かを作って会社で発表する事になりました。
案は
力加減が難しい作業を曲げセンサーで検知してLCDに表示
人のジェスチャーを検知して動く作業台
モーターを使って台の平行だしをしてくれるもの
機械の振動を察知し連絡してくれるもの
人の通過した回数をディスプレイに表示するもの
人の顔を判断して一定の距離でついてくるもの(とても難しそう)
会社ではやらず家でやってるんですが、モーターを回すだけとか曲げセンサーの数値がPCでみれたとかしかまだできないです。 顔認識は raspberry pi + opencvか
まったく未知な世界だけど >>913
ありがとうございます。
顔認証の案の場合はraspberry piを使うんですね。アルディーノで少し作れるようになってからにそちらも勉強してみたほうが良さそうです。 >>911
ありがとうございます。
ボルト数の見落としも注意したほうがいいんですね。部品を壊してしまいそうで心配なので気をつけます。 >>897
ありがとうございます。
io拡張のiicは知ってましたが、pwm拡張があるとは知りませんでした 気になったんだけどArduino101って出力は何vなの? おまえらArduinoボードいろいろ買っては積み基板にしてんだろどうせ。。 俺はもうArduinoはPro miniしか買わないぜ
パワーLEDとレギュレーター取っ払って、低消費電力化して複数運用中
それから低消費電力化を求めていったらATTinyに行き着いた
エアコンの学習リモコンとか余程メモリが必要なもの以外、Arduinoは使わなくなった 電源はともかく、通信距離に困るという室内でESPの安い方をアルディーノ化した方が良いと思うんだが何か問題あるかな?
メインはラズパイの3にしようと思うけど、数分ごとにアクセスしてデータを集めるだけだから特に難しいことはないと思うけど。 >>918
確かにコレクションが目的だったからねえ >>920
ESP8266の事だとしたら、
ADCが1個しかない。
Deepsleepに癖がある。 部屋の電気をOn/Offだけする単純なリモコンを作る場合
常にループにしてると電気使うから押した時にIR発信するようにすればいいと思うけど反応速度遅い?
また、On/Offの2つのコマンドを実行する場合、単純に電源のOn/Offだけではなく電圧の入力も居ると思うけどボタン1つでどうやって実現したらいい?
あと電源とケースお薦めある?
リモコンみたいな簡単なものでも、実施に作ろうと考えると以外と難しい・・・ >>922
レスありがとう、調べてきたけどESP8266で合ってると思う。(なんか秋月が値上げしてるけど…)
ADCは使わないか、必要ならPICでも積む予定だから問題ないかと思っている。
あと出しで済まないけど、センサーは秋月で売られているBME280を使う予定、もしかしたらもっと積むかもしれないけど。
これをほぼ15分間隔(恐らくネットで時間を確保してコールする感じ?)で室内の各所でデータを取って、部屋がどんな様子なのかを計測したいだけなんだけどね。
電源は色々な場所で取れるけど、データ通信だけはちょっと難しそうでラズパイのWiFiで通信してみたいところ。
Deepsleepが必要か分からないけど気を付けとくよ、ありがとう。 >>924
データロガーなんてどっかのIoTのプラットフォーム使えばhttpでクエリ入れるだけで終わるぞ >>923
2回路のプッシュスイッチでも
ダイオードでも マイコン2個とか
LEDも2個とか
電池まで2個とか >>925
そうなのか……。
と言っても言ってることが分からんので、その辺の勉強したい……。
組み込み無線もそうだけどIoT位はできるようになりたい……。
最終的には今年の室内の様子とか見れるようになりたいけど、全然勉強出来て無い……。
とりあえず今年はIoT基礎から勉強したい……。 >>927
レスありがとうございます。
二回路のスイッチがああるのですか知りませんでした
また、マイコン2個は思いつきませんでした
Aliで買った格安Arduinoなので二個もありかも
ダイオードはどのように使うのでしょうか?
また、Arduinoでつかう電源ってどんなのが一般的でしょうか? >>929
そういうのかな、と言っても室内用だから基板丸出しになるかもね。 電子工作超初心者です。
現在、arduinoでブラシレスモーター式水中ポンプの流量制御を行いたいと考えておりますが、
難航しております。
まずは以下のページをトレースして普通のDCモーターの回転速度をトランジスタとPWMで制御
する手法を学びました。
http://monoist.atmarkit.co.jp/mn/articles/1604/11/news014.html
次にamazonで以下の安価な水中ポンプ(DC30A-1230 https://www.amazon.co.jp/dp/B07BGHC6YR)を購入し、12Vの電源を用意して普通のモーターと
同様に流量を制御できるかと思ったのですが、PWMの出力が最大の場合(analogWriteで255)に
のみポンプが回転し、それ以下では全く動作しませんでした。
いろいろと調べたところ、当該ポンプはブラシレスモーターで、DCモーターと同じような制御
はできないようであるということが分かりました。
arduino forumにて同様の問題に関する投稿(https://forum.arduino.cc/index.php?topic=202059.0)を見つけ、
最終的にはアドバイスにより解決したようなのですが、私にはハードルが高く理解できており
ません。
提示されている解決策として、印加する電圧を変える(動作電圧の5〜12Vの範囲で?)のが
良いとのことで
1.arduinoで制御できるリニア電圧レギュレーターを使うか、arduinoのPWM出力を平準化して
さらに増幅する(ポンプに電流が流れすぎると(ポンプ内の?)レギュレーターが過熱する)
2.フライバックダイオード、インダクタ、キャパシタ、バイポーラトランジスタTIP31Aを使う
(ただしarduinoのPWM周波数を31kHzにする必要がある)
という記載がありました。
(続きます) 1.に関しては、aruidnoのPWM出力をローパスフィルタで平準化した後、ポンプを駆動できる
ようなパワーオペアンプ?で平準化した電圧を増幅してポンプを駆動できる電圧にしてやれば
良いのかなと思っており、以下のサイトが参考になるように感じています。
(投稿時にNGワードでひっかかってしまったため、アドレス削除しています)
googleで「マイコンから電圧制御」で出てくる一番上の北の国から電子工作(仮)というページです
ポンプを駆動するには大電流が必要(当該ポンプの最大不可電流は0.35A)のため、パワー
オペアンプが必要と理解しています。
ポンプに流れる電流はオペアンプ部分の増幅回路のR2とR3で調整すれば良いのでしょうか?
仮にポンプに対して12Vの電圧で0.35Aの電流を流したい場合、電圧はPWMのデューティー比と
R2,R3の比で決まる増幅率で制御し、電流はI=0.35A=E/R=12V/(R2+R3)でR2+R3=40Ωと計算して
みたのですが、R2とR3の値がこんなに小さいのに少し不安を感じています。
実際、参考にした上記サイトではR2=1kΩ、R3=2kΩを使っています。電流をどこまで流す必要
があるのか分かりませんが、パワーオペアンプを使うからにはそれなりの電流を流すのだろう
と思っています。しかし12Vで計算すると4mAとなってしまいます。これなら普通のオペアンプ
で良いように思います。
1に関して、上記の理解は間違っていますでしょうか?
また2の手法に関しては全くどういうこと理解できておりません。arduino forumでは最終的に
2の手法で解決されたようです。これに関して参考になるサイトなどはありますでしょうか?
自分なりにいろいろ調べてみたものの、初歩的な部分で理解できていないことが多く上手く
解決策につなぐことができておりません。もしアドバイス頂ければ幸いです。 ブラシレスは定電圧の電流制御でしか回転速度可変は無理だろ >>933
Tr出力にフライホイールダイオードと平滑コイル入れてやれば
あなたがやりたいアナログ出力はできるが、
それで回転数制御できるかどうかは別の問題。
実験用可変出力電源とか持ってないの? >>934,935
コメントありがとうございます。
ひとまず最初のトランジスタを使った電流増幅回路で抵抗値を変えて電圧一定で電流値を
変えたところ、確かに流量が変化しました。
また一方で、抵抗を同じまま、電源側の電圧を12V ACアダプタから乾電池4本の6Vに
変えたところ、こちらも流量が変化(低下)しました。
電流でも電圧でも流量が変化するようです。これはブラシレスモーターの挙動としては
おかしいのでしょうか?
>>935
すいません、出力可変電源は持っておらず、上記で検討してみました。
電圧が変われば回転数は変わるようです。
フライホイールダイオードと平滑コイルを使う、とは、平滑回路と呼ばれるような
ものをトランジスタの出力に入れてやる、ということでしょうか?
以下の図6の回路のトランジスタとモーター間にその回路を入れることで電圧を
変えることがでるでしょうか?
http://monoist.atmarkit.co.jp/mn/articles/1604/11/news014_4.html
またその方法は、抵抗とコンデンサによるローパスフィルタをトランジスタの出力に
組み込むことと機能的には違うものでしょうか? >>936
PWMは無駄に熱を出さずエネルギー効率が良いという特徴がある。
>>935 に書いたのは、効率を保ったままアナログ出力にする方法。
効率や排熱に問題がないなら、この方法を取らなくても良い。 >>933
>電圧はPWMのデューティー比とR2,R3の比で決まる増幅率で制御し
これは正しい
>電流はI=0.35A=E/R=12V/(R2+R3)でR2+R3=40Ωと計算して
R2,R3はあくまで電圧の増幅率を設定するためのもので
モータに流す(流れる)電流を制御するような役目はない
モータに流れる電流は、オペアンプの出力電圧とモータの負荷(トルク)で
決まってくる
※もちろん、オペアンプがその電流を流せることが前提 >電流はI=0.35A=E/R=12V/(R2+R3)でR2+R3=40Ωと計算して
「ポンプの最大負荷電流は0.35A」が、どうしてR2とR3に0.35A流すって
発想につながったのか不思議 >>937
コメントありがとうございます。
フライホイールダイオードと平滑コイルによる平滑回路は、アナログ出力にする方法
としては効率が良いものなのですね。
手元にすぐあるのは抵抗とコンデンサだったのでトランジスタ出力にローパスフィルタ
を形成してみたのですが、残念ながらポンプは動作しませんでした。
教えて頂いた手法についても調べてみたいと思います。
>>938
ご指摘ありがとうございます。
やはり電流のところの理解が完全に間違っているのですね。
>モータに流れる電流は、オペアンプの出力電圧とモータの負荷(トルク)で決まってくる
とは、ACアダプタ(外部電源)の流せる電流値がモーターを動かすのに十分な値であり、
オペアンプの出力電流が十分あるもの(パワーオペアンプのような)ものを選べば、
あとは勝手にモーターが負荷に応じて動作に必要な電流を外部電源から取り出してくれる
のであり、特に何かそれ以上こちらで設定すべきことは無い、ということになるのでしょうか? >>940
>モーターが負荷に応じて動作に必要な電流を外部電源から取り出してくれる
正確に言うと、外部電源ではなく「オペアンプ(の出力)から」ということに
なると思います。
モーターから電源と見えているのはオペアンプの出力なので 質問なのですが、組み込みの場合って電源どうしてますか?
何電池使ってますか? 何にどんな用途で組み込むかによるだろそんなん
ACアダプタからソーラーパネルまでなんでもあるだろ >>941
コメントありがとうございます。
なるほどオペアンプから、ということになるのですね。
ひとまず他に設定すべき点が無いようで安心しました。
部品を購入して試してみたいと思います。 >>942
目の前に有るもの。
素人工作なら工夫をしろ。
もし業務でその質問してるなら二度と回路設計・製品企画に関わらないことをおすすめする。 >>946
ニッケル水素しか使ったことない人が18650にチャレンジするような事があってもいいじゃん。趣味なら爆発しても楽しければいいだろ。 >>946
arduinoを製品に使うことなんてあるの?
初めて知った ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
H0BVO >>936
ブラシレスは半導体でコイル電流を切り替えてんだから
半導体が動作しない低電圧になれば回転できない
たまたま6Vでも動作する半導体が使われてるんだろう >>948
原理試作とかでよく使うよ。
そんなところに金も時間もかけてられないからね。 タイマーなしでパイロットランプ(LED)を1秒周期くらいで点滅させる方法ありますか?
デューティ比は20%〜30%くらいがいいです、周期ははだいたい1秒でかまいせん
玩具のミニロボットを作ってるのだけど
タイマー0はArduinoコアが、タイマー1はServoライブラリが、タイマー2はDCモーターのPWM制御が使っていて…
loopは高速でずっと回ってるんですが、millisとか使ってうまくできますかね? >>953
なんかあったわ、それ。タイマーを使わないプログラムのタイマー
ちょっとブラウザのブックマークを探してみる
返事がなければ寝たと思ってくれ あ、無理だわw
ただ単にLEDを点滅させるだけなら・・・
long previousMillis = 0; //前のmillis
unsigned long currentMillis = 0; //現在のmillis
long interval = 1000; //インターバル 1秒
const int ledPin = 13; //LEDピン
void setup() { pinMode(ledPin, OUTPUT); }
void loop() {
currentMillis = millis();
if(currentMillis - previousMillis > interval) //現在のmillis - 前のmillis > インターバルの1秒過ぎたら
{
previousMillis = currentMillis; //前のmillisに現在のmillisを代入
//LEDをトグルさせる処理
digitalWrite(ledPin, !digitalRead(ledPin));
}
} >>955
LEDついてるかどうかdigitalreadして調べて、ついてたら点灯時間を超えているかどうか、消えていたら消灯時間を超えているかをmillsの値で判定すればいいんじゃね。あと、長時間動かすものならmillsのオーバフローの対処すればよいのでは。 pro miniのRAWに印加していいのはmax150mAですか?USB電源5V/500mAを供給したら壊れるということですか?
http://imgur.com/GQawxvC.png >>956
質問者はPWMで調光したいらしいから、その処理はどうすんの? >>957
RAWピンにUSB電源を繋げるだけなら壊れないよ
電流は消費する分しか流れないから
Arduinoに1ピンあたり最大40mA、合計150mA以上消費する何かをつなげてArduino引き出そうとすると壊れる https://i.imgur.com/n1mdhZ5.jpg
何処ぞでブレッドボードのまま完成品にしてる人を見掛けて、あーもうこれで良いんじゃねと
3Dプリンタでブレッドボードを収める箱を作ってみた >>958
俺にはPWMで調光するとは書いてないように思えるのだが。 >>953
「タイマー無しで」とはあるけども…それが「タイマー0と1と2が使用済みだからもう無い」ってだけなら
まだ遊んでる犬が居るぜ?大雑把な時間を数えるくらいなら出来る(番犬にしてなければな)
setup()の前に byte led;ISR(WDT_vect){led%=4;led+=5;} を追加
setup()の頭に cli();WDTCSR=24;WDTCSR=68;sei(); を追加
該当のポートに HIGH、LOW の代わりに 1&led>>■ を設定
■に数値を入れて点滅パターンを選ぶ
0 : 1/4秒点灯、1/4秒消灯(2Hz , 50%)
1 : 1/2秒点灯、1/2秒消灯(1Hz , 50%)
2 : 3/4秒点灯、1/4秒消灯(1Hz , 75%)
3 : 1/4秒点灯、3/4秒消灯(1Hz , 25%)
4〜 消灯
例 :
byte led;ISR(WDT_vect){led%=4;led+=5;}
void setup() {
cli();WDTCSR=24;WDTCSR=68;sei();
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, 1&led>>3); // 1Hz 25% dutyで内蔵LEDを点滅
/*
ループ処理なんとかかんとか
*/
} >>960
4箇所の爪は弾性変形してパチっとはまる構造?
俺も作ってみようかな >>959
ありがとう
RAWピンのMAXはそういうことだったんですね >>965
質問に対する答えはそうだけど、つなぐべきはRAWじゃなくVCCピンでは? 「タイマー0と1と2が使用済みだからもう無い」
どうして初心者はそこで頭固まってしまうんだろうな?
使いたいタイマーの数だけ変数作って
タイマー1個使ってすべての変数をカウントアップさせて使えば
メモリのある限り無限な数のタイマー使えるじゃん >>967
初心者だからこそ。自分が初心者のときにそこまで頭回ったか?回ったならあなたは天才
もしその方法でやるならライブラリの中弄るとか、全然初心者じゃなーい >>967
そこまで出来たら初心者じゃなくね?w
既存のライブラリが使えて手軽に開発できるのがウリなんだし
マイコンの隅まで使いこなせるならArduinoじゃなくても良くね?ってなるし
まぁウォッチドッグのレジスタ叩く回答した自分が言うのもアレなんだけど C全般的にはタイマー割り込みの方がよっぽど特殊だよね まぁArduinoが使ってる0とサーボライブラリの1はともかく
タイマー2はDCモーターのPWM制御とやらを自分で書いたのならば
PWM周波数をちょいと工夫すれば同時にLED点滅にも使えるかな?って考えたりすれば…
と思ったけどD3、D11にFETとかつけてanalogWriteしてるだけかな?
そもそもデフォルトのプリスケーラから変えるにはレジスタ叩かないといけないし
タイマー割り込みも標準だと使えないんだっけ?
MsTimer2とかライブラリ使えばあるけど
質問者はPWM制御で使っちゃってるって考えたわけだからなぁ
サーボライブラリやanalogWriteで使ってるタイマーが把握できてたりするだけ偉いと思うぜ俺は ○○が足りなくなった?
っ[Arduino Mega] スッ… >>963
https://i.imgur.com/iq9LGJS.jpg
積層的に折れそうで恐く、こんなみっともない方法で止めてます
無駄にスペース空いてますが、手持ちの古いモバイルバッテリー+周囲2mmの
サイズに合わせて >>977
ケースにそこまで細かい細工を施すのに
基板の方はブレッドボードまんまというアンバランスに笑った。 >>980
側面の□と天板の3ピース構造
ブレッドボード組み替えたら多分天板だけ出力し直す >>984
サンクス
USBコネクタ廻りはどうなってるの? >>987
真似っこでも、作れる人スゲー!
もちろんオリジナルはスゲー!! >>978
プリント基板のむき出し利用より100倍良い
ケース作んないと実用性も耐久性もダメ 中華製の安売りしてるブレッドボードは反り返っちゃってるから、ジャストサイズだと嵌らなそうw 何のためにこういうケースというか台がいるのかわからない ケースは埃からの保護のため、台(ブレッドボード)は配線試作の為・・・だけど使い方を把握するとこれでいいような気がしてきちゃう。
というか既に990過ぎてるから次スレ
Arduino初心者熱烈大歓迎質問スレ part21
https://rio2016.5ch.net/test/read.cgi/denki/1527252804/ 他のものを並べて飾るとかテストするなら、ただの板切れに両面で張り付ければいいじゃないの。
しまうときは適当な箱に入れればいいじゃないの。 >>990
何言ってるかよく分からないな。
>プリント基板のむき出し利用
と比較するっていう一方的なルールはあなたの思い付き? このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 147日 13時間 50分 48秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。