Arduino初心者熱烈大歓迎質問スレ part21
■ このスレッドは過去ログ倉庫に格納されています
http://www.arduino.cc/
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
【分裂騒ぎ】
おさまった模様。くわしくはぐぐれ。
前スレ
Arduino初心者熱烈大歓迎質問スレ part20
https://rio2016.5ch.net/test/read.cgi/denki/1514503488/
過去スレ
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
関連スレ
【Arduino】フィジカル・コンピューティング4【OSC】
http://wc2014.2ch.net/test/read.cgi/denki/1407830304/
学研マイコン Japanino ジャパニーノで遊ぶスレ 3
http://kamome.2ch.net/test/read.cgi/denki/1286354827/ はじめまして、教えて頂きたい事がございます。m(__)m
Arduino Due + イーサネットシールドで
Web Server を作ろうとしています。
シングルセッションの制作は問題なくできたんですが
マルチセッション対応のサンプルとかどこかに有りますでしょうか。 >>579
何がしたいからマルチセッション対応したいのか書いていただけませんか?
まあだいたいこういう質問されるからはそれを書きたがらないのですが。
あと暫くすると自己解決しました。というレスが来るのもこの手の質問者の傾向です。 はじめまして
質問させていただきます
arduinoに秋月のPAM8012というアンプモジュールと8Ω0.4wのスピーカーを接続して音を出したいのですが電源をarduinoの5vからとっても平気でしょうか? unoなら最大200mAぐらい=1Wぐらい
ま、ぎりぎりいけるんじゃない?w >>578
返信が遅くなってしまってすみません。
簡易ロジアナを購入して波形を見たところ、分解能などの初期設定レジスタの書き込みまでは上手くいっているようです
しかし値を取り出そうとrequestFromをするとSCLはLOW、SDAはHIGHになったまま止まります >>586
requestFromの後に
while(Wire.available()) {
byte hoge = Wire.read();
}
Wire.endTransmission();
のようなreadとストップコンディション発行は入れてますか? PCの余った12cm角ファン(ガードネット付き)で扇風機を作ろうと思ってるんだけど
PWM介して適当なFETでドライブさせて、サーボ関数使って首振りみたいな感じで作っておk? >>588
赤外線センサもつけて、人のいるところへ狙って風を送りこめそうだなw >>587
STOPコンディションを入れていて、念のため空になるまでreadしています
相性が悪いんですかね…
wire2を使うことも検討して行きたいと思います i2cクロック遅くしたらどうだ?
あとマルチスレッドしてるならシングルスレッドにする
esp32は挙動おかしいこと多いからなw >>591
Arduinoよく知らないけど、これのC言語ってvolatileみたいな修飾子とかはあるの? そのあたりはコンパイラの問題だからまんまそれが使えるよ >>589
頭いいですね
センシング用のセンサを独立で動かして、
温度の高い所に首を向けて冷やす、というのもありなのかもしれない、とか思いましたが
複雑過ぎて僕兄は無理そうです
誰か作って! 明かりの方を向く太陽光パネルってのがYoutubeにあったね。 プログラム完成後にUnoからATmega328Pを取り外して動作させるときに
5と22のGNDは内部で繋がっていますか?
それともどちらとも電源のGNDに繋げないと動作しませんか?
328Pのデータシートは見たのですが記述されていませんでした あぁすいません8と22でした
もちろんUnoに乗ってるときはどっちもGNDに繋がっているのは知っています
これを取り外して単体で動かしたときにどっちも繋ぐ必要があるのかってことです
試してみると8だけGNDに繋いでも動作しています
それからさらにポートDに抵抗とLEDをつけてLEDのカソードを22に繋いでいます
22は電源のGNDには繋がっていません
この状態が問題あるのか?ということです たぶんパスコンも入れてないんだろうな
まあ個人で使う分には問題ないじゃないか
人に売ったり、製品化しようと思わなければね ATmega328Pじゃないが、内部結線されてるGNDを外部結線してないとトラブるってのは稀によくある さすがにパスコンとクリスタルはついています
リセットの外部プルアップ抵抗もついています(内蔵はやたら高抵抗ですから)
憶測でものを言うのはやめた方が良いですよ
>>604
なぜGNDを複数ピン出すのか説明してある資料とかありますか? そんなもんチップとかモジュールの設計会社の内部資料にしかないだろw >>605
パスコンを入れている?
どことどこに?
パスコンを入れているのに何故この質問が出るんだ?
>>なぜGNDを複数ピン出すのか説明してある資料とかありますか?
もう一度言う
たぶんパスコンも入れてないんだろうな >>607
VCCとGNDの間とAVCCとGNDの間かな
0.1uFのチップコンデンサがついています
AREFにもデカップリングのためにつけるときもあるかな(基準電圧の選択による)
なんでこの疑問が出たかというと
単純にGNDが2つある理由が気になったからかな
AREFを挟んでるせいでAGNDにコンデンサもつけにくい位置だし(7番8番は足の間に1608がピッタリ入って楽じゃないですか?)
AGNDとしてあって明確に別の用途があるチップもあるけど328PはGNDとなっているからなんか意味があるのかなと いつも何も考えずに両方GNDに繋いでたけど
ちょっと興味深かったんで、AVRfreakで調べたら外人も気になっててワロタw
https://www.avrfreaks.net/forum/why-two-gnd-pins
ちなみにAVRによっては、AGNDとなってる場合もあってそれはアナログ回路のGNDとして分かれてるからちゃんと配線を考えろ
ただ単にGNDとなってる場合は内部で単純に結線されているわけで、足が複数出てるのは「GNDは太く」の概念によるもの?
つまりどれか??げば動作はするが、全部??いだ方がより良いと考えられる(AGNDはまた別) なんか繋ぐの漢字が変なのに変換されてた
たぶん>>604のようなことが起きる原因は内部のGNDの経路が細いせいじゃないかな 当時のAtmelは知らんが内部で結線されてない複数のGNDピンを持つチップは世の中に普通にあるから必ず全部繋げ
たとえ内部で繋がってるのが確かでも外でも繋いだ方が確実にいいだろ
アナログ用とかで分かれてなけりゃな どこの世にも2つのタイプがおるのな。
1.
It's part of the chip-design.
To keep the ground inside the AVR "quiet", the Atmel engineers use 2 groundpins on the Mega168.
On other AVR's there are even more groundpins. For the same reason.
2.
The Mega16, Mega32 & Mega644 controllers each have four GND legs.
Does that mean that they are Dogs, Cows, Elephants, or what?
Ahh... The mega16 is a Gazelle, the Mega32 is a Silver Fox, and the Mega644 is a Jaguar... 1本よりも2本足4本足で地面に立った方が安定感あるからな。お前もやってみろ。1本だと些細な外部刺激でバランスが崩れてこけるぞ。人間も。 人もまた然り…か。 論理的ではないが、イメージはし易い。 ArduinoのPWM出力を電圧じゃなくて抵抗値で出せるものってありますか?
なんて検索したら良いのかわからない
0〜100Kオームくらいで動かしたいです >>615
ATmega328P単体では不可能
デジタルポテンショを使えば可能 pwmオンを抵抗ゼロ、オフを無限大と考えて平均抵抗値を求めたら・・・うん。計算できないねw
pwmは抵抗が変わるわけじゃないから抵抗換算はできない >>616
ありがとうございます
秋月で検索したらこれがありました
http://akizukidenshi.com/catalog/g/gI-07610/
10Kオームなのは別にしてもI2(の小さいやつ)Cはわかりませんし
そもそもこんな米粒みたいな部品どう使えば良いのか…
もう少し検索してみます それ見てできるようなら、抵抗値を出すとかいう質問はまず出てこないな >>618
ごめん、上に書いた基板はピッチが違うので、こっちにしてピン余らせた方が良いかも。
http://akizukidenshi.com/catalog/g/gP-08342/
私は上のSOT23でやったけど。 >>620
ん、そう?
配線してスケッチをコピペすりゃすぐ抵抗値の変化が見れるけど?
https://i.imgur.com/wnd5jWy.jpg
あと何に使うかは知らん。
問題はハンダ付けだろうね。 >>623
速攻レスだな。
UNO買ったときに328Pを秋月で単体で買ってブートローダ書いたんよ。
バックアップとか言ってさ…。
最近Nanoしか使わんから自分でも懐かしいわ。 それじゃん。
>>615の問いに対する完全無欠の最終解
自分の無力さをひしひし感じるわ。 使えるかどうかわからないが、PWM出力で4066みたいなアナログSWのON/OFFduty変えて
等価的にOP入力のボリュームを構成できる。 >>618
おっとこれはI2Cではなく、H/Lロジックで使えるやつだった
ただ1ステップずつインクリメント、デクリメントしかできないっぽい
SPIだけどこれもありかも
https://www.digikey.jp/product-detail/ja/microchip-technology/MCP4131-104E-P/MCP4131-104E-P-ND/1874342
SPIもArduinoなら簡単、誰でもできるから心配ご無用 >>625
ボリウムは300°廻るけどサーボって180°くらいしか行かんから0に合わせたら100キロいかないw
…と書いてボタンを押そうとした所でそのボリウムが250キロって可能性に気付いて俺は負けた
一丁前にカップリングまで装備しやがって!! ロータリーエンコーダーのように
A相B相の位相差90度の10kHz程度の
パルスを出したいんですけど
簡単にお安く出力する方法って
どうすればいいでしょうか?
この流れだと先に言われそうなんで
arduinoでモーター回してロータリーエンコーダを回す
意外でお願いします。 >>632
簡単にお安くってこのスレで言われて
Arduinoでっていう回答は有りか無しか そのパルスをArduinoをから出したいという話ではないのか?
それだとしたらなんも外部装置は要らないだろ
Arduino単体でいろんなやり方がある aruduino単体で出来ます?
信号1つのA相だけのパルス波形ならいけるけど
位相ずらしてB相の波形を出す方法が解らないんです 簡単に思い付くのはタイマーを2つ贅沢につかって出せばよかろう?
もしタイマー1つでやるなら…例えば
1バイトでいいから変数を2つ用意して片方は初期値を0、もう片方は初期値を1とする
タイマーを40KHzでフリーランさせて割り込みでそれぞれの変数をインクリメントして2ビット目の値を出力ピンに設定するとかどう? >>635
>信号1つのA相だけのパルス波形ならいける
そのスケッチ貼ってみて。
http://codepad.org/ >>635
16bitタイマーで高速PWMでOCR1AにTOP値を設定し、
OCR1Bに(TOP+1)/2-1を設定してやればできそうだが、Arduinoでどうコーディングすればいいかわからん。 >>638
周波数固定ならCTCいいしでTimer2でもできる >>636の後者だと
◎出力ピンが自由に選べる
△割り込みでほんの僅かにCPU処理がある
>>638のやり方だと
◎CPUは何一つやらなくていい
△出力ピンが固定で選べない 鼻つまみ者がわらわらと湧いてきたなw
AVRスレへ戻って棺桶の蓋閉めてもう3000年寝とけ。 >>591
i2cクロックを10khzに落として見ましたがやっぱり同じエラーが出ますね
マルチタスクについても特にxTaskcreateも使ってないですし、wire.beginと各requestFromの前でcoreIDをシリアル通信に吐き出させて確認してみましたがどのタイミングでもcore1でした
相性が悪いみたいです、悔しいですがおとなしくwire2使うことにします
皆さんありがとうございました >>632>>635
スケッチのsetupの中に↓の1行を貼り付ければD3とD11から御所望の信号が出るゾ☆
asm("cli\nsbi 4,3\nsbi 10,3\nldi 26,82\nldi 27,2\nldi 28,99\nldi 29,49\nsts 176,26\nsts 177,27\nsts 179,28\nsts 180,29\nsei"); >>642
ここ一ヶ月ぐらいでESP32のライブラリの不具合がだいぶ解消されてるらしい
最新版にアップデートしなおしたら? >>641
AVRが振るわず
結局Arduinoのただの構成パーツに成り下がり
そして宿敵に買収された
理由が良く分かるような初心者スレでの対応だよな >>635
ん?
スケッチを貼ってみてと15時間前に言ってるのだが。
http://codepad.org/
まだ残業中か、もう終了か、ただのひやかしか? 世界規模で見たらAVRが流行ってないとはとても言えない
日本がガラパゴスなだけ 途中で送信してしまいました
このパルスの位相を90度ずらしたのを安く出力する回路です インバーターIC外付けてひっくり返すとかなw
たぶんtoneじゃひっくり返したのは出せないよな。普通に割り込みで2通り出力することになるのかな?
まぁ>>646がスケッチ作ってくれるでしょう。煽りじゃなきゃ >>650ちょっと待った
インバータノット付けて反転させたら位相は180度やないかぁ? ジョンソンカウンタの類で位相ずらしすればいんじゃね 10kHzの1パルスの1/4は25usだから
74HC04のtPLH/tPHLが20nsとして125段つければ90度遅れるかもしれねぇ
6回路入りだから21個も要るわ RasPi等とケーブルを使ってI2Cで繋ぐ場合、コネクタはGND含んだ3線にすべきでしょうか
RasPiとI2Cで繋ぐついでにRasPiの電源をNchMOSFETで管理しようかと思ったんですが、
そうするとI2Cコネクタ用のGNDをMOSFETのDの手前から取らなければならなく、もしRasPi以外の物を
そのI2Cコネクタに繋ごうとしたら変な事になる感じでこんがらがってきました Pchでハイサイドにすればこんな悩みは無くなるのかな >>655
電源のグランドを切るような設計は良くないね。
電源でグランドがつながっていても信号用のグランドを入れるべき。 >>657
両方コネクタは3本用意して、RasPiとArduinoを繋ぐ時だけ2本のケーブルで
繋ぐのがベターかなと思ったんですが何か不味いですかね >>657
日本語おかしくない?
電源のグランドを切るのか繋げるのかどっち? (接続先がGNDを使わないからと言って)電源のグランドを切る(省く)ような設計は良くないね
(接続先がGNDを使うから)電源でグランドがつながっていても(そのGND線とは別に)信号用のグランド(線)を入れるべき。 電源のグランドを省くってどういうこと?
電源のグランドを繋がなかったらそもそも回路にならないじゃん
小学生? そうだね。おかしいね。ぼくしょうがくせい。ごめんね。もうだまっとくよ これ>>657と>>660同一なのか?
ローサイドスイッチの話とシリアル三線の話混じってる気がする >>663
>>657の一行目はハイサイドスイッチを使うべしって話で、
二行目はノイズに強い結線方法だね
ちなみにI2CはVCC,SDA,SCL,GNDで4線w
このケースだとSDAのシールド、SCLのシールドで6線とすべしって感じかな >>661
ヘンな事を書くから、>>660 がスネちまって小学生に退行しちまったじゃないかw
私は >>660 ではないが、推測するに
同じ電源を使用している2台の装置で、
・信号線用のグランド線だけが接続されている場合でも
・逆に、電源用のグランド線だけが接続されている場合でも、
接続されたグランドを通じて電位が確定して動作する可能性はある。
ただし、ノイズやスレッショルドなどのマージンを考えると、
信号線用と電源用のグランド線の双方を接続した方がよい。
ではないか?
信号線用のグランド線をリターン線と考えれば、双方のインピーダンスを同じにと思うだろうから、
おかしな事(この場合は接続)をしなくなるのでは? >>665
> 日本語おかしくない?
> 小学生?
こういうのは相手すんなw
夏休みだからきりないぞ Arduino初心者熱烈大歓迎質問スレと名付けられた場所で
「電源のグランドを切る」なんて言葉遣いしてくる奴が一番のガイジだろ https://i.imgur.com/w5q4bGy.png
スイッチを押して起動した後D2をHIGHにし保持、処理が終わった後LOWにして電源オフとしたいのですが、ブレッドボードに電源を繋いだ時点で起動してしまいます
D2がLOWの時テスターで電圧を測るとD2〜コレクタ間は0Vなのですが、D2〜GND間だと1Vになりこれが原因なんだとは思うのですがどうしたら良いのか解りません
期待する動作をさせるにはどうしたら良いのでしょうか 入力は2Vぐらいまでlow扱いじゃないかな
回路見てないけど、単純にsetup時の処理の問題だとおもう >>668のような綺麗な配線図をよく見るのですが、
どんなツールで書いているのでしょうか? >>670
Fritzingと言うフリーソフトです
色々とリッチなソフトの様ですが使い難いのでこう単純な回路図を描く時にしか使いませんw >>671
ありがとうございます
試してみます・・・って言っても
まだ書いて発表する様な回路無いですけどw >>668
Arduinoはほとんど経験が無いけど電源を入れたとたんにトランジスタがオンしてしまうってこと?
だとすると例えばD2とベース間の1KΩの抵抗と直列にダイオードを1〜2本入れるといいかな。
あるいは10KΩと並列に数μF(要調整)のコンデンサを入れるか、さらにダイオード追加と併用する。
ただGND側を弄らないでVcc側を何とかできないかな。。。
それにしても実体配線図は見辛くてしょうがないけど、このソフトには電子回路図として出力する機能は無いんでしょうか? >>668
>>673 です。
10KΩを小さく、例えば1KΩにしてみてもいいかも。 >>673
この件とは別に、スイッチを押した時に5VとOUTPUTのD2が直接繋がるのは大丈夫なのか解らずD2の所にダイオードも入れてたんですが
ダイオード無しでD2-GND間1.0Vなのが、ダイオードを入れるとD2-GND間1.65V・ダイオードの先-GND間1.0Vになります
ちなみにD2を抜いてArduinoの電源が落ちた状態になると、D2-GND間4.76V >>675
D2から電流が流れ出してきてトランジスタが勝手にONになるのでしょうね。
D2を切り離し、PNPトランジスタを追加してPNPのエミッタを+5V、コレクタを
今D2がつながっているところにつなぐ。
+5VとPNPのベース間に1kΩ、PNPのベースとD2間に1kΩをつなぐ。
スイッチを押して起動したらD2をLOWで保持、D2をHIGHにして電源オフになる。
マイナス側は基準の電位グランドになっているので外部に回路を追加すると
更にトラブルを抱え込むことになるから、回路を逆にして+5V側でArduinoを
オン/オフした方がいいと思う。 >>676
PNPの場合D2とスイッチでNOR回路を組む必要があるのかな >>677
元の回路は基準のグランドを切っているから+5V基準に変換する必要があるわけね。
同時にこれも解決できる。
>スイッチを押した時に5VとOUTPUTのD2が直接繋がるのは大丈夫なのか ■ このスレッドは過去ログ倉庫に格納されています