Arduino初心者熱烈大歓迎質問スレ part25
■ このスレッドは過去ログ倉庫に格納されています
>>729 スマホでよくね? 走る時ってどの回線使うの? >>731 スマホだとケース込みで200g超えててかなり重たいです volumioのSpotifyで本家のようにダウンロードできてオフラインでも流せたらなぁって思ってます じゃ DF Player で良くね? Soitify 関係なくね? >>734 Spotifyでよく聞いてる曲たちをもってないんですよねー… 買うにしても莫大な金額になりそうなのであんまり買いたくないです… え?金ないのに、ダウンロードしたいとか? Arduinoで音楽聴きたいのか、違法ダウンロードしたいのか? スマホが重いなら、Arduino+バッテリーの時点で無理じゃね? スマホより軽いバッテリーなんて限られてくるけど。。。 100均のモバイルバッテリー300円のが64g、500円のが100g ドローン用リチウムポリマーが37g 走ってる1時間くらいイヤホンで聞きたいってだけなら小容量でいいわけだし そこまで難しくはなさそう そもそもSpotifyをダウンロードするプログラムってどう作るの? ハードに疎いだけでソフトには精通してるんだよ きっと ESP32で出来るよ 皆さんの開発環境ってやっぱりvscodeですかね? ESP系はソースもデカいからvscodeが多そうなイメージ おいらはちょこっとプログラムするだけだからお手軽ArduinoIDE arduino ideはメモ帳で書いてるのと殆ど変わらないから、用意されたサンプルを コンパイルして満足するだけじゃなく自分で書くなら、短いのでもvscode入れた方が楽だよ この間、久しぶりにv0.0.3-alpha.previewに更新してる。 ttps://github.com/arduino/arduino-pro-ide/releases arduino ide pro、え?これでproを名乗るの?ってレベル。もう少しリッチになってくれ 独自IDEはもう最低限でいいから、MSとちゃんと話してVSCodeのプラグインを充実してほしいわ 現状のVSCodeプラグインだとサンプルスケッチへのアクセスが分かりづらいのと、ブートローダの書き込みが出来ない事やプロジェクトをわざわざ作らないと行けないのがのが不便かな >>709 >>710 >>711 遅くなりました。 結果としては、ベース電流の不足だったみたいです。 arduinoベースの2k抵抗を小さくしていくとだんだん回るようになるものの、直結時と同じように安定して力強く回るのは結局0Ω(抵抗無し)の時だけでした。 (最小200Ωまで確認) ギリギリなんですかね? ベースバイアス足すとか ホントはオシロとかで見ればいいんだろうけど >>751 arduinoとモーターは同じ電源から動かしてると思うけど モーターの消費電力が大きく電源電圧が降下してると思う 電源電圧が降下した分ベース電流も落ちてるからその影響も大きいと思う 状態を把握するために電池直結とトランジスタを使った時の各所の電圧や電流を測定した方が良いよ 例えば、電源が3vまで落ちたらベース10mAも流れてないと思う その場合コレクタには1Aも流れないはず >>751 リンクのサイト色々と配慮がたりてない トランジスタもモーター駆動に向いてない 秋月で2SD2012と同じ30円の2SD1326とかどうよ? ダーリントンはコレクタ飽和電圧が高いから電源電圧が 低い場合はどうかな。 インバーテッドダーリントンって絵の構成だったっけ。 これだと、入力電圧は低くできるものの、出力の飽和電圧の点で有利になったっけ? でも、今はON/OFFなら「まずはFETを選んでみる」で良いような気がする。 >>758 構成は合ってる。 hFEが2つの積になるから,ベース電流を少なくしても動かせる。 Vbeは1個の場合と同じでいい。ただのダーリントンはVbeが高くなってしまう。 その文脈だと,FETじゃなくてMOSFETかな。 どちらにしても,電圧制御なので,電流は不要だけど, スイッチ用途の場合,種類によってON/OFFさせる電圧が違うから注意ね。 >>759 出力飽和電圧について指摘している>>755 の次に>>756 がコメントしているから、 >>756 は「普通のダーリントンと違ってインバーテッドダーリントンなら、出力飽和電圧の点で有利になる」と 考えているのでは?と思ったよ。 実際の彼の思いはどうなんだろう。>>755 とは特に関係がなかったのかな? リセットボタンを作るためにRSTとGNDの間にタクトスイッチを付けたいんだけどプルアップ抵抗もどこかに必要ですか? >>762 そうなんですか ありがとうございました >>754 >>753 電池をやめて2.6Aのアダプタにしたらモーターはより強く回ったので電圧降下はしてるでしょうね。 実家帰っちゃったのでオシロが無いんですよね。 あと2個作る予定があるので、SD1326も試してみます。 あちゃんでいいのって今売られてるやつもピン幅はズレてるまま? >>765 どうやら売り切ったらしい、通販のページには出てない ただし、店頭限定で売ってる可能性はあるので注意 ・店頭で買うときの見分け方 MicroUSBやDC-Jackの付いたタイプは OK LEDが1つのタイプ(基板のシルクがV2)は OK LEDが2個で基板のシルクが「0603V2」のタイプは OK LEDが2個で基板のシルクが「0603」のタイプはおそらく × 他にはこんな特徴がある(通販ページにある画像と比較するとわかりやすい) https://i.imgur.com/NVdpcwx.png 他のものに比べてかなり安ければあえて買うのもアリ >>766 めっちゃサンクス その画像と通販ページの画像見比べると確かに違うね。 シリアルの印字も無くなってるね。これはちょっと戸惑うかも。 今度0603V2買ってみるわ。 現物を手に取って選べるならこっちのほうがわかりやすかったか クロスしてスケール代わりに重ねてみれば… https://i.imgur.com/VsKHuo8.png ESP8266-01が全くつながらないです。 https://circuits4you.com/2017/12/31/esp8266-get-ip-address/ をコピペしたのですが、#include <ESP8266WiFi.h>が見つからないとエラーになります。 ネットで探すのですが、 Arduino-master.zip IRremoteESP8266-master.zip しか見つからず、ESP8266WiFi.hのライブラリが見つかりません。 どなたかご教授ください。 「ESP8266 ボードマネージャ 追加」とかでググる ArduinoでLoop一回分とか作った関数の実行速度を測ってみたいと思ってるんですけど どんな方法をとればよいのでしょうか? どういった機材があれば測れますか? 測りたい部分の前後にピンから信号を出してオシロスコープで信号変化の間隔を測って信号出力処理のオーバーヘッドを引く。 >>771 実行速度測るだけなら micros()を使って実行前と実行後の時間差を引き算すればわかるよ 単位は4μ秒毎でわかる 機材は要らないよ もう少し細かい単位で時間見たいなら同じ処理を 100回とか1000回繰り返して時間を見ればいいと思うよ >>768 こんな致命的な問題があるものをそのまま売ってたの? 中華業者より酷いな このFeather Wing使えてる人います? nRF52840にも使えるとあるけど、Adafruit Feather nRF52840 Expressに挿したら動かないです PCのシリアルポートでも認識しなくなります 抜いたら動くんですが… バッテリー繋いだり5V/Batのスイッチ切り替えたりしても意味なかったです FeatherのENピンがこのWingだとGNDになってるのってもしかして関係してますか? https://cdn-shop.adafruit.com/970x728/4357-00.jpg https://www.adafruit.com/product/4357 フォーラムにこの問題載ってました Featherの3.3VピンとGroveポートの3.3Vピンを繋いだら改善するみたいな事が書いてあったから試したけどダメだった。それどころか、ダブルクリックしてないのにブートローダーモードに切り替わってしまって大変 っていうか、Adaのサポートヤバイ このトピックはこのWingが動かないって内容のトピで、 で、ある人が「3.3Vを繋いだら動いたって」書き込みした直後にadaのサポートが「回避策共有してくれてありがとう.」って書き込み、 その2ヶ月後に別の人が「こんな欠陥あるのになぜ売り続けるんだ?知ってたら32u4とこのWing2セットづつ買わなかった」 サポート「は?32u4で動くけど」 だって… >>770 おかげさまで、できました。ありがとうございました!! >>773 おおむね知りたい数値を知ることができました!ありがとうございます。 arduinoが自分で測ればよかったんですね。 気がつかなかった・・・ >>772 この方法の場合、そのオーバーヘッドがどのくらいかかったかというのはどうやって測ればよいのでしょうか? >>785 772じゃないけど何も処理をしないでピンから2回信号を出してオシロで測ればオーバーヘッドがわかるかも >>775 当然普通にはブレッドボードには刺さらないからこんな画像も載ってたんだよ https://i.imgur.com/w4xaHDc.png >>782 もう現物と回路図突き合わせて、この2つが一致してるかから調べてみたら? 俺だったら、回路図が正しいものとしてその回路図で意図した動作をするのかをまず確認して 回路図に不備があるようなら回路図を修正して、 次は回路図と現物を突き合わせて、現物をあるべき形に持っていくな こういうものでサポートガーとかは正論ちゃー正論だけど、めんどくさいしバカっぽいから自分で手を入れて これできましたってアップするだろうね 質問です。Leonardo 互換機を使っています。 Arduino IDEで,ピン指定 A0 は確かに基板のA0にアクセスできるのですが,A0=18のようなのです。この18って何? 32u4 のピン番号じゃないし,UNOの番号かな,と思ったんだけど,それとも違う… 18って何だろう… 同様に,ピン指定 0 で D0=PD2=20ピンにアクセスできるのも不思議 >>785 >この方法の場合、そのオーバー >ヘッド(中略)はどうやって >>773 にその答えも書いてある digitalWriteを10000回繰り返したときと20000回繰り返したときの差を取れば純粋にdigitalWriteのコストがわかる。同じ値の繰り返しは最適化の懸念が残るので1/0交互にするかな。 ところで digitalWriteって最適化懸念無いんでしたっけ? >>773 自分で書いて間違いを2回訂正するの恥ずかしいけど 100回とか1000回繰り返したときにコンパイラの最適化を回避しないと 100回分のつもりで1回の時間しか測れないので、この手段は避けてほしい 変数の宣言をvolatileとかでやれば最適化を回避できるかも あと、やってないともうけど 関数やループの前後にSerial.println(micros());とかで時間を比較すると シリアル出力処理の余計な時間が足されるので開始時間を変数に収納して 出力時に処理してね 例> static uint32_t StartTimeVal; // (unsigned long StartTimeVal) StartTimeVal = micros(); //計測開始時刻 <処理する関数やら内容やら> Serial.print (micros() - StartTimeVal); //計測終了&出力 Serial.println (" micro second"); delay(適度な値);//処理が短い場合、必要に応じて追加する (試してないけど、処理内容を空欄で実行すると0か8μ秒の結果が出ると思う) 後で部屋の大掃除終わったら実機で試してみるよ >>791 レスありがとうございます。 頂いた例を参考に下記のようなコードを実行してみました。 最初頂いたコードのまま実行したら4μと8μの間で揺れていたので Serial.print (micros() - StartTimeVal); の部分の計算時間も省けるように別途算出し後から計算する形にして下記のようなコードを実行してみました。 static uint32_t StartTimeVal; // (unsigned long StartTimeVal) static uint32_t GoalTimeVal; // (unsigned long StartTimeVal) void setup() { Serial.begin(9600) ; } void loop() { int CalcValue;//計算結果格納 StartTimeVal = micros(); //計測開始時刻 //GetValue();// <処理する関数やら内容やら> GoalTimeVal = micros();//計測終了時刻 CalcValue = GoalTimeVal - StartTimeVal;//計測時間算出 Serial.print (CalcValue); //出力 Serial.println (" micro second"); } //計測したい関数(仮) void GetValue(){ int dummyA; dummyA = analogRead(A0); } GetValueを外した時には4μ 仮関数を実行した時は116μという数値になりました。 ということはGetValueの実行時間は4μ毎ということふまえて・・・ 116(+0/-3)- 4(+0/-3)=112(-6)μという感じでしょうか。 以上のような感じで当方が欲しいと思っていた情報を得ることができました。 ありがとうございました。 Arduinoの種類(こちらはUNOを使用)によって違う可能性もあるけど 検証した結果 時間を出力するコードは平均3.584μ秒で実行できてました(外部割込みの影響を受けて誤差が出るみたい) 変数をstaticではなくauto(省略した場合auto)だと平均3.080μ秒でした 挟んで時間求めるだけなら、staticで宣言する必要なかったですね ちょうどいい値なので実行時間から4μ秒を引く感じでいいと思います 多くのコンパイラでは Serial.print (micros() - StartTimeVal);でも GoalTimeVal = micros()でも 同じ結果になるはずだったのですが・・・ (もしくは変数に収める方が時間が増える可能性も・・・) Nano+OLED で作り始めたら容量が足らないので、別のマイコンに変更したいのですが、 STM32、ESP32、が順当な候補でしょうか? 最終的に、そのまま組み込みたいので、Mega等のボードは無しでお願いします。 >>794 データの容量だけの問題なら余ってるSDカードとかを直接ハンダ付けするのも良いかもしれません >>797 データというより、SRAM(動作中のメモリ)が、2k だと足らなくて。。。 プログラムも、まだ6割程度完成で、30kギリギリ(Optibootで1.5k稼いでも) U8g2 だとページングでギリギリ、フルバッファだと無理。 Adafruit のライブラリは使いやすいのですが、動作メモリを大量に使うっぽい。 ESP32は、足の数でミニブレッドに刺せないし、STM32だと、いずれ容量が心配? となり、OLEDを使う上で、定番的な奴があればと思った次第です。 >>799 OLEDはどれ使ってる? NanoにAdafruitのライブラリを使って書き込んでもエラーは出ないのに全く表示されん ATSAMD21のボードに書き込んだら普通に表示された >>799 そう言うことなら サンハヤトのSAD-101は幅広でESP32いけるよ。 >>800 スピード不要と I2C を買って後悔してる。 https:// あまぞん/gp/product/B017M15KX6/ とりあえず Nano で Adafruit_SSD1306、U8g2 のサンプルは全て動くけど、 U8g2 フルバッファは、ギリギリなのでデフォルトのブートローダーだと 動かないかも? 今は Ali で SPI をカートに入れてて、ESP32 を物色中。 >>801 >>802 >>803 皆さん、ちゃんとしたボード使ってるんですね。 横着なもので、IOシールドがあれば便利だな?とか思ってました。 https://ja.aliexpress.com/item/4000203575061.html あるんだけど、Nano用と違って値段が5倍もしちゃってて。。。 >>804 グラフィック不要なら、バッファ無しで使う方法あるよ。 http://www.eonet.ne.jp/ ~jr3tgs/oled_test.htm arduino用に手直しして、動かした経験有り。 グラフィック使うならメモリ2Kbyteやそこらの機種は厳しいですね。 情報表示だけならなんとかなりますが。 IOが少なくて良いならWemos D1 miniなどで、アンテナをもぎ取って使うのもありかもしれません。 文字を縦横16/8ドット固定長で表示する分にはバッファは要らんと思うね >>803 俺もESP32DevKitそうやって挿して使ってるわw 俺は上向きのメスのピンヘッダ付けてジャンプワイヤーで飛ばす >>805 I2CでGrobeケーブル使って拡張するのはどう? I2CなんでLCD見たいのは向かないけどGPIOやセンサーの類ならI2Cで十分だと思うけど Groveケーブルはいろいろあるし https://www.switch-science.com/catalog/list/435/ Grobe用のモジュールもいろいろあるぞ https://www.switch-science.com/catalog/list/145/ ESP32ならM5Stack用の拡張モジュールもつかえるかもしれない M5Stackの中身のマイコンはESP32だし 基本M5StackはI2CのGroveケーブルで拡張するからね ちなみに秋月で ESP−WROOM−32D開発ボード http://akizukidenshi.com/catalog/g/gM-13628/ これは買ってはいけない 追加でコンデンサを付けないと自動で書き込みができない スイッチを操作しての書き込みは可能 買うならこっちを買うようにしましょう ESP32−DevKitC ESP−WROOM−32開発ボード http://akizukidenshi.com/catalog/g/gM-11819/ atmega328のEEPROMに関する質問です。 Q1.EEPROMは書き換え回数10万回となっていますが、これはEEPROM全体でしょうか? それとも個別アドレス毎でしょうか? Q2.EEPROMに5分毎に64byteの書き込みを行うと、 1時間に12回x24時間x365日=105120回と1年で10万回に到達します。 EEPROM全体1024byteを16分割し、順次使用すれば16年に延命できますか? 似たような内容ですが、よろしくお願いします。 >>816 違うメーカーだけど、EEPROM https://www.rohm.co.jp/products/faq-search/faqId/17 フラッシュメモリは消去回数 どちらも1か所を集中的に使うのではなくて、分散させる方が寿命はのびます。 >>816 寿命とは違うが、BODを有効にしておかないと、power offで0番地のデータが壊れると言うのがあったね。 頻繁に電源を落とす用途でハマった事があります。 俺以外はみんな知ってる事かな? 皆さんGUI版のavrdudessを使ってますか? そんなレスする前に答えてあげろよ こんな質問マルチしても問題ないだろ 3.3VのProMiniかESP32で、別モジュールの5VでプルアップされてるピンをGNDに落としたいのですが、 3.3Vの信号をNPNトランジスタのベースに入れて5VのピンをLOWにする事は可能なのでしょうか? 可能だけど、もうちょっとトランジスタのこと理解してからのほうがいい >>825 図のようなことを意図しているならOK。 >3.3Vの信号をNPNトランジスタのベースに入れて どんなふうにあなたが接続するのかわからんので、>>826 さんが心配されてます。 Rpu次第ですが、通常はR1は10kぐらい、R2は10k〜47kが、「パスコンなら0.1uF」的な 選択。(異論はあります) 反転させたくないときは、右のような方法もあります。電流は増えないですけど。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる