Arduino初心者熱烈大歓迎質問スレ part23
■ このスレッドは過去ログ倉庫に格納されています
携帯のカメラやデジカメは赤外線が映るやつ多いから適当なリモコンを発光させてケースを通したものと通さないものを比較してみると案外わかるかも arduino ideのタブの使い方がよく分からない。.hのファイルでプログラムをモジュール化するの? 同じフォルダに複数のinoファイルおいてあったらタブで出る 他のプロジェクトと共通の関数でライブラリにするほどでもないものを分けておくと便利 参考 https://keitetsu.blogspot.com/2014/11/arduino.html?m=1 ハードオフの100円Wiiヌンチャクと、140円のdigisparkでヌンチャクマウスが出来た analogReadから読み取った値に従ってLEDを点灯させるという実験をしていてpow関数の扱いでつまづきました。 int a = analogRead(A1); int b = a / 128; int c = pow(2, b); A1には5Vをつなぎ、1023という値を得てます。 2行目で7がbに代入され、3行目では2の7乗の128がcに代入される…と思ってたのですが実際にはcは127になってしまいます。 (a, b, c はSerial.printで確認しました) powの解説を読むと値がfloatで扱われるのでこのような結果になったのかと推測しているのですが、よく理解できません。 (1行目を「int a = 1023;」とすると普通に128になりました。) forループで回数分掛け算する方式にすれば大丈夫だったのですが、なぜpowではうまくいかなかったのかできれば知りたいです。 よろしくお願いします。 なにそれ アチョーって言うと左クリック アタタタって言うとタを言った分右クリックとかするの? CADやるとき楽しくなりそう >>734 まあいろいろ悩んでみるのもいいことだ 適当に推測で答えるがint c = pow(2, b);のところを int c = (float)pow(2, b); int c = pow(2.0, b); int c = pow(2, (float)b); みたいに適宜キャストしてやるとどうなるかな? ちょっと間違えたかも float f=pow(2, b); c=(int)f; とかかな? >>734 float,double は内部2進数で厳密な10進数の少数ではないので、丸め誤差が発生する(127.999999みたいなわずかにズレた値になる)ことがあります。 単に int (切り捨て)で変換すると理論上正しい値より1小さくなる事があります。四捨五入(0.5足してからint かける等)推奨です。 とはいえ、1行目が int a = 1023; である場合と int a = analogRead(A1); を Serial.print で確認して 1023 であるのとだけの違いで結果が変わらないはずで、 本当に b が「整数の」7なのに pow(2,b) が 127 になるというなら、違う Arduino でもそうなるか試してみたいところ… すみません >>738 の後ろ2行は無視してください(実験したら同じ Arduinoで同じはずの pow(2, int変数) なのに 127 になったり 128 になったりすることを確認しました) >>736 ,738,739 皆さんありがとうございました。 まずはfloatの扱いについて上げられたリンクなども参考にしてもっと調べてみます。 keyboard.hのKeyboard.press()やKeyboard.release()を使うと自動でpro microのTX LEDが点滅してしまうのを無効にするにはどうしたらいいですか キー入力のたびにチカチカ点滅するのが眩しい… ・ケースに入れる ・マジックで塗る ・LEDを外す、壊す >>743 そのキーボード関連の関数のソースを見てLED点滅部分をコメントアウトした別の関数を作り、それを例えばkeyboard.press2()、keyboard.release2()として使う。 TxLEDの隣の抵抗を外すとポートを引き出せるし戻し易いよ みなさん回答ありがとうございます コード一行書くだけで無効にできるような方法があればいいなと思ったんですが、これ意外と手間がかかることだったんですね 最終的にはケースに入れる予定なのでそれまで何かで覆ってしのぐことにします ありがとうございました ソフトで光らせてるんじゃなく信号線に直結でLEDがつながってるんとちゃうの?知らんけど。 Pro Microて32U4が直接USB接続されてるやつかな? LEDがつながってるのはデータラインじゃなくてPB0(RX LED)とPD5(TX LED)らしいらソフトウエア点滅ぽいな この辺をアクセスしてるソースがあれば… >>750 ホントだね。 UNOやMEGAだと別チップだからファームに本体チップからのリクエスト受け付ける機能が無いとダメそう。 >>751 えっ何処が? 最初のArduinoから10数年経つ中で様々なマイコン・プラットホームに移植され誰でもがArduinoマイコンを気軽に使える時代が到来し、ブームと言うより当然の選択肢の1つになるまで広く普及してるんじゃないの。 中華クローン安くて良いけど シリアルがch340なのはまだいいとして レギュレーターのAMS1117の性能が悪すぎる 絶対最大定格で15Vのはずなのに12Vでかなりの個体が煙吹くわw Arduino単体で確認してるから消費電流はマイコンとシリアルとLEDで合計30mAもないのに… 本家はuA78Mだから絶対最大定格で35VとVin=12Vでもかなり余裕があるね(当然PDは別ね) レギュレーターを乗せ変えようにも uA78Mは左からVin GND Vout (タブはGND)に対して AMS1117は左からVin Vout GND (タブはVout)になってるから 基板のパターンが違くてそのまま付かねえwww AMSが燃えたやつは取り外してUSB電源で動くものに使ってるよ レギュレータが乗っかってるけど、外部レギュレータが必要w 俺も12V繋いだら盛大に煙出したな ショートモードで壊れたからマイコンも一緒に死亡 >>751 広く普及して一ジャンルとして定着したから、ブームは去ったのかな。 皆が思う Arduino ブーム っていつ頃? 自分は2011年から使ってるけど、電子工作自体が個人的趣味でたまにやるだけだからブームだったという認識がない う〜ん、どれくらい前だったかなぁ、PICの関連書籍の発刊数が少なくなってきて、 Arduinoの関連書籍の発刊数が上回ったあたりじゃないかな? 個人的には、その頃にはブームは去って定着していたようにも思うけど。 検索すると多くのblogとかヒットするから流行ってるのかなと感じる事はあるよね 過去スレの消費時間みると part15 = 7ヶ月 part22 = 2ヶ月ちょい >>762 なるほど。 面白い評価法だね。 Google検索の時点が過去にまでさか戻れれば各時点(1年、2年、、10年、)での総ヒット数でもArduinoの普及度が測れないかな? そうそう、AMSって何であんなピン配置なんだよ! すぐ間違えるわ。 おまけに壊れる時大抵ショートモードでマイコン巻き込んで燃えるのな^^ AMS(austria micro systems)ってまともな会社やのに!って思ってたら違うやん。 偽物がかなり出回ってるみたいだな http://buin2gou.sak ura.ne.jp/sblo_files/powerele/image/AM1117_Issue.jpg Rock54が出るから全角空白が入ってる >>747 遮光性の高いテープやシール貼れば簡単 復元も容易 やっぱこれからもマイコンはPICだよね なんといっても老舗だし 8KテレビにもにもPIC24入ってるし 探せばまだまだ見つかるぞ・・・・ >>754 >>758>>764 中華AMS1117は耐圧15Vだけど実際使うのは006P電池とか9Vまでにしといた方が良いね… 本物のAMS1117とか、LT1117(リニアテクノロジ)やLD1117(STマイクロ)の奴なら12V平気だと思うけどねw ちなみに1117系列のピン配置から78xx系列へのレギュレータのコンバージョンについてだけど、俺のやり方は↓ https://i.imgur.com/sZwFEZ3.png この中華クローンの炸裂したAMS1117(USBでは動作したのでショートモードにならずレギュレータ以外は無事だった)を交換する 7805シリーズでリードタイプのレギュレータ(写真のはTO-251で珍しいが…STマイクロのL78M05CDT-1)をリードフォーミング 印字面から見て、1番を左に90度曲げる → 2番と3番を奥(タブ側)に90度曲げる → 2番を1番から5mm離れた所で左に90度曲げる https://i.imgur.com/W1LEZvu.png (写真のは高さ低くしたくてモールドの根元で無理に曲げちゃってるけど、コレは良くない!! 先の細いペンチで根元を押さえて曲げよう!) https://i.imgur.com/J7Kuxo9.png 足の余った部分を適当に切り落として、こんな感じに半田付けすればそのまま使える(当然ながら不恰好ではあるけど…) 7805でTO-251のは珍しいから(ちなみに↑の型番のは確かRSで買ったのが家にあった奴)素直にTO-92/TO-226とかでもいいと思う(電流容量に注意) ぶっちゃけTO-220も同じ要領で半田付け出来るけどクソデカレギュレータになって見た目がかなり不安な感じになる・・・ネジ止めする場所無いしw pro miniのVcc端子に外部から5v入れたい。 内蔵レギュレータの出力側に5vがかかるけど、raw端子をオープンにしとけば問題ない? 内蔵レギュレータ外すのめんどくせ >>776 そのジャンパー切ってもレギュレータの出力側には5v掛かるね 大丈夫なんかな? >>776 間違えた そのジャンパー切ればいいね すまん >>776 手持ちの中華にはそのジャンパーなかた 本物にもなさそう >>775 そんなん余裕で大丈夫だろって調べたら下記サイトでも大丈夫って書いてあった https://ht-deko.com/arduino/promini.html リンク先に書いてあるけど、周辺回路を3V3想定で作っておいて5Vかけるのはナシで >>776 for low power application って書いてあるのは 電池などでVCCに電圧かけるとLEDひかりっぱなしで電池無駄になるから切ると良いですよってことで絶対切れって指示ではないかと >>780 自分も調べてたけどその通りだった。 今回は関係無いけどLED消灯したいときにジャンパーが無いPro miniモドキのバターンカット法を見たときアレレッって思った。。。 https://www.instructables.com/id/Arduino-low-Project-and-code/ >>775 という事で、勘違いご免なさい。 自分でちゃんと組んでみて確かめろ、って言われるかもしれないけど。 「初心者熱烈大歓迎」に甘えさせて。 この配線図っておかしいよね。 https://i.stack.imgur.com/XDxJD.png 4桁7segに文字表示するってことになってるけど? ダイナミックなんとかとかなんも考えてなくて、4桁ともおんなじ表示 になるような。(カソードコモン?がそのまんまGNDにつながってる) https://arduino.stackexchange.com/questions/38834/cant-get-4-digit-7-segment-display-to-show-different-values 画像は上記の投稿が参照してるのでそのまんまもらってきてるけど、 Elegooって会社のSuperStarterKit のチュートリアル "Lesson 20 FourDigital" の とこに同じ図がある。ついてるスケッチはこの投稿よりは ましだけど、やっぱり配列で1バイトのビットパターンを > void Display(unsigned char num) > { > digitalWrite(latch,LOW); > shiftOut(data,clock,MSBFIRST,table[num]); > digitalWrite(latch,HIGH); > } って感じでおそらく、0からFまで渡してるだけ。 イラストには、HALOって出てるけど、そもそもがtableが16しか無くて英文字のパターンもらって無い。 一応、よその電子工作系のブログ見て4桁表示する「正しい」手順は理解してるつもりだけど、、、 じゃこれは何なんだろう? チュートリアルとしては何回か改定してるみたいだし、、、これを長年堂々とユーザにだしてるのか? それとも超絶技巧かなんかで解決してんのかと、、、 1桁の7segもついてて、そっちのLessonもあるし、べつに続くレッスンで「タネあかし」して、 4桁別々に表示するやりかた教えてくれる、って構成になってるわけでもない。 >>872 その図がおかしいことはその相談サイトの質問に書いてあり 対応策はいくつかの返答の中に書かれているから参考にして直せばいい。 何か文句が言いたいならElegooに直接言ったらどう? 一番わからないのはそれ以上あんたがどうしたいかだわw 普通は未完成の回路とスケッチ見て「糞サイトか」と言いながらそっ閉じ 未完成ww どうせアフィ目的だから、コードが間違っていようが、回路図がおかしくても直す気無いんだろうな もとはElegooのチュートリアルがおかしいって話だからな。 それについて相談してるQ&Aサイトを見て、ろくに読まずに>>782 が騒いでるだけ。 解決策はそこでアドバイスされてるし、そもそも文句はElegooに言えばいいだけ。 糞サイトとかアフィ目的とか全く関係ない。 ま、クソ商品、クソ取説なのは事実だが、良くある話。 前にArduino使って、7セグ4つで文字を出力するアイテムを作っていたとき HELLOと最初に出そうとしたんだけど 一文字足りなかったのでスクロールするようにしたのよね そこだけうまく行かなくて 何回やってもhELLになって困ったのどぉ思い出した めっちゃ初心者の頃の話だけどね なんか思い出したんで書き込む 7セグのテストって、一度ブレッドボードからバラしちゃうとまた一からやり直す気にならないよね >>788 言えるw 抵抗アレイいれてモジュール化していてもやりたくなくなるw >>787 > 何回やってもhELLになって ええはなしや 1602の配線も正直に言うとめんどくさい I2Cの1602買ってからは快適だけど 1602のパチモンって表示が残像でヌメーっとして遅いよね >>793 中華の安いのばっかり買って本物使った事無いんだけど目で分かるほど残像が違うのか 本物とか偽物とかあるの? 1602ってただの表示文字数かと思ってた elegooのやつ使ってるけど偽物なのかな(´・ω・`) >>793 あー、昔あったな 今はOLEDばっかだけどノイズがひどい > 1602の配線も正直に言うとめんどくさい 外付けメモリ、外付けI/Oの時代のCPU(Z80など)のバスの手配線はとても面倒だった。 始めてワンチップCPU(PIC16F84だったけど)を使った時は 「配線ゼロでCPUとして動作する!あぁ何て幸せなんだ」と思った。 将来はプログラムレスの時代が来るだろうから、 その時はもう一度幸せ感を味わいたい。(生きていればの話しだが持たないだろうな) >>799 プログラムはしなくてよいが何をしろと口頭で指示する必要が、、既に実現してるね プログラムレスでどうやって動作指定するんだ? フローチャートを編集するCADみたくなっても言語の概念から外れるだけで プログラミングには変わりないし 音声指示は『ぴゅう太』の日本語basicを口頭でやるに近い キーマクロのような単純な反復動作をセンサーやタイマーに割り当てるだけなら プログラムレス可能ともいえるが >>802 それ膨大なDBとAI鯖によって成り立ってて 画面とマイクさえあれば端末なんでもよくね? スタンドアロン動作するマイコンと関係無いよな まあそのようなものが洗練されてコンパクトになったとしても 予め用意された動作をトリガー条件指定して実行できる程度だろ 動作や条件を増やすにはライブラリ記述するようになりそうだ やがて、大脳皮質の神経細胞網の6層構造をハードで実現した、 シミュレータではない本物のAIが出現するんだよ。 タワー型PCの後ろ蓋を開けて中を覗いたら、 塩水の中に兎の脳がプカプカ浮かんでるとかw 冗談はともかく、いずれ2流3流のプログラマは仕事が無くなるだろうな。 今の脳の構造だと、とにかく最適化(サボる的に)しようとするんで 膨大な反復計算とかには全く向いてないということがじわじわ解ってきている ウォーリーを探せみたいな事に関しては個体差が激しいけど、それこそ人智を超える高性能なのだそうだ 過去データと今のデータ全部見ながら株価推論するAIとか エリアで犯罪が何日にどこで起きるか、なんてのが熱いよね スレチすまん 中国製の格安Arduinoを使っている場合、Arduinoが燃えるリスクがある それならUSBケーブルを改造してヒューズを挟めばいいと思うけど何Aのヒューズを使えばいい? >中国製の格安Arduinoを使っている場合、Arduinoが燃えるリスクがある へえ、そうなの? 5年以上中華製しか使ってないけど燃えたことねえ。 どんなケースで燃えるのか教えて。 海外フォーラムとかで12V入れてレギュレータから出火、っていうのが多いんでない? 電力供給側の保護回路より先に切れる必要があるので0.1~0.2Aくらい? スペックの上下限で使わず大人しく安全域でつかえや・・・ リードリレーを使って、すでにある3つのスイッチに噛ませてON-OFFさせたいですのですが 基板にリードリレーをハンダ付けするとき隣り合わせちゃうと誤動作しますか? 買ってきたケースにちょうど収まりがいいんですよね… https://i.imgur.com/9VDHNDq.jpg ちゃんとAMS1117-5のDatasheetを見よう http://www.advanced-monolithic.com/pdf/ds1117.pdf https://www.rohm.co.jp/electronics-basics/transistors/tr_what7 これの計算方法1:基本から Tj(℃) = Ta(℃) + Rth(℃/W) * P (W) Tj=125℃ (ジャンクション温度 最大) Ta=25℃ (室温 環境温度の例) Rth=90℃/W (熱抵抗 SOT223) この場合のPの最大は何ワットか見てみたら? で、P=電圧降下*電流 電圧降下12V - 5V = 7Vとして 安全率0.5としたら何mAまで流せるん? どこに対する安全率か知らんけど、無視すると (125℃-25℃)÷90℃/W=1.11W 1.11W÷7V=0.159A が絶対定格だな ハード苦手でソフトだけで開発できるから使ってるけど、USB電源源でもうっかり火災とかは困る USBケーブルにヒューズ入れる程度なら加工頑張れるから何アンペア入れればいいか知りたい こっちは超格安の中華ボードでも3年位燃えずに毎日PCと連動して動作してる 159mAとか、何も考えずに使ってたらつかっちまいそうな電流だな Ethernetシールドを9vACアダプタで使うとArduinoのams1117の発熱がヤバイがそのうち燃えるのかな? 中華AMS1117は負荷5mAだろうがVin12Vでそこそこの確率で爆発する 容量オーバーの発熱で燃えるとかじゃなくてバチッって言って壊れるんだよ 例えば虫がうっかり基板に乗ってショートとかもあり得るかなぁーと リセッタブルヒューズとかも入ってないっぽいし何かしらの対策はしたほうが良いかと思って悩んでる 一応ヒューズっぽいのあるよ ショートした時に金色のパーツが熱くなっていた その熱抵抗だとそれなりのサーマルパッドが必要、0.5平方インチぐらいかな。 サーマルシャットダウンもないのに12vも入れる使い方はどうかと。 自分のは発熱でハンダ熔けてポロっと落ちてきたよ 中華ヒューズすげーと思った arduino uno使ってサウンドメーター(音量測定器)を作りたいんだがサウンドセンサーつけてLEDに出力、音の大きさとか音域によって色変えたりとかできる? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる