arduino初心者熱烈大歓迎質問スレ part31
レス数が1000を超えています。これ以上書き込みはできません。
Aliの部品の値段があがりすぎてる
送料までさらにかかるようになってこれは・・・ もう二度とAliでは買えなくなるよ
わかってる
覚悟の上だね?
うん
40万円分買っときな! >>10
1
そもそもレギュレータとして機能しなかったり発振して破壊されたり・・・後段に繋げた回路もろともぶち壊したりする
2
降圧DCDCコンバーター
書かれてるスペックの範囲内で高い電圧から任意の低い電圧にする
過剰分を熱として捨てるリニアレギュレーターより効率が良い >>10
> 省略した場合どのような問題がおこりますか?
発振して高電圧が出る
> これは何に使うものですか?
レギュレータは12Vから5V作る場合7Vは熱に変換して捨ててしまう、この場合効率41%
DCDCなので捨てるのが少ないだいたい65-85%、バッテリー運用で威力を発揮する。 >>10
> それぞれ省略した場合どのような問題がおこりますか?
俺の予想は発振もせず、高電圧も発生せず、ノイズがよく乗るだけだな、3端子レギュレータの場合。
ぶっちゃけ3端子レギュレータは降圧の可変抵抗として働くからさ。 >>15
シャコタンだな。
出っ歯、竹槍マフラーもヨロ。 便乗質問ですが
C1、C0はセラミックコンデンサーですよね?
電解コンデンサーは付けなくても良いのでしょうか?
もう一件
Pro Miniへの電源供給だけなら放熱板不要で良いですかね? >>18
使ってるレギュレータのモデルによる
データシートに全て書いてあるので採用したモデルのをしっかり読んでください
セラコン指定のものもセラコン非対応のものも色々あります >>18
電解コンにデカいの付けると、突入電流がヤバい。
出力のセラコンには直列で数Ω抵抗が必要な場合も。
放熱板が必要なら、デコデコにしよう。大抵は基板への放熱で十分。 >>19
秋月で売ってる5V 1.5A L7805CV-DGですが
データシートに載ってる回路図(>>10の図)のままで良い訳ですね
放熱板はネットで探して勉強しました
◎は L7805CV-DGデータシートからです
ジャンクション温度 Tj = (損失電力) * (熱抵抗) + (周囲温度)
出力電流 150mAとして(レギュレーターからPro Miniへの電流)
損失電力 12V*0.15A-5V*0.15A=1.8W-0.75W=1.05W
◎Thermal resistance junction-ambient TO-220 50℃
周囲温度 25℃として
Tj =1.05W*50℃/W+25℃=77.5℃
◎Operating junction temperature range for L78xxC 0 to 125℃
77.5℃は範囲内なので放熱板は不要と判断で宜しいですか? マイコン普通に使うだけなら40mAくらいだし無くても良いと言えば良いんだけど
https://aliexpress.com/item/4000004848768.html
こんな簡単なものでもあるのと無いのでは大違いなので安心できるよ >>20
出力ピンから入力ピンへダイオード継いでる回路図見たことあります
デコデコ→DCDCコンバータの事そう言いうのね
熱損失が多い位なら前スレ>>970さんのあれ使えですか
>>22
40mAで再計算すると39℃なのでますます放熱板いらないかな
電コンも不要ならパーツは少ないほうが楽なんですけど
>>23
Pro Miniが12Vで壊れちゃうのでなんとかここで解決したい思いましたが
ちょっと行ってきますけど また戻ってきます。 一般的には電コンは併用 放熱器も一応付けるだそうです。
これだけパーツ必要になるなら前スレ>>970さんのが簡単ですね。 あたしゃ前スレでずっとこれを薦めてた者だけど
https://aliexpress.com/item/1005001507833824.html
結局のところ、いろいろ苦労したいのか、サクッと楽に決めたいのか
よく分らんお人やねえ、質問者氏は >>29
中華互換機は載ってるレギュレータチップがいろいろだからそれによって18Vでも平気なやつもあれば6Vくらいまでにしておいた方がいいやつもあったり >>27
すみません 面倒なことに好んで嵌っていく性分です
疑問が解消できたらコストの兼ね合いもありますが楽な方を選びます
10さんとは別人ですが前スレのPro Mini2つ壊した者です
>>29
レギュレータチップのマークが調べる手がかりですね >>10は私です
たくさんのレスありがとうございました
>>25さんと同じ考えに至りました
三端子レギュレータはとにかく安く済ませたい時と、定格電流?が0.5A程度で変換効率を気にしなくてもいいような場合に使うものという認識で正しいでしょうか? >>33
スイッチングノイズがあるとまずいアプリケーションのとき >>33
正しい。
付け加えるとノイズ除去目的でも使われる。変態的用途では定電流素子としても(笑) アナログセンサーにノイズが乗っかるのはこれのせいなの? 低ドロップアウトのは電圧もちゃんと出ていても高周波で
発振してる場合がある。
振幅が小さいとオシロでも分かりにくい。 オシロでわからないレベルならArduino用としては十分だろう 三端子レギュレータ自体は、スイッチングノイズの低減をあまり期待できない。
間歇動作による低周波のリップルが乗ってるようなのは別として。(といっても案外これってバカにできない)
それと、三端子レギュレータはノイズが大きいものもあるし、用途によっては低ノイズ品が必要なことも。 俺は>>27のに3Pのターミナルブロックの真ん中のピンとネジを取り除いたやつを
裏側の真っ平らな方に付けて使ってる >>18
今出回ってるのはやっすいやつなら電解コン使ったほうがいい
性能も出るしな
ただ、寿命が短いってのもあるから最近だとセラコン使うことも多い
DC特性に気をつけなきゃならんから使い勝手が悪いんだけどな 一番確実なのはローパスのつもりで電解コンとセラコンを並列にするのがいい
データシートにフィルター回路があるなら
それを実装するとなお良い 自転車のスピードメーターを作りたいと思います
車輪に磁石とホールセンサーをつけて、その出力をArduinoにつなぐ予定です。
ホルーセンサーのハード割り込関数で、内部タイマの値を読み出し、その数値化から速度を割り出そうと思うのですが、そんなやり方で問題ないでしょうか。 >>44
距離はかなり正確に出るので、内部的に距離で値を持って
そこから、時速、分速、最高速、デイアベレージなど算出するほうがいいと思う
タイマーと車輪のインチ数のプリセットや補正が必要だね >>46
ていうか、他の選択肢無さそう
>>44
センサーの実装というか車載方法の方が苦労しそう
>>46が言うような取ったデータの処理なんざ時系列とパルス数押さえときゃ後でどうにでもなる マイコンの実装の勉強というか、自分でプログラミングしてみたい、という動機なら、
とりあえずセンサー部分は市販のもの(キャットアイとか)のものを使えば。 >>45
XYZでベクトル演算めんどいやん
しょぼいアンテナやデバイスだと移動体をまともに追跡できんし GPS内蔵の、ランナー用のスピード・距離計腕時計や、自転車用メーターが
1万円ちょいぐらいから売られてるわけだし、目指すところとしては置いておいて良いのでは。 44です。
みなさんアドバイスありがとうございました。
がんばってみます。助かりました。 >>33です
>>34,35さん
ご回答ありがとうございました やっぱコツコツとデータシート見ないとダメだな。1発で解決したわ。
attiny44・attiny88とかマイナーなやつ使ってるとググっても参考になるコードが少ないし、
海外のブログでも間違ってるのあるし 評価用ボードとかって書いてある事あるけど
評価とか試作にしか使っちゃいけないの? ipad3のアクティベーションロック解除目的で入手しました。 メモリー不足かpowがうまく計算できない。二次曲線のように曲がったx,yの数値を擬似的に計算で作る方法はあるかな? >>57
本番の環境に使っても別に問題ないけど、問題が起こっても販売会社は保障して
くれないけど良いのかな?
使っているうちにジャンパ腺の接続がゆるくなるとか色々問題が発生しないとは
誰も言い切れないので >>60
うまく計算できないの内容がわからないけど、arduinoはintが16bitなので値が
32767を超えているとか、powが返すのはfloat(double)なのでintとかに変換
するのに失敗しているとか
powの結果をSerial.printで出してみて値がおかしいか見てみたら >>62
考えすぎでした
>>64
指摘のとおり型扱いの問題でした。floatの扱いがまずかった。例えば数値の10.0と数値の10は区別されるんですね。 ボタンを押すとLEDが光ってdfplayerで指定した音声を流す物を作ってたんだけどファイル名が同じ別パターンの音声と入れ替えたら鳴らなくなった
でmp3を前のに戻したらこちらでも鳴らない
回路とスケッチはいじっていない
dfplayerをショートさせて直接鳴らすのは問題無しで再生中にボタンを押すと再生は止まる
考えられる原因は何でしょうか? いじっていないつもりでもどこか以前と違うところがあるはず
ワンステップずつ思い通りの動作になっているか改めて調べるしかないでしょう シリアルモニタで初期化のメッセージが出てるのとIOをショートさせた場合は鳴るので大丈夫かと
それでmp3再生中にarduinoに繋いだボタンを押してプログラムでmp3を再生しようとすると止まるので再生の命令は届いてるはず
回路には他にLEDとホールセンサーを繋いでいるけど正常に動くのでarduinoの故障では無さそう
一応TXTRの線を変えてもダメでSDカードや他のdfplayerに変えても同じ
ファイル名や構成も同じなのでお手上げ
一応arduinoを新しいのに変えてみる >ちょっと調べてみたところ、どうやらDFPlayerの電源はArduinoから直接取らない方が良いとか、
>電源電圧は4.2Vが最適とか、何やらノウハウが必要なようです。
>ちなみにArduinoのVccから電源をとるのがダメなのであって
>上記のUSB 5VをArduinoのRAWとDFPlayerのVccに分けて流し込むのはOKです。
的なことが書いてあった
DFPlayer Mini を使ってArduinoで音声(MP3)を再生する | MUDAなことをしよう。
https://make-muda.net/2016/09/4585/ Arduinoのスケッチ内である条件になった時から5分後に割り込みを発生させる事って出来る?
millis()っていうArduino起動時からの時間をカウントする関数がある事は出てきました。
そこで例えば今、millis()が0だとして、millis()が300,000の時に割り込みを発生させる事は可能でしょうか? ピン2と.3を接続する
ピン2の入力割り込みルーチンを書いて割り込み許可する
スタートアップでmillis()を保存
メインループでmillis()から起動時の値を引き5分経過していればピン3に出力すると割り込みが発生する その通りなんだけどスケッチ内で何とかなるものをわざわざ外部割り込み使うのが謎 ある条件になったらミリ秒で動くタイマー動かして
タイマー内で割り込み毎にカウントして300000カウントになったら処理すればよくね
知らんけど なんもわからんでIC使って納得してるやつよりも
ディスクリートを使って再現しようとしてる人の方が
アナログの知識がついてよっぽどarduinoを使いこなしてるように見えるけど、
5chでイキってるような底の浅い人からすればバカのやることなんだろうね millis()という時間計測用関数が既にあって5分経過を検知できるのに
数個しかないタイマーを消費しなくていいんじゃないの 横で悪いけどmillisが上限でまた0からに戻るらしいが
時間差でなにかしてる人問題出たことないかな?
なんかうまいことできてて全く問題ないと聞いた事あるが >>80
タイマーってなんだろう?
タイマーあるの??? とりあえず1秒かなんかでタイマ割込みを動かして
その割込みルーチンの中でプログラムでカウントすればいいだろ
あまりシアルタイム性のいらないポーリング処理とかインジケータ―
光らせたりとか全部その中に入れてしまえば
タイマーikkoしか使わないし 【芸能】宮脇咲良、卒業公演で“カメラ席”を高額販売も危惧される「性的ショットの流出」
https://asahi.5ch.net/test/read.cgi/idolplus/1624539578/-100
1香音LOVE ★2021/06/24(木) 21:59:38.34ID:CAP_USER9
203名無しさん@恐縮です2021/06/24(木) 21:56:42.91ID:dOISZ7oN0
宮脇咲良、卒業公演で“カメラ席”を高額販売も危惧される「性的ショットの流出」
https://news.yahoo.co.jp/articles/a1a24685b9ce4628cb68a7a1d8714a4dd67d0fd2
【芸能】宮脇咲良、卒業公演で“カメラ席”を高額販売も危惧される「性的ショットの流出」
https://asahi.5ch.net/test/read.cgi/idolplus/1624539578/-100
1香音LOVE ★2021/06/24(木) 21:59:38.34ID:CAP_USER9
203名無しさん@恐縮です2021/06/24(木) 21:56:42.91ID:dOISZ7oN0
宮脇咲良、卒業公演で“カメラ席”を高額販売も危惧される「性的ショットの流出」
https://news.yahoo.co.jp/articles/a1a24685b9ce4628cb68a7a1d8714a4dd67d0fd2
>>81
差分がマイナスになったらちょうど境界線をまたいだってことで… いやそもそもunsigned longで計算してるわけだから
マイナスにならんし引き算した場合1回までならロールオーバーが発生してても正しい差分が返ってくるだろ
2回以上ロールオーバーしたらダメだけど1回ロールオーバーするのにおよそ50日弱かかるわけでね・・・
0xFFFFFFF0を保存しておいたとして32カウント(0x20)後に0x00000010を得たとするだろ
0x00000010 - 0xFFFFFFF0 = 0x00000020 でしょうよ >>88
結果が負でもオーバーフローしたとは限らないよ。
ulong - ulong -> signed long つまり問題が起きるのは
起動して49日くらいたった日にmillisを保存してさらにそこから50日後を確認したいときとか
起動した直後にmillisを保存してそこから100日後を確認したいときとか millisだと47日掛かるがmicroなら71分で結果が見れるぞ、実際にやってみろ >>72
割り込みの必要ありますかね? loop内で監視してるんじゃダメ?
ソフト的にどうしても難しいなら、外にもう一個5分カウント用マイコンつないだらどう? H/W割り込みを使わないならば、ざっくり流れだけだと
bool intflag = false;
unsigned long _timeout = 300000;
loop{
startmill = mills();
do {
通常処理;//(中でintflagを必要に応じて変更する)
if (!intflah) startmill = mills();//intflagがtrueにならない限りタイムアウトしない
} while(milles() - startmill < _timeout);
割り込み処理;
}
って感じで出来るんじゃないかな
適当なんでおかしいかもしれないけどw >>95
それなw
しかもマイコン関連スレに常駐してるw 前スレ952でPro Mini互換機のRAW端子に12V繋いで壊した者です
新たに届いたのにはMG50の表示でレギュレータMIC5219が載ってました
絶対最大定格(VIN) –20V to +20V
今度は大丈夫そうです
https://i.imgur.com/Mgph1kk.jpg >>94
質問者です。
考え方、勉強になります。
他の方もサンキュ。
割り込みが必要かどうかも考えました。
タイミングが必要とかではなく、スケッチが分かりやすくなるから割り込みって考えてました。 割込みが足りなくてヒーヒー言ってるような状況じゃなければどんどん使っていいぞ 使ってる人にはなんでもないことなのに、謎の心理的ハードルあるよな。
ポインタとか割り込みとか面実装のはんだ付けとか。 Cプログラマにとってフルアセンブラとかマルチタスクとかリエントラントとかにも深くて暗い川がある。 ハードウェアの事を知らないとポインタを理解できないのか 理解できない奴は、そこら中にゴロゴロいる。試してみては?
実際の所、ハードよりアドレッシングさえ分かってれば話しは早い。
アセンブラ知らなくてもLEA一つ説明してやれば、小一時間で教育はできる。 ソフトで面倒なことをハードでやって、ハードで面倒なことをソフトでカバーする。
それができるのがマイコンの便利なところ。
タイマー割り込みが面倒なら555でも繋いでタイマー回路つくればよろしおすぇ? 555で済むことを555でやった方が面倒ではないと思う人がそうするのは自由だけど、
タイマー割り込みを使いたくない人が、他人が他人にタイマー割り込みを勧めることを
否定的の論じることはないと思うんだ。
他人には自分ができないことができるようになってもらう方が良いことが多いでしょ? 555
発振器を555で作り始めて、こりゃダメだと途中からCPUに変更した事もあるけど、
ただのRS-FFが必要になって、555で作った時に便利なICだなと思った。
小さくて(8P-DIP)、電源電圧範囲が広くて、出力電流も大きい。
開発者が効いたら怒るだろうなw >>116
CRなんかマイコンに置き換えちゃえばいいじゃん かなり昔にビデオの水平同期信号をトリガに一定時間レベル持ち上げるという回路を作ったけど
マイコンだとどうしてもトリガ検出がクロック単位になってガタガタに
555の遅延タイマーだとなめらかになったな
そういった特殊な場合を除いて555の出番はほぼ無いな 俺、去年 トランジスタに逆電圧かけてノイズ作ってArduinoでカウントして
シリアルから乱数垂れ流す回路作った。
パソコンでデータリアルタイムに度数分布作ったりして、「うん、うん良い乱数じゃ」と
眺めてただけだけど。
マイコン+ちょこっとした電子回路って本当に楽しいよな。 素朴な疑問なんだけど uint32_t と unsigned int とか
使い分ける必要性ってあるの? 単に int だと、処理系によって16ビットだったり32ビットだったりする。
int32_t なら処理系が変わっても32ビット。 >>122
ごめん間違えた
uint32_t と unsigned longだった 別人ですが、uint8_t と byte の使い分けの基準ってある? 厳密に言うなら
byte = 8bitとは限らん
という点で使い分けする人はいるかもしれんな 1byte はどこ行っても 8bit じゃないんけ? uint8_t は C99で標準化されたもの。byte は非標準。
前者の方が移植性が高い >>125-127
この流れで何となく分かりました。
書き込みありがとうです。 micro買うときに、5Vとか3.3Vとか書いてあるんですけど、そこまで大きな差に繋がりますか?
また、今手元にある商品が5Vかどうか確かめる簡単な方法はあるでしょうか… >>130
繋ぐものによっては信号レベルが5Vだと定格を越える場合がある。動作周波数も違うけど影響するかどうかは回路によるとしかいえない。
見た目としてはレギュレータに違いがあるはず。 昔、sizeof(int)= sizeof(char)= 1ってコンパイラがあったな >>130
動作クロックが違う
5Vは16MHzだけど3.3Vは8MHz Pro Microなら目視確認できるくらいの水晶振動子付いてるな >>130
https://i.imgur.com/uMy7eQW.jpg
RAWに7VいれたらVccから3.3Vか5V出てくる
アリで3.3V版買ったら5V版が送られて来たので、それを説明する為の写真 皆さんありがとうございます!
Lチカで調べる、レギュレータ(水晶振動子?)を確認する、または>>139さんの方法で調べる、この3パターンなのですね。
素人にも分かりやすいのは139さんの方法でしょうか。
ブレットボードを1個(2個?)、USB付きジャンパーケーブル?、チャージャー?を2個買えばできそうですね!
とりあえずこれ買っとけ的な鉄板部品とかないでしょうか…? >>140
>>139は素人に説明するための写真なので、
自分が判ればいいのならUSBドクター2個買う予算があるならテスター買ったほうがいい
あとUSBに7V流すべきではない
最初に作ったほうがいいのは
・LEDと1k抵抗をハンダ付けして熱圧縮チューブで保護したもの
これはLチカだけじゃなく、正しくIO出力してるか確認に使ったりするので複数あると便利
・写真にあるようなUSBからブレッドボードに5V給電するコネクタ >>142
それ、以前は差別用語や〜と思ったが、非韓三原則的に正しいなといま思う ちょん切るの語源は、演劇の終わりの拍子木の擬音語。終わり、端っこの意味になるよ。 丁髷の髪型を発売しておいてNGワードにしてた
某国製オンラインゲームがあったなw 各国のオリンピック代表のまとめサイトはないれすか? UNOの書きこみにUSB Seerial(FTDI) を使用しています。
UNOのTX と RX ポートで接続しています。
下記のエラーが一旦出ると、解決する方法が見つからなくて。
色々といじっているとそのうちに書き込みが出来たりします。
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM4
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
avrdude done. Thank you.
スケッチの書き込み中にエラーが発生しました >>148
内蔵シリアルにはDTR使った自動リセット回路も付いてるからTXとRXだけ繋げて別のシリアルアダプタから書き込むならタイミング合わせて手動でリセットしねぇとダメ USB抜き差しした時にポート番号変わっててプチハマリする時あるね それはたまにあるけど
> Using Port : COM4
これが出ないからね >>141
お返事遅れました、詳しくありがとうございます!
その2つをとりあえず作ってみます。
アリエクで不良品が来た時の対策として5vが知りたかったので、テスターでも同様のことができるかどうか、調べてみますね! こんばんは
多重帰還形BPFで質問です。
画像のような回路でLTspiceまわしてみたんですけど、なぜか出力にオフセットがのるんですよね。
オペアンプをJ-FETのものにしたら、かなり減るんですよね。
入力バイアス電流が関係してるんですかね?
https://i.imgur.com/Du3Hihl.png
https://i.imgur.com/5jsqQkh.png >>154
+入力も270kΩを入れるか、抵抗が小さく、コンデンサが大きくなるように定数を変えたら? >>154
出力を負荷R4に直接接続するな
負荷に繋ぐ前、シリーズにコンデンサを入れろ >>156, >>157
スレチなのに返信してくださりありがとうございます。
+入力に抵抗を入れてみましたが、オフセットは小さくなったのですが、位相がずれてしまいました。このBPF
BPFの出力を後で差動増幅するのでちょっと厳しい印象です。抵抗を小さくするとR1の値が30Ωとかになってくと思うのですが、電流流れ過ぎないですかね?
157さんがおっしゃってるように、出力にコンデンサを直列で入れるのがよさそうな気がしますね。位相が変わるんじゃないかと思いましたが、案外変わらないもんですね。 Arduino同士のi2c通信で General Call を使いたいのですが、i2cアドレスを0にすれば General Call になりますか。
Slave側で僕はGeneral Callに対応するよ!みたいなフラグを立てる必要がありますか。 >>159
0にする必要は無い。つうかしてはいけない。
ライブラリが真面目に実装されていれば対応するが、そこまでは知らん。
[IF] I2CのGeneral Callとは?どんなICでも使える?
https://www.videotech.tokyo/2020/06/i2c-general-call-address.html >>160
>ただし、masterがデータの送信先アドレスを000 0000としてデータを送信すると、
>接続されている全てのslaveにデータを送信することができる。
>この送信方法をGeneral Callといい、このアドレス0をGeneral Call Addressと呼ぶ。
で0にせずにgeneral callってどうすんの? >>160は、>>159を
(スレーブの)i2cアドレスを0にすれば General Call になりますか。
と解釈したのかも。
彼がリンク先を引用して言いたかったのは、 General Call に対応していないものも多いし、必要なんかな? だったような気がする。 Arduinoでスレーブの General Call に対応したことがなかったので調べてみたら、こんな情報があった。
I have enabled receiving broadcasts by setting the low-order bit of the TWAR register.
URLを書こうと思ったらNGワードではねられる。こまったな。 >>164
そこです。ありがとう。
URLの見え方が違ってた。 Arduino Pro Miniの件で質問します。
ヤフオクで購入したPro Mini(互換品)なんですが、出品者が基板のLチカ確認後発送した物です。
当方はヒューズ上位バイトのBOOTRSTをデフォルトの「0」から非プログラムの「1」に変更し、
hexファイルをAVRライターで書き込みました。
動作確認の為、電源を入れてシステムの起動をTestしましたが、何故か何の反応もしません。
ピンヘッダー等の芋ハンダもテスターで全て確認したが正常でした。
部分的に正常な機器と変えて見ても、Pro Mini本体に反応がありません。
マイコンを見るとATMEL M328P U-CN と記載があります。
以前、AliExpressで同じPro miniを購入時は今回と同じhexで問題なく動作してます。
何か気が付く事が御座いましたらアドバイス願います。 Arduino Pro Mini側のリセットボタンを押しながら、
Arduino IDEのアップロードを実行し、
FTDI-USB変換ボードのTXが光った瞬間に、
Arduino Pro Mini側のリセットボタンを離す。 >>167
私宛で良いのかな?
上にも記載しましたが、BOOTRSTを0→1にしてブートローダー無効にしてますので
Arduino IDEは使用しないで、コンパイルした"hexファイル"からの起動です。 >>168
AVRライターは何を使ったか?
当然、書き込み後ベリファイはした?
書き込んだプログラムはでかいのか/どんな機能か?
出品者(のLチカ確認)は信用できるのか?自分でLチカを書いてテストしたか?
基板の写真は? >>168
ブートローダの有無でベクタテーブルの位置とか違うんじゃなかった?
そのhexとやらは正しくリンカの設定でコンパイルされてるのか? >>166
>出品者が基板のLチカ確認後発送した物です。
到着してLチカ確認はしてる?
他に動作しているProminiがあるならバックアップとリストアのバッチコマンドを作ってコピーしてみては? みなさまアドバイスありがとう御座います。
>169
FT232RL USBシリアル変換モジュール+ftavrw-GUI(ソフト)です。
hexのサイズは38KBです。
Arduino UNO R3、Nano v3.0、Pro mini等で20台前後今回と同じhexファイルを書き込んでいます。
今回は初めての動作不良です。
LチカはIDEで自分も確認してます。
>>170
>>169と重なりますが、Arduino UNO R3、Nano v3.0、Pro mini等で20台前後今回と同じ
hexファイルを書き込んでいます。
今回は初めての動作不良です。
>ブートローダの有無でベクタテーブルの位置とか違うんじゃなかった?
初心者の私にはアドバイス内容が不明です。
>>171
Lチカは自分でも確認してます。
以前Aliで購入したPro mini(今回と同じhexファイルで動作確認)は処分して今は無いです。
UNO R3互換品はありますが、同じ"hexファイル”ですから・・・ >>172
もっかいISCP繋いでヒューズ3つとも読んでここに貼ってみ >>172
328Pならば無印だろうがAU,MU,U-xxだろうがヒューズビットは全部同じ
328PBはExヒューズがちょっと違う
なのでUNO R3、Nano v3.0に行ったと同じ手順なら問題無いはずだけど
指定通りに書き込めて無い可能性もあるので、ロックビットを確認して
中身をHEXで取り出してみると解決の糸口が見つかるかも知れないね 施錠ビット:ブート ローダ領域 RW禁止になってる
001111
↓
111111
これでリトライ >>177
lock bitsを下記に変更
https://i.imgur.com/YVkU57M.jpg
リトライしましたが、何故か起動出来ません?
LEDも点灯してるし、AVRライターで書き込みも出来るのに
システムが起動しない・・・昨日から嵌ってます。
Pro miniのパーツが不良ならAVRライターでエラーになる筈!
何故だ・・・・・・ そのプログラムのhexじゃなくて別ななんか動作確認出来るやつを書き込んだらどうなるの
出来ればAtmel Studioで適当にポートを操作し続けるだけのでも作って >>179
別のhexを書き込みトライしましたが起動しません。
Lチカしか試していなかったので、購入時に戻してIDEからスケッチを試してみたいと思います。
今回、ブートローダーを消去してしまったので、ブートローダー入りの互換機が無いので、
偶然、7月の初めにAliExpressにNano v3.0を発注してありますので、到着したらBootloaderを書き込んで
試してダメなら廃棄します。
※今回、多くの方にアドバイスいただきありがとう御座いました。 >>180
ArduinoIDEのボードマネージャーにbootloaderのhexが入ってるのでなくてもできるよ
ツール->ブートローダーを書き込む
ブートローダーなし場合はヒューズの設定だけしてくれる 配列の最後尾に新規の値を入れて更新してくのって出来ないんだな… 初めから大きめの領域確保しといて追加するか新しいバッファを確保してコピーして追加するか >>183
リスト構造のようなのは後者の実装が多いね。
頻繁にコピーが起こらないように10個ずつ容量増やすとかやってるねえ。 構造体に次の構造体のポインタをメンバとして持たせる。
それを繋げてリスト化する。前の構造体のポインタも持つと逆からの
参照も可能になる。
途中のデータ削除も前後のポインタを変更して、free()するだけ。
削除リングを作っておいて、そっちに放り込んで、後でまとめてfree()するのもあり(ガーベージコレクト)。
が、Cの基本実装だけど、
今となっちゃ ArduinoSTL インストールして、
List+Iterator か Vectorクラスが現実的な所かな? ArduinoUNO買うか…ArduinoDUE買おうか…悩んでいます…。
将来的には…組み込み制御C/C++の仕事がしたいと思っています…。
ArduinoDUEで…C++使った方が…楽だと思うんですが…
やはりArduinoUNOで…強制ギプスした方がいいんでしょうか?
SRAMの問題です…。 リッチなデバイスでc++でやるなら普通のLinux上のプログラムとたいして変わらないから
勉強するならプアなデバイスでCをやってみるのがいいと思う
今後c++で開発するとしてもその経験はとても役に立つよ 100V機器制御用のDC5Vパワーリレーからの接点ノイズ対策に
ダイオードの代わりにLチカ用LED使っちゃダメかな? >>193
LEDはVfが高いから効果は限定的。
他の回路が壊れるかもだから自己責任で。 接点ノイズ対策ってどんなものを言ってるんですか?
接点って、この場合100VをON/OFFしている接点ですよね? ああ、接点じゃなくてコイルか…
コイルに流れる電流を切った時にGND介して回り込んでくるやつ
この場合にダイオードでガードしようかと >>197
196氏が書いてるけどLEDは他のダイオードと比べて逆耐圧がめちゃ低いので >>198
そうだよね
Lチカで壊したことあるし、普通のダイオード使おうか arduino IDE でコメントに日本語使うと、カーソールの位置がずれてまともに書けなくなるんだがうちだけ?
全角文字を半角1文字として数えているせいで、ずれが発生しているように見える
環境は、Win7 に Arduino IDE 1.8.15
1年ぶりぐらいに起動してバージョンアップしたら起き始めた >>200
同じ環境だがうちではその現象は発生しない
Win7, IDE 1.8.15, Google日本語入力 >>200
Arduino IDE 日本語 文字化け
でググってみ んー、文字化けとはちょっち違うみたいで、何やっても直らんかった
古いバージョンも試したけどだめで、結局 2.0.0 beta 入れてみたら直った 生田勇人(39)
高知市朝倉中学校卒業
恐喝と暴行、偽証、傷害により逮捕、起訴。
取り調べで「事実無根」と容疑を否認。
卓球所に松岡学(39)と出入りし賭け試合を被害者に強要、一回ミスったら1000円払えというルールを強要。
2万円を取ろうとした。親にチクったらただじゃ済まんぞと被害者の胸倉をつかみ2000円を脅し取り、後日腹を殴った疑い。
生田勇人の両親も被害者の親にたかっており親子でたかっていた疑惑がある。 tone関数で狙った周波数がのパルスが出てくれないのですが何故でしょうか。
atmega328でtone関数使って38kHzのパルスを作ってみました
結果オシロで測ってもテスターの周波数計で測っても56kHzくらい出てるんだけどなんでだろうと思い
frequencyを30200まで下げたら38kHzになりました。
結構ずれるものなのでしょうか? DFPlayer miniのDAC → 可変抵抗ボリューム(100KΩ) → PAM8403(ボリューム無し版)→ 3Wスピーカー
上の接続でめちゃくちゃ音がうるさいんですが・・・
DFPlayerの「IO 1」ピンでボリュームを最低の1に下げても、まだうるさい・・・
ボリュームをもっと高い抵抗値にしたほうが良いんですか?
ボリューム付きのPAM8403は確か20KΩだったはずなんですが・・・ ボリュームの配線ですかー。見直してみますー。ありがとうございます。 >>207
ボリュームを最小に絞ってもうるさいと言うのは明らかにつなぎ方がおかしい。 ブラシレスモーターを回したくてとりあえずESCとA2212ってモーターをポチって繋いでみたけどうまく回らん...
なんでや >>210
分圧するからね。
GNDにつながないとダメよん。 一応Arduino(に繋げてる)モノだからここで質問していいと思って質問します。
秋月電子のGPSキット(みちびき3機受信対応)のボーレートを115200bpsにして(それは成功した)、
Arduino UNO互換機(ELEGOO UNO)にソフトウェアシリアルで接続してみたところ、何もデータを返して来なくなってしまいました。
また、Seeed Wio TerminalというArduino互換機のハードウェアシリアルにも接続してみたのですが、同じくデータが返ってきませんでした。
どちらの互換機でも、初期設定の9600bpsならば(ソフトウェア・ハードウェアシリアルどちらでも)正常に動作していました。
そのため、一体何が原因でデータが送られないのか、わかりません。
PCとUSBシリアル変換器でつなぐとそちらは正常に動作します。なのでキット自体が壊れたわけではなく、なぜかArduinoと115200bpsで通信出来ない、ということだと思っています。
なぜ115200bpsにこだわるかというと、Seeed Wio Terminalに他のセンサ(LiDAR)を繋げていて、そちらのボーレートが115200bpsだからです。
LiDARセンサのほうは、一応ボーレートの変更にも対応しているようですが、そちらの設定方法がサポートに問い合わせてもよくわからなかったので、115200bpsに固定しています。
加えて、LiDARを115200bps、GPSを9600bpsで接続するスケッチも動作させてみたのですが、そうするとLiDARのデータがバグって変な値を示すようになってしまうので、ボーレートの混在は不可能という結論に至っています。 >>214
その115200の設定は電源入れる毎にやらなきゃあかんやつじゃねーの
最初はLiDARのデータが化けるの承知で9600でGPSの設定を変えてそれから改めて115200で接続せえ あとそもそもUARTは1:1の通信だからGPSで9600でLiDARが115200だろうが一切関係ないじゃん
まさか同じシリアルポートにどっちも繋げてるんじゃないだろうな
最悪どれかぶっこわれるぞ GPSとセンサーの出力が突合する状態で使用したので、GPS出力段が破壊されが弱くなってしまい
・高速通信(115k)で受信できない
・相手によって(PCはOK,UnoはNG)受信できない
の症状が出てるのでは?
UNO-GPSで受信できない時点でなんかおかしいだろ UNO互換機(ELEGOO UNO)とPCは115k通信できるんだろうか? >>215
その設定のままUSBシリアルにつなぎなおしたりするとしっかり115200で認識します。
なのでGPS側のボーレートは115200になっているはずなんです。
>>216
別のポートです。LiDARはハードウェアシリアルのピン、GPSはソフトウェアシリアルが効くピンに接続しています。強いて言うならほぼ隣接してますが、それがデータバグの原因になり得るのでしょうか?
そもそも、ソフトウェアシリアルを9600で初期化するとバグってしまうので、GPSを接続しているかどうかは関係ないと思っています。
>>217
UNOと接続だけなら出来ているっぽいです。GPSキットのLEDは点いてますし、while(Serial1.available() > 0)内でSerial.println("WHILE_____")が返ってきているので。
ただ、そのあとにGPSのデータをシリアルに出そうとすると全部0になってしまっているのです。
>>218
UNO-PC間は115200で接続出来ています。ArduinoIDEから115200でシリアルモニタが見れているので。 GPS受信機キット 1PPS出力付き 「みちびき」3機受信対応
[AE-GYSFDMAXB]
・入出力信号レベル:C-MOSロジック(3.3V)レベル、非同期シリアル信号
・UART通信速度:9600bps(デフォルト)、4800~115200bps
UNOは入出力信号レベル:5V
LiDARは不明
3 to 5 ならケーブル長くしない限りあまり問題は発生しないと思うけど 急に家のネットが切れたのでスマホから書き込んでます、>>214です。
>>220 ケーブルは結構長いかもです、窓の近くまでジャンパーケーブルを使って延長しているので…1.2mくらいかな?
>>221 delay500ms入れましたが挙動に変化はありませんでした… ソフトウェアシリアル(9600)がバグってるのがまずヘンだね…
まさかのIDEのシリアルモニタ側が9600にセットされてないとかないだろな みなさん色々ありがとうございます。
私の方でも色々と試行錯誤しているのですが、やっぱりソフトウェアシリアルを9600にするとLiDARのデータがバグりますし、
GPSを設定ソフトで115200にするとGPSが読めなくなってしまいます(そうするとLiDARは正常に動作)。
試しにPCとの接続を9600にしてみたのですが、それではLiDARがバグることはありませんでした。
その状態でソフトウェアシリアルを9600でbeginすると、やっぱりLiDARがバグります。
他にも、ソフトウェアシリアルの速度を色々替えてみたのですが、57600にしてみるとLiDARがバグらなくなりました(38400の時点でおかしな数値が減っていた)。
なのでGPSのほうを57600で設定したのですが、それでもやっぱりGPSは読めなかったです。
今のところ、思いつく解決案は、なんとかしてGPSを115200で読めるようにするか、ソフトウェアシリアルを9600にしてもLiDARがバグらない方法をなんとかするか…くらいです。
すでにPCとは接続出来ているGPSを何とかするほうが現実的だと思う(すでに他機器では読めているから)のですが、どうすれば読めるようになるのか全く検討もつきません… >>225
ソフトウェアシリアルはビジーウェイトで作られてるので通信実行中は他の処理をブロックして通信する
9600bpsなんかやったらハードウェアの方の115200bpsで送られてくる連続データの受け取りが途中でブロックされてバイト欠けして壊れる
ハードウェアUARTを2つ以上持ったArduinoに変更するか、標準でない改良されたソフトウェアシリアルのライブラリを使う
例えばこれ
https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
これならボーレートは9600でいい(速くするとそれはそれで忙しいため)
こっちはビジーウェイトじゃないが、かわりにタイマー1を占有する
リンク先のSerial Port Optionsに書いてある通りの事が起きてるだけ(Google翻訳でもいいから読め) これは328PBなのでハードウェアUARTが2つある
https://aliexpress.com/item/32864165819.html
シリアル2に接続したGPSのデータを、シリアル1のコンソールへ垂れ流すだけのスケッチでリソース比較
HardwareSerial版 スケッチ 1900バイト,RAM 341バイト
SoftwareSerial版 スケッチ 3426バイト,RAM 301バイト
AltSoftSeria版 スケッチ 3278バイト,RAM 378バイト >>228
何回か買ってるけどどっち届くかはランダムだよ俺はBじゃないほうが多い
レビューの写真も見てみ >>229
そうなのか、今まで4回買って8個ともPBだったからしらなんだ >>227
ありがとうございます。
リンク先のAltSoftSerialをインクルードしてみました…が、なぜかWio Terminalに対するコンパイル時にエラーが発生しました、となってしまいました。
Seeedのフォーラムの方にも書き込む予定ですが、#include <AltSoftSerial.h>をコメントアウトすると正常にコンパイルされるので、非対応なのかまたなにがしかのエラーが発生しているのか…という感じです。 >>231
UNOじゃないんかい。arduino言語に対応してるからといってarduinoのすべてのライブラリが使えるわけじゃない。 >>231
使ってんのはUno互換機じゃねぇの?最初にそう書いてただろう ごめんなさい、UNO互換機はデバッグ・検証用のもので、実際に実装してみたいのはSeeedのWio TerminalというM5Stackみたいなやつです。
なのでAltSoftSerialが動かないのかもしれません。 アーキテクチャが異なるもんで検証・デバッグてなんの意味があんだよ
組み込みの抽象化レイヤはそこまで高性能じゃない
ましてやArduinoなんて… ATSAMD51かよ
そんなリッチなペリフェラルのマイコン使っといてソフトウェアシリアル…
余ってるハードウェアUART使って解決
おわり >>236,237
そんなにUARTポートあったんですねこれ…
参考にしたところがだいたいソフトウェアシリアルを使っていたのと、2つ目以降のハードウェアシリアルの使い方が分からなかったのでソフトウェアシリアルを使ってました。
wikiのリンク先を読んだのですが、
static Uart Serial○(&sercom4, D○, D○, SERCOM_RX_PAD_1, UART_TX_PAD_0);で定義して、
初期化したあとにpinPeripheral(D○, PIO_SERCOM_ALT);を入れればハードウェアシリアルが使えるってことでしょうか? それそのもののことは持ってないし詳しくは分からんがsercomはUARTだけでなく他の通信も担ってるから
4を使おうとしてるがそれが空いてるかどうか確認したほうがいいんじゃないかな
それのコアの初期化がどうなってるか見たらそれも含めて全部分かると思うよ 初歩的に質問で恐縮です。
中華製のPro Mini ATMEGA328P-MU(黒基板) なんですが、ブートローダーの修復をしようと
チャレンジしましたが、何故かエラーで書き込み出来ません。
何度も経験しているので、書込み装置(互換品のAtmega328P-AU)から
Pro Mini ATMEGA328P-MUへジャンパーケーブルで接続、 Arduino ISP画面の
ボード・シリアルポート・Arduino as ISP -> ブートローダーを書き込む
何度かトライしましたが、"書込み途中でエラーが発生しました"で赤くなり終了
今回、ATMEGA328P-MUは初めてですが、従来の方法と違うのでしょうか? まずIDEにそのクソみたいな省略されたメッセージを出すのをやめさせてエラーの内容を確認するところから覚えよう
オプションにエラーを全て出力するのがあるはずだ >>240
prominiは6pinのFTDI ピンヘッダが逆になっているものがあるので
シルク印刷のピン名をよく見ずに「いつものやりかたー」とかいいながらやってると
Vcc,GND逆にして大惨事になったりするので注意 >>241
環境設定ですね
了解です。
>>242
何度も確認してますので間違いないです。
>>243
参考しているURLが同じで書込みしてますが、エラーで困ってます。 >>242
>>244
まて怪しいぞ
>>244がFTDIピンヘッダという話に疑問を持っていない
ブートローダーを書き込むならISCPであってその部分はノータッチのはずだ このどのように接続したか言わない質問者は
ISCPのうちVccとGNDをFTDI ピンヘッダから取ってるかもしれない こういうヤツが「接続は何度も確認したけど合ってます」って言うときは「接続を間違えていて出来ません」って意味なンだよ まーでもUnoをプログラマにしてArduino as ISPを使うって書いてるからICSPではあるんだろうが・・・
写真の1枚でもあげりゃいいのにな 青基盤も黒基盤も赤基盤もFTDIピンヘッダくらいしか違いはねーもんな
もしかしてRAWにVCC繋いでるんじゃねーかな 下記URLを参考に書込み装置 -> ターゲットを接続して"ブートローダーを書き込む"実行
してますので、間違いは無いと思います。
https://ht-deko.com/arduino/bootloader.html んじゃ写真あげたら?
で、avrdudeからの実際のエラーメッセージは? >>248
> 書込み装置(互換品のAtmega328P-AU)から
UNOの文字ははっけんできないがw
少なくとも俺はAtmega328P-AUを搭載したNANOとProminiを持ってる、
どちらもbootloader書込み装置として使える >>254
そうじゃなくて実際の写真じゃないと・・・
例えば中華製のショボイジャンパケーブル使ってるじゃんそれ結構すぐ断線するぞとか
接続されてる場所以外にも写真で分かることって多いのよ >>255
確かにジャンパーケーブルもPro mini・NanoもAliで購入した物です。
IDEも1.8.15とPCも変えてIDEの1.8.9でケーブルも変えて試してます。
上記のURLにPro miniは下記記載があります。
MCU: Atmel ATmega328P (※古い製品には ATmega168 が使われている)
ATmega168(5V,16MHz)は試していませんが・・・ >>257
で何度も言うけど実際にプログラミングは何のエラーで失敗してるかの投稿はなんでしないの? >>257
ATmega168の場合は「CPUのIDが違う」といったエラーメッセージになるよ >>258
散々弄りまくってエラーで挫折
ブートローダーは一旦止めて
今は、Pro miniに非プログラムを書き込んで動かしている状態なんです。
再度、組には時間が必要です。
但し、何でエラーなのか気になり、ここに質問させていただきました。 >>214です。
ttps://gist.github.com/ciniml/bd2bb4dea22a55c067ca6790ad0c3eae
の通りにwiringprivate.hをインクルードし、static Uart Serial3(&sercom4, 3, 2, SERCOM_RX_PAD1,UART_TX_PAD0)
と入れてsetupでSerial3.begin(9600)したのですが、反応がありません。デバッグ用のシリアルプリントからすると、どうやら接続すらされていないみたいです。
なので、何度もお聞きしてすみませんが、今度はUARTポートの開け方(ピン指定の仕方?)をご教授いただけますでしょうか? >>261
これ
この質問者、なんで言われたこと聞かないんだろうね?
統失?単なるスレ荒らし? >>263
高齢者なんだと思う。
高齢者は人の言うことを聞かない。 Arduino:1.8.15 (Windows 10), ボード:"Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)"
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM6 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM6
Using Programmer : stk500v1
Overriding Baud Rate : 19200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf3
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xce
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xef
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xf8
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xf3
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xca
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xf8
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xd2
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xfc
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xde
ブートローダの書き込み中にエラーが発生しました。
https://i.imgur.com/CMpWRsE.jpg ソフトウェアシリアルはlisten()で切り替えてるのかな? >>266
1)NanoのUSBコネクタを挿すとProminiのPowerLEDが点灯するか?
点灯しない→VccとGNDのケーブルを交換
点灯する→OK,次のstepへ
2)USBコネクタを抜き、NanoとProminiのピン間をテスターで測り1Ω以下であることを確認する
テスター棒はピンソケットのはんだ部分にあてる
それぞれ、11-11,12-12,13-13pin
導通がない→ケーブルを交換
導通がある→OK,次のstepへ
3)Nanoの10pinとProminiのresetをテスターで測り1Ω以下であることを確認する
導通がない→ケーブルを交換
導通がある→なにかの呪いです >>267
「listen()」関数に関しては・・・・
>>254 -> Nano(書込装置) -> ジャンパーケーブル接続 <- Pro mini(ターゲット)
ブートローダー書き込み(書込みエラー)
但し、Pro mini 非プログラムからの起動は問題無く動きます。
>>268
> 1)NanoのUSBコネクタを挿すとProminiのPowerLEDが点灯するか?
> 点灯しない→VccとGNDのケーブルを交換
> 点灯する→OK,次のstepへ
A:点灯します。
但し、正常な場合はPro miniの書き込み時にLEDが点灯しますが、今回は無反応
> 2)USBコネクタを抜き、NanoとProminiのピン間をテスターで測り1Ω以下であることを確認する
> テスター棒はピンソケットのはんだ部分にあてる
> それぞれ、11-11,12-12,13-13pin
> 導通がない→ケーブルを交換
> 導通がある→OK,次のstepへ
A:導通がある(0.2〜0.3Ω)
> 3)Nanoの10pinとProminiのresetをテスターで測り1Ω以下であることを確認する
> 導通がない→ケーブルを交換
> 導通がある→なにかの呪いです
A:導通がある(0.2〜0.3Ω)
https://i.imgur.com/fSZD1zu.jpg 書き込みエラーで困った時のIDEの再インスコしてみなよ 作品が増えて色々と稼動してるとCOMポートミスをやらかす
ソースは俺 自分は初心者の頃に一度、中華の自分でヘッダーピンをハンダするの買って
ヘッダーピンのハンダ不良とかあったな
結構そんな単純なミスじゃね? avrdudeのエラー時のターゲット328Pからの応答の値が10回で全部違うから物理層じゃなくてプロトコルでなんか問題ありそう
繋がってないとかでそもそも応答して無かったらそこの値は10行で全部同じだし >>271
>>257でも記載してますが、PC変えIDEのバージョンも1.8.9でケーブルも変えて試してます。
中華の"なんちゃってマイコン"なので、全く同じPro miniでないと書込み不可だと判断してます。
非プログラムは動作するので諦めます。
※皆様アドバイスありがとう御座いました。 >>266
> C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM6 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m
-cstk500v1
書き込み装置を"stk500"にしてるだろ
Nanoを書き込み装置にする場合は"Arduino as ISP"にする
すると -c パラメータが以下になる
-carduino >>276
今はstk500だよ
確かArduinoISPのRESETに10uFのcap刺さなくて良くなったときからだったかな ArduinoISPとArduino as ISPは別物、スケッチのuploadと混同してないか?
ArduinoIDE1.8.9ではavrdudeのパラメータが変わる事は確認済み その記事の1.0.xの話じゃない まとめ
[スケッチのupload]
書き込み装置を何にしても適切なものが設定される
Nanoの場合は必ず -carduino になる
[bootloaderの書き込み]
書き込み装置の設定に従う
"atmel stk500" → -cstk500v1
"ArduinoISP" → -carduinoisp
"Arduino as ISP" → -carduino
・ArduinoISPとArduino as ISPは別物
・Nanoを書き込み装置にする場合は"Arduino as ISP"にする >>214です。
何回も質問してすみません。
色々と調べてみたのですが、結局Wio Terminal(ATSAMD51?)のシリアルポート(UART)の開け方(ピン指定の仕方)がわかりません。
どのようにしてsercom?を使うのかなど、不勉強なのはわかるのですがどこから調べればいいかすらわからず…。 >>279>>280
いや残念ながら間違ってるのは君のほうだ。もう-c arduinoなんてオプションは使われていない。
ウソだと思うなら自分で書き込み装置をArduino as ISPに設定してブートローダーを書き込むを押してみ。
IDEが吐いたコマンドを確認しな。 追記
あと>>278の先の書き込みは「Arduino as ISP」の話で「ArduinoISP」の話なんて全く出てきていない。 >>283の使われていないってのは「Arduino as ISP」を利用しての「ブートローダーの書き込み」や「書き込み装置を利用しての書き込み」のハナシね
念のため 小出しにしないでIDEのバージョンと>>280みたいにまとめてくれよ >>286
そもそもコマンドをまとめる必要なんてないよ。そもそもたぶん>>266自体書き込み用のコマンドなんか自分で書いてないと思う。
IDEからプログラマを選んでブートローダーを書き込むってメニューを選んでるんじゃないかな。
avrdudeに渡すコマンドはそれで自動的に渡されてるだけだと思う。 >>289
それが、リンク先の通りにコードを書いてみたのですが、やっぱり動いてくれません…
https://imgur.com/Xq2IWoM
https://imgur.com/LEjhY1v
↑のようにコードを書いたのですが、なにか間違っているところがあるのでしょうか?
ピン番号は、それぞれソフトウェアシリアルで動かしていたときと同じなので間違っていないはずです。 中華のなんちゃってマイコン買うと大勢の人を困らせるってことはわかった STM32F103買ったらCPUのピンがブリッジしてて動作しないのがあったな
修正して動くようになったけど
そのプロミニもSPI関連の3本のうちどれかが浮いてるんじゃねーかな
D11,12,13でLチカしてみたら故障箇所が発見できるかも知れない >>290
当然 "リンク先の通りに" 必要な割り込みハンドラは追加したんだろうな? >>294
void SERCOM4_0_Handler()
{
Serial3.IrqHandler();
}
…以下0の部分が1〜3に変化
上記のコードは入れましたが、何も変化はありません…
この割り込みハンドラの使用先が見当たりませんし… 公式にないなら対応してないのでは。コアのマイコンの全機能がarduinoから使えるわけじゃないし。 >>295
sercom4はそのピンに繋がってないじゃん
データシートちゃんとみろ
パッドも違う
>>296
Arduinoはラッパーみたいなもんで結局ははc++でマイコンいじくってるだけ
物理的に繋がってない以外に使えない理由がない
そもそも>>295が使おうとしてるピンは標準でI2C用にしているだけだし
それもsercomでやってるし… >>292
>中華のなんちゃってマイコン買うと大勢の人を困らせるってことはわかった
※皆さまごめんなさい <m(__)m>
>>293
購入時に動作確認の為、Lチカを確認してまして、非プログラムを
動作させる為に購入したので、ブートローダーとヒューズビットをイレースし
非プログラムのhexファイルを書き込んで使用していましたが、手放す予定が
出来て、それで、購入時に戻そうと今回の書込み不良となりました。
約150回前後のAliExpressでの購入ですが、今回が初めての呪われたマイコンとなりました。
ヒューズビットも、hexファイルも書込み出来るし、非プログラムでは問題なく動作します。 スケッチのことだと思うんだけど、非プログラムというのは何なんだろう
>ヒューズビットも、hexファイルも書込み出来るし
ブート領域のプロテクションは328pには無かったよな、つか領域の一部を
Arduino「今よりここをブート領域とする」と勝手にやってるだけだし >>300
あるよ
ブート領域サイズの定義もヒューズだしロックビットも領域毎にある
割り込みベクタの位置と変わるし そもそもブートローダーを書き込むってブートローダーのhex書き込んでヒューズをそれに合わせて設定してるだけだし
普通にマイコン使うのと何も変わらない
非プログラムとかいう馬鹿みたいな造語使う奴は一般人には理解できるはずないよ 中華Pro Miniで一度書き込んだ後二度目から書き込めなくなることは俺も経験したし
他の人も経験して>>167みたいな対処法をブログに書いてる人もいるくらいなんだけど
やってみた? >>290
そのボード持ってねえからURLのサンプル見ただけだけどこんなんじゃねえの
Uart mySerial(&sercom3,46ul,45ul,SERCOM_RX_PAD_1,UART_TX_PAD_0);
void SERCOM3_0_Handler() {mySerial.IrqHandler();}
void SERCOM3_1_Handler() {mySerial.IrqHandler();}
void SERCOM3_2_Handler() {mySerial.IrqHandler();}
void SERCOM3_3_Handler() {mySerial.IrqHandler();}
void setup() {mySerial.begin(9600);}
void loop() {
delay(1000);
mySerial.println("Hello Wolrd"); // RXD = GPIO2 , TXD = GPIO3
}
これコンパイルして書き込める?
TXDはGPIO3になるからなんかPCのUSB-UARTで受信してみて >>300
>スケッチのことだと思うんだけど、非プログラムというのは何なんだろう
ブートローダーは無効 -> 上位バイトのBOOTESTを0から非プログラムの1へ変更し、
専用のhexをAVRライターで書き込んで使用してます。
>>302
>非プログラムとかいう馬鹿みたいな造語使う奴は一般人には理解できるはずないよ
非プログラムは造語ですか?
下記を参考に記載したんですが・・・
https://i.imgur.com/Jibavvf.png >>305
データシートはメーカーが発行している最新版以外見てはいけない
そんなもんを公開してるサイトはろくなもんじゃない
そして完全に造語である
あと自分で別のAVRライター使えるならなぜそれでブートローダを書き込まない?アホなのか? >>305
「専用のhexをAVRライタで書き込んで」って、おいっw
最初からそれでbootloaderを、、、
あと単にunprogrammedは1 programmedは0と言う意味しか無いよ。flashメモリはイレースするとビット1になることに由来してる。 programmedは回復不能なヒューズだった時のなごりなんだろうけど、
なんでwriteやsetやstoreやsaveじゃねぇんだって気もする >>307
IDEに入ってる"optiboot_atmega328.hex"AVRライター(FT232RL)で書込みしたんですが、
何故かエラーで書込み出来なんですよ
それで、書込み装置を使ったブートローダーに挑戦して皆さまにご迷惑を・・・
しかし、何故か使用目的の.hexは書込み出来るんです。
スレ汚してスミマセン
これで最後にします。 初めまして。初めて1ヶ月程度のペーペーなんですが質問させていただきます。
PWM出力のピンを無線化してもう1台の
arduinoのアナログピンに差したいのですが、1番良いツールって何なんでしょうかね?調べてみたらhc-05とか06とかxbeeとか出てきたんですけどこれ買えば問題なく出きる感じですかね?他にも何か良い方法があれば教えていただきたいです。
使い方としてはラジコンを作ろうと思っていて、親機側のarduinoから無線で中継したpwmを子機側がアナログ端子で受け取って、遠隔操作すると言うものです。 >>312
子機側で何をしたいのでしょうか?
PWMやアナログを経由せず、デジタルな値を送るのが普通ですが。 >>312
親機からPWMを出してそれ送るんじゃなくてPWMの設定値になる値を送ってPWM出力は子機にやらせよう
んでその辺の無線モジュールは技適が取れてないから電波法違反になる可能性が高いのでここで簡単にそれを使えとはこちらからは言えないんだ・・・
警察する気も呼ぶ気もないから使えとも使うなとも言わん >>313
親ディーノにジョイスティックが付いてるんですけど、そこから得た情報を子機ディーノに送り、子機に繋いであるモーターを回そうとしてました。 >>314
なるほど、デジタル情報を子機に送ってAD変換させるってイメージでしょうか?
技適問題やっかいですよね...
hc-05とか安いのだとだいたい技適で駄目なんで、屋外で好き勝手操作したいならxbeeとかにしたほうが良いんでしょうか... >>315
いまぐぐってみたんですけど、wi-fi操作ってタイムラグありそうですけどどうなんでしょうか
>>317
rc車程度だったら赤外線でも良いかもですね。航空機になったら不安ですけど >>320
そのURLのセットについてる送信機の電界強度は微弱無線で許される値の6倍以上あるんですがそれは・・・
>>318
秋月電子とか日本の店でで技適取れてるモジュール買えば?
Xbeeより安いのもあるよ、こういうのとか
https://akizukidenshi.com/catalog/g/gK-06759/
まぁ技適とれてるESP32も売ってるし超リッチなマイコンもついてくるわけだからそれ使えるならそれでいいと思うけどね
https://akizukidenshi.com/catalog/g/gM-15674/ まぁ別に安く上げることが正義なわけでもないし使う人の予算が許すならXbeeだろうが別になんでもいんでねーの
技適がどうの出力がどうの3mでの電界強度がどうの測定には電波暗室が〜〜〜とかここで色々言われるのもめんどくせえと思うし
技適とれてます、大っぴらに使えます!それで何も考えずにモジュールの使い方だけ覚える方がラクって考えもアリでしょ
だから売ってるワケだし、使い方で何か聞くにしてもコレ使ってるんですけどって言えば電波法に関して何か言われる心配は消えるし >>298
Microchip公式サイトにあるデータシートと、Wio Terminalの回路図を照らし合わせて、2,6,8番ピンにSERCOM0が割り当てられていたので、そのうち6,8番ピンを使用してみようと思い、PADの値も合わせて、
static Uart Serial3(&sercom0, 8, 6, SERCOM_RX_PAD_3, UART_TX_PAD_0);
void SERCOM0_0_Handler(){Serial3.IrqHandler();}
〜SERCOM0_3_Handlerまで
void setup(){Serial.begin(9600);Serial3.begin(9600);
pinPeripheral(8, PIO_SERCOM_ALT);
pinPeripheral(6, PIO_SERCOM_ALT);
…
というように書き換えてみたのですが、やっぱり動きません。
>>304
こちらのコードも書き込んでみましたが、何も反応がありませんでした。
ちなみにどのコードも、正常にコンパイルまでは通っています。 これから始める超初心者です
質問なのですが、自分が持っているテキストに
while(!digitalRead(D3));
という行があります
この、digitalReadの前の「!」はどういう意味なのでしょうか? >>324
論理回路の否定(NOT)にあたります
D3がOFF(LOW)なら繰り返しですね >>325
なるほど
前後の内容も確認しながら、読み解いていこうと思います。
ありがとうございました。 c言語の勉強はyoutubeがとてもいいね。
自分は大学でcは完全に挫折して、youtubeで理解したよ。 質問です
ブラシレスモーターをアルディーノで回そうとして、一応回って回転数もコントロールできたんですけど、一定時間したら止まってしまいます。ESCにリポバッテリーではなくACアダプターを電源として使ってるんですけど、もしかしてそれが原因だったりします? >>330
モーターはA2212、ESCは40A、アダプターは7.2Vです
これをarduinoUNOで使ってます
ESCの説明読んだら、リポバッテリー専用と書いてあったので、もしかしたらアダプターを電源にしてるせいなのかなと思ってます。一応回ってくれてはいるので。 >>333
あー電流が足りてなくてバッテリー不足と認識してescのプログラムが勝手に止めてるのかもしれないですね
帰ったら確認してみます 電流倍にしてみたら止まらなくなりました
やはりアダプターの電流不足だったみたいです
ありがとうございました 何回もの質問、申し訳ありませんでした、>>214です。
結局、前面Groveポートを一つ潰すのを覚悟で、ttps://gist.github.com/ciniml/bd2bb4dea22a55c067ca6790ad0c3eae
にあるgrove_right_uart.inoを参考にしてスケッチを組みました。
結果、無事に動作しました。
結局シロウトが1から組むものより、すでに実績のあるものを使用したほうがよかったみたいです。
前面Groveポートを使ってしまったのは少し痛いですが、もともとそこにはただのバーLEDをつなげるだけの予定だったので、LiDARともども裏面GPIOポートを使って接続したいと思います。
ちなみに、通常クロックの120MHzでは少し処理がもたついていたように見えたので、180MHzまでオーバークロックさせました。これはWio Terminalの機能なので問題はないと思います。
ただ、少し疑問が残るのが、上記参考元ではMCU_FLASH_QSPI_CS/CLKにつながっているsercom4が普通に使用できて、私が組んだMCU_FLASH_QSPI_IO0~3,RTL8720D_HSPI_MISO/CS/CLK/MOSIにつながっているsercom0が使用出来なかったことについて、
これはRTL8720につながっているsercom0はWio Terminalにとって必要であるためそちら側で使えないようになっているという理解でいいのかどうかです。
難しい質問かと思いますが、回答いただけると幸いです。 どこで聞いていいか分からないのですが
ATコマンド分かる方いますでしょうか? 初心者ですお手柔らかにどうぞ
通信装置sigfoxを使ってます
Selial2.println("AT $SF=10");
これだと10が送れます
10が整数か文字かは分かりません
int a = 10;
char buff[10]
sprntf(buff,%d,a);
Serial2.println(“AT $SF=buff");
これだと送れません
なんでだか分かりますか? Serial.printlnをするとシリアルモニタにはちゃんと表示はされてます int a = 0
char buff[12]
Sprintf(buff,"AT $SF=%d",a)
serial2. println(buff)
すいませんこうでした
コピペできないので手入力です >>344
今度は10じゃなくて0を送っているぞって突っ込みはダメかw
int a = 0 まず最初に「送れる」とは何を意味するのか説明が無いので答えようがない
エスパーするなら、おおかたエコーバックが無いのを不思議がってるか
改行コードの取り扱いを勘違いしてるかだろ 解決した
何ということでしょう
連休中ずっと悩んでてお休みが終わりました
ありがとう それは違う人です
その人のレスは私も見ましたが何のことやら分からなかったです お久しぶりです、前に質問させてい頂いた>>312です。いまだにラジコンを作ろうと奮闘しています。この前は通信モジュールを教えていただいてありがとうございました。
もうひとつ質問したいんですけど、デューティー比のシリアル通信について分かる方、もしくは詳しく説明してるサイトを知ってる方いますかね?
いまの目標としては2つのarduinoを用意し、arduinoAのデュアルスティックの傾き具合に応じてarduinoBのモーターの回り具合が変化するというものです。(スロットル操作)
この前アドバイス頂いたように赤外線での操作も視野に入れています。無線で動けばなんでも良いです。
自分でもググってみたんですけどラジコンの作り方で検索しても前進、後退、左右旋回の4つのボタンで操作するという単純な物しか見つからなかったのでここで質問させていただきます。とりあえずxbeeとhc-05をAliEXでポチりました。届くまでは有線で練習しようと思います。シリアル以外にも方法があれば教えていただきたいです。長文失礼しました どうやってデータを送るかのプロトコルなんて自分で考えるもんじゃないの
いくつかある送るべきデータをどう並べてどれくらいの間隔で送って誤り訂正はどうするのとかを >>350
アクセルであれ前進後退であれ数値を送って受信側が解釈して制御すれば良い。送信側でPWM波形を生成してそのOnOffを送信する事を考えてませんか?それは普通はやらないと思います。
ジョイスティックを変位させることで変わる電圧を測ってその値を送信。受信側で数値にあったPWM生成。 >>351
通信に関しては始めて数日なのでほんとにちんぷんかんぷんなんです
>>352
ジョイスティックだとx、y軸それぞれ0〜1023を送る感じですかね?
>>353
それだと動きがぎこちないですね
256段階あれば大満足です 4bitを3回送って24bitで1wordとする
先頭4bitは前,後,左,右,左右急転,制動反転モード,ノンスリップ制動モード,イルミネーションレベルなどのコマンド
次の8bitで0-255の数値を指定する
最後にエラー検出用に3つの4bitをxorしたsum値を送信する
これがプロトコルを自分で作るということ とりあえず理屈が分かる様に超シンプルに作ってみたら?
最初から完成版は難易度高すぎでしょ >>355
ラジコンメーカーの仕様見ると周波数ホッピング(FH)だからそれに近いbluetoothの方が有利なのかな。
あと専用品は符号化率下げて冗長ビット盛り盛りだけど、この辺りは手が出せないね。 >>355
だいたいそうだけど、通信速度 つまり1秒間に何バイト送れるのかを考慮したほうがいいよ。 質問。
スケッチのおかしな部分を指摘してください。
目的:タクトスイッチ(2)が押され続けている間はLED(6)を点滅させたい。
症状:SWを押すと一回だけ点滅して、SWを押し続けても点滅を繰り返さない。
void setup ( ) {
pinMode(2,INPUT_PULLUP);
pinMode(6,OUTPUT);
Serial.begin(9600);
}
void loop ( ) {
if(digitalRead(2) == LOW) {
Serial.println("ON");
delay(100);
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(500);
}
} >>360
スケッチはそれでいいと思う
あとは配線の写真アップして見せてくれないと何とも >>361
https://imgur.com/a/lpEH4tf
撮影のために配線し直したら上手くいきました。
と思いきや、5回に一回ぐらい失敗します。
失敗例@、SWのLEDは点灯してシリアルモニタON表示、赤LEDは点灯は一回点灯。
A、SWのLEDは点灯してシリアルモニタ無反応、赤LED無反応。
ハンダ付けの問題かと思い、6pinから5pinに変更後も変化なし。
なんででしょう? >>362
D2-タクトを直接つなぐ、LED介しちゃダメ
赤LEDに電流制限抵抗付けて >>363
ありがとうございます。
保護抵抗で上手くいきました。 まだ電子工作を始めて間も無い初心者ですが、電源用途の交流発振回路についてお願いします。
利用目的は超音波周波数帯出力で、ランジュバン振動子駆動用電源として利用する考えです。
ひとまず回路構成としては、まず3セルリポバッテリーを電源に用いて、主に村田製降圧コンバータモジュールを使います。
そしてTrim〜GND間にNPNトランジスタのコレクタおよびエミッタを接続して、ベースにArduino系ボードのDAC端子を接続して、アナログ出力でベース電流を制御することによりコンバータモジュールの出力電圧を調整します。
このときコンバータモジュールの出力経路をHブリッジ回路にして、各スイッチング素子(パワーMOSFETを想定しています)はArduino系ボードの各デジタル出力端子接続で順次ON/OFF制御して交流発振させることを考えています。
また、ON/OFF時間はdelayMicroseconds関数で調整して超音波周波数を作り出す考えでいます。
以上において実現可能であるかご教示いただけませんでしょうか? arduinoを使う必要性は何?
発振、出力調整はハードウェアでやった方が良いのでは?
バグがあってスイッチング素子がonになりっぱなしなんてシャレにもならん。 >>366
だらだら文字で書かずにチャートや回路図を持って来なよ。 欲しい電圧とか周波数のデータがないと答えようがない。 >>368
要約すると基板組み込みを想定している物は、手中サイズの携行機器で想定しているからです。
具体的にはSeeeduinoのXIAOを利用しようと考えています。
そして最終的に作ろうとしている物は、超音波気化式の電子タバコになります。
>>369
すみません、現在仕事の休憩中での書き込みだったので回路図は追って報告しようと思います。
>>371
まず要求電圧は5Vを基準にして、あとは様々な周波数帯を利用する際にランジュバン振動子の周波数特性およびインピーダンス特性にに合わせて出力電圧を任意変更する考えです。
そして周波数は例えば現在想定しているランジュバン振動子として、本多電子製HEC-1560P4Bの共振周波数が60kHzなのでこれが基準になります。 自分で実現可能なのかもわからないものを、全て教えて君だと相手されないよ。
要所を3行くらいで纏めて欲しい。長文読む方も大変よ。 >>732
>回路図は追って報告
ああ、こりゃダメだな。 >>373
すみません、伝え方が悪かったようです。
ご教示いただきたかったことを要約すると、Arduino系ボードのポテンシャルとして、ランジュバン振動子を超音波帯域で駆動するための動力用Hブリッジ式交流発振回路はそもそも作れるのか?ということになります。
一番気になっている箇所として、delayMicroseconds関数の引数を3以上にさえすれば、Hブリッジのスイッチング素子を制御する信号が問題無く出力されるポテンシャルは本当にあるのか?ということです。
>>374
ご提案有難うございます。
そういったモジュールもあることは知りませんでした。
ご提案頂いた物を流用して、自分がやりたいことに応用できないか考えてみたいと思います。
>>375
すみません、どのような部分が駄目だったのかご教示頂ければ幸いです。 おや、すまん
×>>732
○>>372
ま、本人に届いてるから許して
>>377
It's that you have not shown any schematics yet. >回路図は追って報告
いいんじゃないの? あとから出す気なら。
>>375は第一印象でダメだと思ったことを、深く考えることなくダメって言っただけでは? 周波数がわかるなら、ONOFFの間にどのくらいの時間があって、何命令分の猶予があるか自分で計算してみてくれ。待つだけならやろうと思えば1命令時間レベルで調整出来る。 初めまして、ArduinoとC言語の初心者です。
現在Arduino Uno3を用いてモーターの速度制御を行おうとしておりまして、
計測した回転速度からPWMのDutyを制御するようコードを書いてみましたが
思った通りに動きません。
設計的には回転パルスが400Hz以下であればDuty+5、パルスが500Hz以上で
あればDuty-3となるように書いたつもりです。
しかし実際の動作は980Hz(PWM出力をArduinoへ入力)してもDuty値が
220から減少しませんでした。
スケッチのどこが良くなくて想定通りの動作とならないかご教示頂けませんでしょうか。
https://imgur.com/gallery/NP2IxaR
https://imgur.com/gallery/cRab9tV 敬語の質問にタメ口で答える文化っていい加減おわんねーかなぁ 初心者だけどデューティの値が220?
+5?-3?
デューティ比ってことですか? >>378
すみません、英語は中学レベルですら全く理解できてないほど苦手なので、ひとまず単語を調べて解釈した結果、貴方(私のこと)が持っている回路図を示してないから駄目だという意味でしょうか?
>>379
それは要するに回路図を示す以前の問題で、そもそもArduinoの性能じゃ動力用の超音波交流発振回路を作ること自体駄目だということでしょうか?
>>380
すみません、その命令分の計算する上で基となる基準値は何を基準にすれば宜しいのでしょうか?
CPUの周波数のことで宜しいのでしょうか? arduinoで60kHzは出ないと思う
ESP32なら40MHz出るらしいからそっちにしたら? >>384
タメ口の質問にタマ口で答える文化のほうがいいのか 答え方が乱暴な人は聞くだけ聞いて答えられない人が多いからほっとけばよろしいのでは? 流れ的に>>383はそう思うのも無理はないでしょう >>381
タイマー系のライブラリ2つ同時に使って大丈夫か?とか色々微妙なんだけど・・・
とりあえず回転数は1秒間に何回信号が来たかを計測すればっていうロジック
なんだと思うけど、信号回数を計測する場合にはattachInterruptで信号の割り込みを
使って計測しないと、digitalRead出したときの偶々のタイミングしか計測出来ないので、
何か思ったように変化しないなぁとかなると思う
で、デジタルピン10(CNT)はHIGHの時しか考えないとして(何してるのかまったく
わからないでの)、なんでDRの加減算を256回繰り返すのかまったく意味がわからない
けど、多分rot_Uの計測は上手く出来ていないので常に400以下なんじゃないかと思う
rot_Uが常に400以下なのでとりあえずDRは220になるけど、それ以降はずーっと
最後のelseに流れるのでDRは常に220なんじゃないかな
もし想像通りならこのコードをブラッシュアップしても目的の動作は出来ないと思う
Arduinoでファンの回転数を計測するコードを検索すると、回転数っていうか一定
割り込みの周期を計測する方法がわかるので、そっちを使う方が良いと思うよ 質問です。
複数箇所から温度を取得し、それぞれをセグメントledに表示したいと考えています。
そこで初心者が複数桁の7セグメントledを制御したいとなった時、一番楽なのはその桁数だけシフトレジスタを用意するのが良いでしょうか。 初心者にはそれが一番いいね
それに慣れたら7セグ単体とMAX7219を買って自分で配線するとか
更に自分でダイナミック点灯のプログラムを書いたりとか >>381
作成したスケッチを以下に貼ります。
http://codepad.org/RQs6d8E8
>>383
すみません、366の方とは別の者になります。。。
>>386
ArduinoではDutyを0〜255で定義とありましたので、220(約86%)で増加を止めることで設定してみました。
またデューティーの増加や減少分は試しに値を決めただけなので深い意味はありません。 >>399
そもそもこれどこでduty変更しようとしてんの? >>400
分かり辛いスケッチですみません。
Line48以降のPWM_controlのロジックにて回転速度と現在のDutyをモニタして
回転速度が所定の値より低ければDuty+5、高ければDuty-3となるようにした
つもりです。Dutyもモニタしているのは、念のため必要以上にDutyが高く
なりすぎないようにするためです。 そもそもArduinoの機種は何なのか、それはMsTimer2.hに対応しているのか
最初とloop()内でPWM_control()関数を実行しようとしているが実行時にはvoidは不要、
起動時に1回PWM_control()を実行したいならsetup内に書く
loop()内で括弧の数があってない、閉じてない括弧がある ごめんloop閉じてたわ
//PWM_control();
TimedAction PWM_Action = TimedAction(500,PWM_control);
ここコメントアウトしたら動くんじゃね、TimedAction.h入れてないからしらんけど PWM_controlはちゃんと実行されてるのか。シリアルでどのブロックが実行されてるか状況確認したほうが良い。スイッチ入力とかもコードからはわからんからシリアルで出力してみて >>402,403
色々とご教示ありがとうございます。
使用している機種はArduino Uno3になります。
他のプログラムではMsTimer2は動作しましたのでこちらは問題無いものと思っております。
PWM_controlの書き方ですが、参考ページにTimedactionを使ったサンプルが記載されてたのでそちらを基に作成してみました。
サンプルではvoidを記載してましたので、こちらでも記入してました。実際voidを削除してArduinoで検証するとエラーが表示
され、またPWM_control()の箇所とTimedAction PWM_Actionの箇所をコメントアウトしてもエラーが出てきました。
>>404
おっしゃる通りシリアルでcntと回転速度の入力値とDutyの出力値についてもモニタしまして、cntの部分が1(High)となることや、
回転速度が980rpsであるにも関わらずDutyが220で止まることは確認しました(想定では100まで下がる)。
そのためPWM_control自体は想定通りの動作をしていないと思っており、PWM_control内のforループやbreakの箇所が上手く動作
していないのではないかと推定しております。 関数内だとrot_u変化しないんだからbreak実行されないのでは。forの意味もわからん。上限下限を設定するならifだけで良い。
数値のログがあるなら出したほうが解決が早くなる。関数の最初と最後での変数の違いを出力しとくとか。 ボタンを押すと声が流れるおもちゃがあるのですが、ここに任意の声をセットしたいと考えています。
基盤
https://i.imgur.com/hUm0gC3.jpg
スピーカー
https://i.imgur.com/MKlt22A.jpg
この基盤のサイズが45mm×35mm程度なのですが、何かいい方法はありませんでしょうか? >>407
ISD1820
録音再生ボードがよく売られているが、再生だけならICと抵抗1本でできる
20mm x 10mmに収まる ISMというデバイスイミテシヨーンがあるのですがラッチ長が40しかないのでIDCで変調したいのですがどのような方法がありますか? ゲームのコントローラー用にProMicroをよく使ってたのですが、久々に買おうと思ったら値段が3倍くらいになってました。
軒並み他のMicroとかも上がるなら納得なんですが、ProMicroだけ(というか、そんなに他知らないんだけど)高くなってる理由って何ですか?
昨今の半導体不足?マイニングには流石に使われないだろうし。
昔の300円台に戻ってくれるんだろうか。 >>408
複数録音してボタンを押すごとにランダムまたは順番に再生する方法はありますか? ISD1820は基本的に20秒までの1曲しか再生できない
だがTiny85などの小型マイコンと
https://aliexpress.com/item/32584084654.html
フォトモスリレーによるスピーカーのミュートで複数の曲を再生できるようになる
https://akizukidenshi.com/catalog/g/gI-11516/
まずISD1820に複数の曲を録音する
[1曲目1秒]-無音-[2曲目2秒]-無音-[3曲目4秒]-無音-[4曲目8秒]-無音
無音セパレータは0.5秒とする
・普通に再生すれば全曲を連続して再生できる
・1秒後に再生stopすれば1曲目だけを単発で、もしくは連続で再生できる
・再生開始後1秒間ミュートして2秒後にstopすれば2曲目だけを再生できる
・2曲目だけを連続で再生すると1.5秒間の無音が入る
・同様に3曲目だけ、4曲目だけの再生も可能
・これらを利用してランダム再生が可能となる
4曲目は8.5秒の遅延が生じるが、動物の鳴き声がたまに変化するおもちゃなど
用途によっては有効だろう
そんな小難しい事せずにDFプレイヤーミニ使えって話だけどなw
https://aliexpress.com/item/32657798948.html >>397-398
ありがとうございます。
3桁7セグがいくつか手元にあり、ネットでよく出てくる74hc595使えば良いのか、その場合のdigの配線をどうしたらいいのか分からなくなって質問させてもらいました。
MAX7219の様な他の方法があると教えていただいたので色々考えたいと思います。 ESP32に変換ボードつけて34mmx36mmで収まるな
https://aliexpress.com/item/32800554583.html
Flashに収めた2MB程度のmp3が再生可能、8bitDAC出力なので
これにアンプが必要、安いpam8403あたりでいいだろう
https://aliexpress.com/item/1005001621829197.html
リンクがめんどくさいからaliの貼ってるけど、あまぞんでも大抵同じのうってるよ 皆様ご丁寧にありがとうございます。
価格も安いのでアリで教えていただいたもの全て発注してみます。
アンプが必要な場合とそうでない場合の見分けは、端子にスピーカーと書いてあるかどうかで判断されているのでしょうか?
音声扱うの初めてなので楽しみです! >>406
仰る通り」にforではなくifに変更してみました。
http://codepad.org/JogjLcSE
しかしながら今までと変わらず980rpsを認識していながらDuty設定値は
220から減少しない状況です。因みにcntは外部からの入力状態を示しています。
<初期状態>
CNT 0 Rotation_U 0rps Duty0
CNT 0 Rotation_U 0rps Duty0
CNT 0 Rotation_U 0rps Duty0
<Duty増加状態>
CNT 1 Rotation_U 0rps Duty220
CNT 1 Rotation_U 0rps Duty220
CNT 1 Rotation_U 0rps Duty220
CNT 1 Rotation_U 0rps Duty220
<回転速度980rps検知状態>
CNT 1 Rotation_U 977rps Duty220
CNT 1 Rotation_U 976rps Duty220
CNT 1 Rotation_U 977rps Duty220
CNT 1 Rotation_U 976rps Duty220 >>417
PWM_controlのタイミングで変数の中身みないとどうなってるかわからんよ。DR―3のところで負のオーバーフローが起こるかも。
直接は関係ないけど、CNTは毎度読みにいく必要ある?タイミングによってはif判定がわかりにくくなるし、時間も少しかかる。 >>417
これエラー無くしていくしかないと思うんだけど
どうなんだろう >>419
サイトにコピーしてるからエラー出てるだけ。 >>419,420
どうもご意見有難うございます。
取り合えずTimedAction全般削除しましたらDutyが設定通りの値へ変わりました。
ArduinoとC言語の理解が浅く不都合をかけてしまい申し訳ございません。 >>421
俺、コードさっぱりわからんが
そのプログラムの華がTimedActionじゃないのか
それを削除って... >>422
仰る通りTimedActionはArduinoの並列処理のために必要と思って
入れてましたが、現状のコードで頑張ってみようと思いました。 なんだ、>>393の1行目に書いてあった心配が当たりかよ 周期実行自体はできてるっぽいから、タイマー設定が干渉してるとかじゃないっぽいけどね。dutyが変わらんといってるが変わってないのは設定用の変数の数値のようだからPWMへの影響以前の問題だし。 UINT8_t a = 255
これで1バイトのaの中に255が入ると思います
これをSprintfで文字列にしたいです
char x[12]
これで12バイト確保できたと思います
これにSprintfでxにUINT8_tを12個入れられるような気はするんですが
何故かうまくいきません
なんでか分かりますか? Seeed Wio TerminalというSAMD51を積んでいるArduino互換マイコンを使って、
GPS・LiDAR(UART)、SHT30・BMP280・SGP30(IIC)のデータを液晶に表示させたくて、
まずそれぞれで動くスケッチを書いて、UARTはUART、IICはIICでそれぞれ統合させて動くようにしたあと、
UARTとIICのスケッチを統合したところ、exit status 1のコンパイルエラーが発生しました。
とにかく理由が不明なので、少しずつほぼ総当りでコメントアウトさせたりしたところ、UARTを増やすために必要なシリアルハンドラ関数を入れるとエラーが発生することがわかりました。
ただ、そのシリアルハンドラ関数を入れないと2つ目のUARTが動かないので困っています。
なにかと干渉しているのでしょうか?
よろしくおねがいします。 やっぱりそうなんですか?
なんでかざっくり教えてください >>430
charにASCIIコードの1文字入る
それが12個だから12文字、Cの文字列は最後0で終端するからその分引くと11文字 >>431
ありがとうございます
すごくよく分かりました
char12バイトの制限があるので16進数で送った方がより広い範囲で送れそうですね >>393さんのご意見を見落としてました。
非常に丁寧な内容で有難うございます。
コードも初心者なりに、サンプルとしては状況に応じて計測実行/停止を出来た方が良いと思って
作成してみた次第でした。
他コードを作成する際はご意見を考慮したいと思います。 >>429
追記です、もう一度エラーメッセージをよく読んでみたところ、sercom4が二重定義されていることが判明しました。
どうやらwiring_privateでUARTに定義したところと、wire.hで定義されている(と思われる)内蔵3軸加速度センサに繋がっているところ(多分sercom4)が干渉しているみたいです。
ArduinoIDEのlibraryにあるWire.hとWire.cppも見てみたのですが、どこをいじればいいのか(下手にいじってもおかしくなってしまうだろうし)わかりませんでした。
とりあえず二重定義されているsercom4を無効化できればいいとは思うんですけど… >>434
I2CにSercom4使ってるから新しいUARTに使うのは別のSercomにしとけ
もちろん内蔵ROMとのSPI通信とかに既に使ってるのも駄目だぞ
コアの中身の初期化ルーチンでも読んで空いてるやつを探せ
1つのピンに割り当てられてるSercomは2つあるが、もしどっちも既に他に使用済みならそのUARTに使ってるピンを移動する必要も出てくる arduino標準で入ってるSDライブラリなのですが、csをD10意外に設定してもD10がHighのままになってしまいます。
例えば、sample“files”をみるとSD.begin(4)となっておりcsはD4を使う仕様になっています。
D10に関する記載はありません。
ですが、D10に例えばLEDを繋いでおくと点灯したままになります。
もちろんcsをD4に繋ぐとSDは機能し、点灯したままのD10にcsを繋いでも機能しません。
これはなにが起こってるのでしょうか?
試しに
pinmode(10,OUTPUT);
digitalWrite(10,LOW);
を追記してあげると点灯は無くなりますが、なにも指示していない状態で点灯するりゆうがわかりません。 >>436
実際のSSピンとしてどこを使うかは自由だけど、デフォのSSピン(つまりD10)が出力か入力かによってハードウェアSPIがマスターなのかスレーブなのか動作が変わる
かつスレーブの場合はアクティブLOWになるからそのピンが入力の場合はプルアップするように出力レジスタにHIGHを書き込む
そのあとにマスターモードにするためにピンを出力に切り替えるからそのままD10にHIGHが出力される
https://github.com/arduino/ArduinoCore-avr/blob/24e6edd475c287cdafee0a4db2eb98927ce3cf58/libraries/SPI/src/SPI.cpp#L26
これがSPIライブラリ(SDライブラリはこれを呼び出す)
これの39行目と45行目がそれ
ちなみに上記の理由からマスターでSPIを利用している場合はSSピンをD10から移動していても、D10をINPUTとして利用することはできない(出力なら自由) ProMicroでboars.txtを編集しvid,pidを書き換えてるんですが、
void setupの中で、
動的にvid、pidを再度変更する事って出来ないでしょうか。 そら出来るけども・・・
標準のCDCやその他HIDのライブラリだとデバイスディスクリプタはコンパイル時にハードコードされるように作られてるから
ATmega32u4のハードウェアUSB使ってデバイスになる部分を全部自分がやりたい様に作ればいいよ >>437
なるほど!
普段ライブラリの中身を気にせず便利に使わせて貰ってたけどやっぱり色々動かす事情ってものがあるんですね。
参考になりました。
ありがとうございます。 AVRニワカの質問です。
Nano v3.0 ATmega328Pの件です。
今まで何気にマイコンにAVRライターで書き込んでたファームですが、
サイズを見たら40kBでした。
下記マイコン容量を超えてますが、何故書込み可能なんでしょうか?
◆マイコン
フラッシュメモリの容量 EEPROMの容量 RAMの容量
ATmega168P 16kB 512B 1kB
ATmega328P 32kB 1kB 2kB
また、コストダウンの為にNanoをATmega168Pに変更して40kBのフォームを
書込みは可能でしょうか? くじ引いて偶然当たりを引いたら
次から全部100%当たる脳 自己解決しました。
hexファイルは16進数で2文字で表現しますので、最低でも2倍になり、さらにアドレス情報やチェックサムといった
付加情報がある為、更に大きくなります。
お騒がせ致しました。 16進数とアスキーコードとしての16進数は違うって事だよね? 毎度テンプレみたいに初心者ですが、、とかニワカですが、、、
って付けなくていいよ "AB" は2バイト 実際のファイルのバイナリ値は は 0x6162 = 0b0110000101100010
AB は 1バイト 実際のファイルのバイナリ値は 0xAB = 0b10101011
intelHEXファイルはテキストとして前者で表すが実際に書き込まれるのは後者
hexじゃなくてbinとかで書き出せば実際に書き込まれるのと同じファイルサイズのバイナリが出力されるよ
もちろん中身を確認するにはテキストエディタじゃなくてバイナリエディタで開く必要がある レジスタの76bitが何、5-3bitがソレ、2-1bitがアレとかコメントして2進数で書いてるわ
あとアイコンのbitmapも01でそのまま描画するのに2進数で書いてるわ ESP-WROOM-32でAmbientにデータ送信したいのですが
単にスイッチのON-OFF状態を INPUT_PULLUPでdigitalReadした値の1か0をAmbientに送ってるのですが
グラフ表示されませんどうしたら良いですか?
温度センサーで取得したデータのグラフの表示は出来てるのですが 久々にアンビエント覗いてみたらHTMLやJSも使えるようになったんだね >>458ですが
温度センサー2個とフロートSW1個のデータ3つ送ってるのにチャートが2つしか表示されないです
チャートの設定変更でd1d2d3表示にしたら3つのデータが表示されるので
温度センサー2つを一つのチャートにSWの状態をもう一つに表示させました
チャートを3つ表示出来ないのは何が原因と思われますか?
float temp1 = (sensors.getTempCByIndex(0));
float temp2 = (sensors.getTempCByIndex(1));
float level = ( value );
ambient.set(1, temp1); //養液温度
ambient.set(2, temp2); //外気温度
ambient.set(3, level); //養液レベル
ambient.send();
https://i.imgur.com/3d3S8Go.jpeg データは有るみたいだから軸の設定があれで見えてないだけでは。3つ表示したグラフと設定画面も見せてみて。 https://i.imgur.com/pBeH3IV.jpeg
チャートが2枚重なってるのに気付かないだけでした
>>464さん 申し訳ありません!! クラウドからサーバーへの文字列が送れない
多分何が分からないのかも分からないかも知れない
通信でクラウドには文字列は送れた
クラウドに届いた文字列をサーバーに送りたい >>435
だいぶん遅レスですが、現状をカキコします…
ニ重定義はどうにもならないので、余っているsercomポートを探してみたのですがどうにも見つからず、仕方ないのでUARTをI2Cに変換する基板をスイッチサイエンスで買いました。(https://www.switch-science.com/catalog/6027/)
Arduino UNO(互換機)では正常に動作してくれたのですが、これをWio Terminalにつなぎ変えた途端動かなくなってしまいました。
I2Cスキャナーには反応があるのでつながってないことはないはずなんですが、device not found が返ってきて、無理やりデータを表示させると0が返ってきます。
何が問題なのでしょうか?
きちんと5Vで動作させてるし、他のI2Cデバイスは問題なく動くし、スキャナーにも反応があるのにデータだけが返って来ないんです…
ちなみにUARTからI2C にしようとしているのは、秋月のGPSキットです。 >>466の続きです
その後データを3個から5個に増やしたらチャートが3枚のままで重なってもいません
新たにチャネル作り直したら5枚になりました ←解決策
最初にチャネルを作った時のデータ数でチャート数が固定されてしまうみたいです
466の重なっていただけは偶然で勘違いでした >>472
今試したら普通に表示データ数の増減できたけど。 >>473
そのようにすぐ反映してくれるのが普通ですよね
家では何が問題なのか・・
とりあえず困ったらチャネル作り直しで対応します >>471
コードは、https://github.com/meerstern/I2C_UART_Converter/blob/master/ArduinoSampleCode/I2CUart/I2CUart.ino
をほぼそのまま使用しています。
Init OK は出るので、i2cuart.beginは通っているのですが、その次のi2cuart.pingが1ではないらしくdevice not found が表示されます。
コンパイルは通ってますので、ログとしては上記の文字列が表示された、ということしかありません。
あとはwhile(1)で処理が止まっているところをコメントアウトして無理やり次の処理に向かわせ、GPSからのデータを読み込ませたところ0だけが返ってきた、ということです。
UNO互換機では、上記コードのdevice found→start serial communication→Serial communication OK
が表示されましたので正常に動作していると判断した次第です。
またGPSのデータも正常に表示されました。 すいません>>468ですが
json形式で
送信はクラウドでOKって出たから送れてる気はします
あとは受信です
がんばります
これだけで長い時間悩んでたので非常に疲れました
なんか独り言みたいですいません >>477
クラウドとサーバーのちがいを教えて下さい。 >>478
4Gとかの通信装置の説明書に出てるよ
そう書いてあるからそう言ってるだけで私にもよく分かりません >>475
良く分からないけど、GPSレシーバは1秒とかの周期でどんどんデータを
送ってくるから動いたとしてもI2Cと相性が悪い気がする。
もともとあるUARTをGPSに使ってI2C変換のUARTと入れ換えた方が良くないか? >>474
ブラウザのクッキーやら履歴を削除したらうまくいくかも? >>481
有難うございます
現在工作終わって稼働中でして検証用のESP32の手持ちを切らしてます
アリからの到着を待って試してみます >>482
データ送信側じゃなくて表示側の問題だからブラウザいじってみろってことだろう。windows10のfirefoxでは正常に操作できてる。 >>483
チャネル作り直した時点で3個しか表示しないチャネル削除しましたので今は確認できないです
8月末になりますが再度報告申し上げます >>476
変換基盤の作者様に連絡したところ、プルアップ抵抗は他Groveデバイスと同じ4.7kΩであるとの回答を得ました。
他のGroveで接続されるI2Cデバイスが正常に稼働していますので、プルアップ抵抗の問題ではないはずです。
>>480
UARTで接続したいデバイスはLiDARとGPSで、GPSのほうが1秒あたりのデータ量が少ないはず(GPSは1Hz設定、LiDARは100Hz設定)なのでGPSモジュールをこの変換基盤に繋げました。
また、LiDARに変換基盤を繋げてI2C接続を試してみたところ、こちらもdevice not found、データも取得出来ませんでした。
SeeedのForumにも投稿してみたのですが、返答がありません…
他にも、Wio TerminalのGroveポートの電圧が3.3Vなので5Vから電源をとってみたり、繋ぐI2Cポートを変更してみたりしたのですが結果は変わらず…
他I2Cデバイスは動くのに変換基盤を通したら動かなくなるなんてことがあるんでしょうかね… 5Vと3.3VのI2Cではレベル変換(レベルシフタ)が無いとトラブルの元
https://akizukidenshi.com/catalog/g/gM-05452/
そのへんの回路自作するにしても、市販品シフタならOKなのに自作シフタでたまにエラーになるとか見切れるし持っておくべき >>485
ライブラリ使わずにアクセスしてみたら?同じ接続のままでwioでi2c_scannerのコード動かしたらデバイスのアドレスは見つかるんでしょ? オシロ等でi2Cが正しく出力されているとかを確認をしないと
いけないかんじだよな。今のオシロはI2C解析機能とかついているし >>285
自分で自分の回路のプルアップ測れよ。
オシロで波形確認するのがいいのだが、他人に聞く前に自分でできることをしろ。
自分で考えろ。 ArduinoのEthernetシールドってもう時代遅れ?
最近はESP32使ったのばかりになっている気がする Ethernetの需要がある以上、そのままだとワイヤレスにしか
使えないESP32でEthernetシールドの代替はできないでしょう。
Ethernet自体が時代遅れだ、って煽る人もいるだろうけれど、
LANでの有線接続の比率が下がっているといっても、比率低下が
時代遅れを意味することではないしね。 無線はねー 肝心な時に止まっちゃったりとかのトラブルがどうしても付きまとうイメージ Webで動作設定したりログ見たりグラフ化して表示したりすると表示や入力デバイスが省略できてコスパがいいが
それらをやるのにメモリ6kはキツイ ESP32にLAN8720をつけちゃえば無線の事関係ないよね ESP32の無線殺すくらいなら、もっと安くて小さいarduino使うわ。 いろいろな実装があっていい。全体としての生態系の強さは多様性でしか保証できない。
自分の流儀に合わないものこそ否定しない方がいい。 \ │ /
わたしです
─ .〆⌒ ヽ ─
(´・ω・`)
/ │ \ 質問です
myMatrix.putd2(0, 0, ussRead(US1));
という1行があるのですが、「putd2」の意味が分かりません
問題集内で「putch」の近くにあるので
それに関係しているのでしょうか? >>504
クラス定義を確認して。
というかエスパーじゃないのによくわからん問題集の中身がわかるわけないだろ。 >>505
クラス定義の意味も分からないのでまだここに書き込むレベルにもいない事が分かりました
すみません、ありがとうございました
スルーしてください 使ってるライブラリー名を書けば、親切な人は調べて教えてくれるかも
スケッチの最初の方で
include "<ライブラリー名>.h"
とかあるはず >>506
クラス定義とかの前に
相手もその問題集の中身がわかっているという前提で
質問する知能を何とかしたほうが良い >>506
どんまい
最初は自分が何の質問をしてるのかすら解らんもんだ
がんばってね >>507
せめてクラス定義の意味が分かるようになってからにします
>>508
あの1文があれば分かるのかと勝手に思ってしまいました
すみませんでした
>>509
頑張って少しずつ進めてみます
みなさんありがとうございました 検索してみたけどputd2なんて無かった
ミスプリですかね
スケッチ載せてみたら?
著作権とかあるのかな? >>512
わざわざすみません
一応自分でも色んな単語でググったんですが、1つもこれといった物に当たらなかったのでここに書き込んでみたんです
著作権も怖いし自分の勉強不足は分かってるので、もう少し自分で頑張ってみます
ありがとうございました >>504
ソース最初の
--
#include <なんとか.h>
--
これを全て列挙する必要がある。
次に
--
なんとか myMatrix;
or
なんとか myMatrix = なんとか;
--
があるので、これを列挙。
> という1行があるのですが、「putd2」の意味が分かりません
putd2() は、myMatrix クラスのメソッド。何をしているかは、エスパー1級の俺でも分からん。
8x8ドットLEDとかのクラスなのか?
問題集?宿題なのか?読書感想文まで行ったら、また呼んでくれ。 >>514
最初のは分かりますが
myMatrix〜は、その固まり?も全部書かないといけないのかどうかが分かりません
ちなみに使ってるのは8×8のドットのLEDです
今まで問題集を読んでみて、もしかしたら2ケタの数字が関係してるのか?まではたどり着きましたが…やはり前に言われた通り書き込むにも自分のレベルが足りないので、もう少し勉強してみます
色々書いてもらったのに質問すらできなくてすみません
詳しくありがとうございました myと付いてるんだから独自のクラスでしょ
作った人に聞くしかない >>ID:rJtCrUxN
学校の宿題をここで丸投げして楽しようとしてる、と解釈されても仕方ないぞ
あるいは非公開の人様のコードを丸パクリしようとしてるとか
元ネタを明かせない理由、他にある? >>517
楽しようとしてるかはわからないけど質問自体は別にええんやないの?
著作権の問題あるか分からんから書けない言うてるやん 質問です
TB6612、あるいはDRV8835と同じ使い方(プログラム)で使える10A以上の電流を扱えるDCモータードライバーって何かおすすめありますでしょうか? あとこのプログラムでモーターを回そうとしたんですけど、なぜか逆回転せず正転しかしません。なにがおかしいのでしょうか?ドライバーはdrv8835を使ってます。
#define APHASE 12 #define AENABLE 11 void setup() { pinMode(APHASE,OUTPUT); pinMode(AENABLE,OUTPUT); } void loop() { int i=0; //モーター停止 analogWrite(AENABLE,0); digitalWrite(APHASE,LOW); delay(500); //モーター正回転・スピード変化 digitalWrite(APHASE,LOW); for(i=0;i<256;i++){ analogWrite(AENABLE,i); delay(100); } for(i=255;i>=0;i--){ analogWrite(AENABLE,i); delay(100); } //モーター停止 analogWrite(AENABLE,0); digitalWrite(APHASE,LOW); delay(500); //モーター逆回転・スピード変化 digitalWrite(APHASE,HIGH); digitalWrite(APHASE,LOW); for(i=0;i<256;i++){ analogWrite(AENABLE,i); delay(100); } for(i=255;i>=0;i--){ analogWrite(AENABLE,i); delay(100); } }
https://i.imgur.com/N3gM9OG.png >>527
次から気を付けます!
>>524
まさにそれです!2つ目の正転、逆回転を繰り返すプログラムを試してみたら、なぜか正転でしか動作してないんです
https://i.imgur.com/nGr4YSU.jpg
繋ぎかたは間違ってないと思うのですが... >>525
>>522の下から10行目の「digitalWrite(APHASE,LOW);」を削除してみたら? ここは要エスパー回答者スレだけあって
UNOの接続図だしてきて、でも、実物はNanoってことが普通だからな >>520
カンだけど、10Aならドライバ外付けのコントローラICになりそう。
内蔵ドライバで10A駆動は放熱的に無理な気がするから。 >>531
外付けですか
どんなものがあるんですかね?検索しても良くわかりません...
>>527
試してみました。逆回転はしたんですけど動きがおかしいようです。正転の時は徐々に速度があがってピークに達したら徐々に速度が落ちてくんですけど、逆回転の時は急にフルパワーで回ってそのあと徐々に速度が落ちていくって感じなので説明と違うんですよね >>533
秋月の資料読むと判るけど、PWM駆動がフヨウなら、Arduinoは無しで、ドライバ基板のAIN1(BIN1)とAIN2(BIN2)に、ジャンパーワイヤで直接HI/LOを与えて、正反転するか試してもいいね
っと思ったら、>>525 のドライバ基板のピン数が、秋月のとも、>>521 のとも違うな?
先ず、今持ってるドライバ基板のデータシートをちゃんと読まないと駄目かも。。。 要エスパーとか言いながら
親切に教えてくれるお前らが好きだぜ >>516
それクラス名じゃなく、変数名。
だからその確保してる、クラス名を書けと言ったけど、どっか行っちゃったね。
まぁ8x8ドットLEDが当たってただけでもエスパー風味ぐらいにはなったな。 ブレッドボードが見当たりません。どこにありますか? >>537
昨日の初心者ですが、クラスの意味も分からないので書くのは諦めました
ドットのLEDを当ててもらえて嬉しかったです
ぜんっぜん分からないけど楽しいから、もっと勉強してせめてここでの言葉が理解できるようになってから出直します >>539
これからだね。でも最初に8x8を選ぶのは良いかもね!
見た目が派手で、おぉ!ってことが簡単にできる。
今のサンプルが飽きたら以下も良いよ。スクロールとか、
明るさ調整できるし、スピードが早いので、色々な使い方ができるよ。
https://iot.keicode.com/arduino/arduino-ledmatrix.php >>541
はい、LEDが光って感動してるレベルなので…
アドレスありがとうございます
サイトにあったブレッドボードの勉強もできそうで嬉しいです m5スタックの端子ってブレッドボードみたいに差し込めるようになってないけどなんかしらのケーブルがあるの? >>532
デジキーをチラ見したら内蔵は最大5Aだね。 >>532
>>524のページとの違うボードなので、同じチップを使っているという仮定だけど
データシートから見る(P.11)と正転/逆転の制御は、MODEがHIGHの場合(接続図では
UNOの5VがMODEに直結されているので)PHASEのHIGH/LOWで制御するようになって
いるので>>527の指摘どおりサンプルの間違い
速度が逆転の場合いきなり最速から始まるっていう感覚と逆の動作をするのは、この
ICのモーター出力がENABLEにくるPWM信号と同期したタイミング(ENABLEに電気が
来るとOUTに電気が流れるみたいな)で動く訳ではなく、同期信号のPHASEとタイミング
信号のENABLEでOUTの出力を決めているためだと思う(P.7のTimingRequirements)
正転の時はPHASEがHIGHの間にENABLEがHIGHになっている間だけOUTが出力され、
逆転設定にするとPHASEがHIGHの間にENABLEがLOWになっている間だけOUTが
出力されるようになっているので、正転と逆転で同じように回転数制御する場合には
PWMのDuty指定を逆方向に進行するようにするんだと思うよ >>549
スケッチを少しいじったら思いどおりに動作しました!やはりサンプルが間違っていたようですね....
繋ぎかたは三度五度確認しても違ってなくてピン番号も間違ってないのでずっとモヤモヤしてました
ありがとうございます! RDA5807MでFMラジオを作ってるんだけど、
Arduino NanoをPCから電源を取るとノイズが酷くて全く受信できない(´・ω・`)
またデスクトップPCで開発してるんだけど、PCの電源が入ってるとノイズで全く受信できない(´・ω・`)
スリープにするとノイズは無くなる。もしノートPCならノイズはないのかな?
トライ&エラーで書き込みしながらテストしたいけど、Nanoにスケッチを書き込んだら
正常に動くかどうかを毎回PCをスリープにして確認するのが面倒。
なにかいい方法ありますか? 追記: PCをスリープにして、更に電源は電池とかのバッテリーに付け替えています。
PCから電源を取るとどうもノイズが出ます。 電源を電池に変更してるなら、電源だけでなく、PCのノイズが原因だよね?
一番、手っ取り早いのは、アンテナをそれなりのものに変更する。
(T字の配線なら150円〜700円ぐらいで買える)
どうせ、実運用でも必要なので買っても損はしないと思う。
後、個人的な意見ですけど、RDA5807Mは、ノイズに弱く、アンテナの受信が弱い気がする。
RDA5807FP(型番が似てるけど全くの別物)は、Arduino無しでも動くので、
そっちのノイズも無く、ヘッドフォンケーブルをアンテナにするだけで十分に実用できてる。
ここらが参考に。。。
https://xn--p8jqu4215bemxd.com/archives/14953
RDA5807FPをArduino無しで動かす回路
https://ae01.alicdn.com/kf/H608eccb68aa5433e8294587e8903ac44Z.jpg >>553
ありがとうございます!やはりノイズに弱いんですね
RDA5807FP買ってみます。Aliで5個10個のまとめ買いなら1個50円以下で安いですね
Arduinoからはボリュームと選局ぐらいしかしないので、こっちの方が良いですね Arduino leonardoってPCにタッチパネルデバイスとして認識させる事はできないのでしょうか? >>556
>できないのでしょうか?
出来るか・出来ないかはお前の力しだいじゃないか
技術力ある奴ならタッチスクリーンLCD( https://www.switch-science.com/catalog/1864/ とか)
とUSB搭載マイコンを使ってUSB接続のタッチパネルデバイス製作できるだろうが タッチパネルだけじゃ、どんなんを想定してるかわからんからな。答えも適当になるだろう。 >>559
俺、実はタッチパネルではなくタッチパッドじゃないかと思うんだよな
もし、タッチパネルなら、
leonardoでタッチパネルだからQVGA程度までのLCDを使ったタッチパネルだと思うんだが、
高解像度LCD搭載のスマホやタブレットPCのタッチパネルと同等のものを
leonardで作りたいってことはないだろう。
質問するときは、
>>1の
>回答者はエスパーではありません。状況が分かるように詳しく書きましょう
なんだけど、でも、このスレの質問者には何を書いたらいいのかわからない奴が珍しくない 昔のニンテンドーDSiあたりのタッチパネルが
確かハック出来るんだよね スケッチも落ちてる >>463 のその後です
Ambientに最初2個のデータ数でチャネルを作るとその後にデータ数増やした場合
チャート枚数が2枚のままで3枚にならない件
>>481
クッキーやら履歴を削除でも改善せずでしたが
結局チャネルボードの操作方法を理解していなかっただけでした
チャート追加ボタンから3つ目のデータも表示できました
お騒がせいたしました
https://i.imgur.com/dOr6K9i.jpeg ArduinoでLCRメーターを作ろうとしている所です。
何気なく検索していると、良さそうなライブラリーがありました。
https://github.com/gavinlyonsrepo/LCR_meter
他にもっと評判が良い回路図&ライブラリーがあれば教えて下さい。
実際に作って使ってるよって方もよろしくおねがいします。 >>565
それだと何がまずくては他を探してるん? まずい、とは書いてないよな。
もっと良いものをご存じの方はおられますか? って話だと思う。 判断基準がわからんじゃん。
なにを良しとしてるのか、何か悪くて他を探してるのか。
羅列だけならググれって話になるわけだし。 >>569
ありがとうございます。これ良さそうですねー 「こんど○○市に出かけるのですが、駅周辺でいいランチのお店をご存じの方いませんか」
ふつうの人A「中村軒のミックスフライはボリュームもあっていいよ」
ふつうの人B「嶋田屋の海鮮丼最高。値段はちょっと高めだけど」
ふつうの人C「天食楼のランチコースがおすすめかな」
ねらーA「いるよ」
ねらーB「何が好きか、予算がどうか、基準がわからないから答えようがない」
ねらーC「グルメサイトで調べれば済む話」 生まれて初めてLCRメーターを作ろうとしている所なので判断基準すら無いのだろう
おそらく使った事も無いのだろう
そういう初心者にも配慮してあげてくださいね >>571
後出し条件で回答が全部無駄になるパターンがランチのお店探しより多いんだから仕方ないだろう 三端子レギュレータのINとOUTを結線したらどうなる?
例えば、12Vから9Vを作る場合、12V IN 9V OUT
これを結線すると3V出力される? INとOUTを結線した部分が迂回路になって三端子レギュレータにはまったく電流は流れ込まず機能しない >>571
まさしくその通り。
>>573
貴方は答えられなかった。
自分に都合のいい勝手な妄想は辞めて頂きたいですね。 >>576
その場合どこが3ボルトになるのですか?同じ線でつながっている箇所は同電位なはず >>574
>>575
おまえもおまえも答えることが出来なかった。言い訳だけは一人前。 >>576
> 例えば、12Vから9Vを作る場合、12V IN 9V OUT
> これを結線すると3V出力される?
されない
> 三端子レギュレータのINとOUTを結線したらどうなる?
12Vから12Vがでてくる
> 同じ線でつながっている箇所は同電位なはず
12Vがつながってる箇所は12V >>576です。
ありがとうございます。
やりたいことは12V程度あるカーバッテリーをアナログテスターの3Vレンジで無理やり計測
(60Vレンジや分圧して6Vレンジではテスターがしっかり触れず小数点以下の電圧メモリが大きすぎて見づらい)
したいのですが何か良い方法はないものでしょうかね? 3vが使いたい物の GND(マイナス) に 9v、
Vcc(プラス) に 12v を接続すれば 3v として動作する。 >>578
>>580
これ書いてるの質問者なんだろうね >>582
三端子レギュレータのinとoutの間の電圧を(結線せずに)測れば約3Vだろう アナログテスターだと内部抵抗が低かったりするから、分圧に使う抵抗の値も低めじゃないと駄目かも。 > 例えば、12Vから9Vを作る場合、12V IN 9V OUT
> これを結線すると3V出力される?
>>581はできない、>>583はできる、と言ってる。
多くの正電圧出力電源は、出力から電流を吸い込むことができない。
こういう結線をした状態で、電源の9V端子から電流が出ているのなら
大丈夫じゃないかな。
12V-9Vに接続する、3V回路の消費電流が最大で10mAであるとして、
(1)9V-GND に繋がっている9V回路の消費電流が最小で12mAなら大丈夫。
(2)9V-GND に繋がっている9V回路の消費電流が最小で9mAならNG。
9V-GND になにも繋がないで、12V-9Vに3V回路を接続するのは(2)の極端な
状態なのでNG。 >>575
だよなー。
あとから
「おれ、海産物だめなんすわー」とか言い出されて無駄回答になるパターン。 >>582
3端子レギュレータを使いこなすのは >>589 が書いているようにいろいろ面倒な条件がある
だったら、9Vの電池買ってきて12Vバッテリーとの電圧差を測る方が判りやすい。電池はダイソーで売ってるやつで十分で、1年以上は動くはず >>590
何が「だよなー」だよw
LCRテスターを「作ったこと」が無いんだろ?
その時点で1軒も店を知らないくせに、今からわざわざググりに行くのか?
なに知ったか上から目線で答えようとしてるんだ。 . ポリンキーポリンキー、三角形の秘密はね・・・教えてあげないよ♪ジャン 質問する人もマナー良くしよう
あれな人がいてもそのうち答えてくれる人も出てくるから気長に待ちましょう
答える人も初心者相手にマウントとるのはみっともないからやめましょう 「教えてください」ではなく「いませんか」だと、こいつバカだろって先入観が生まれる >>582
テスターの目盛板に例えばDC2kΩ/Vのように内部抵抗が書いてあるはず。
DC3Vレンジはこの場合3V*2kΩ/V=6kΩの入力抵抗ということになる。
DV3Vレンジを5倍にしてDC15Vレンジに変換したいとすると
6kΩ*(5-1)=24kΩを直列につなげばいい。
DC3Vの目盛りを読み取って値を5倍する。 使いたい12Vモーターの突入電流が9Aくらい流れているのですが、この場合12V5Aより12V10AくらいのDCアダプターに接続したほうがよいのでしょうか? Serial.printが非同期になり終了前にリターンされます的なの見たんですが
終了したのを確認してから次の動作に移すという方法はありますか? 今はソフトウェアで実装されたFIFOに書き込みデータを入れて、それがいっぱいにならない限りは裏で1バイトずつ勝手に割り込みで送信していく
大量に文字列を出力しようとしたり確保されてるFIFOが埋まった場合は全部のデータがFIFOに収まるようになるまで送信をビジーウェイトで待機する仕様
だったかな 8桁の電卓を自作してみたいんですが、参考になるスケッチとかありませんでしょうか?
100円均一にあるシンプルな機能だけで、自作キーボードみたいに好きなスイッチで身近なガジェットを作りたいのです。 >>610
Lチカを応用して1桁表示を作るがいい
次に応用して8桁分の表示を作るがいい
次にスイッチで数字入力と表示を作るがいい
最後に計算ボタン入力と表示を作るがいい テンキーみたいな入力を想定してるなら1ピン1ボタンだと足りなくなるだろうから、マトリクスキーボードにしといた方が良いと思う。 逆ポーランド法の作ってる記事どっかで見かけたけど忘れた(;´Д`) 逆ポーランド電卓は普通の電卓作るより簡単だし使いやすいよ >>612
テンキーはマトリックスで作ろうと思います。
参考にするスケッチは、6桁は見つけたのですが、実用には8桁は欲しい。atmega328pで作りたいのですがスペック的に難しいんでしょうかね。 昔、使っているCPU用のFORTHを作った時に、逆ポーランド記法を初めて知った。
日本語に近い 1と2を足して3を掛ける → 1,2,+,3,X とスタックに積んで演算
処理が簡単になるので、その後、あるオリジナルの言語処理系を作った時にも採用した。 >>616
8桁の電卓ってスペックのうち5%も生かせて無いんじゃないかな・・・
凄まじくオーバースペック >>616
うちに3桁づつ3回に分けて9桁表示できる電卓があるな >>616
328PってことはUNOかな
UNOはintが2バイトで整数は5桁(実質4桁)しか血v算できないのbナ、6桁表示のサンプル
ならばlongで計算やっているのだろうから、計算自体は10桁(実質9桁)までできるはず
なので、表示部分を変えるだけで表示デバイスが表示可能な範囲で使えるはず >>621
出来ますかね?
表示桁越えた時どうしようとか色々な疑問が出てきてしまいます。
表示は小型のニキシー管を使用してシャッフルやフェード、スクロールなど、遊びを入れたいです。ニキシー管側のスケッチと回路は一通り作成済みです。 電卓ならやっぱりBCDやろ
floatはどうすんだろな、知らんけど。 電卓なら固定小数点でいんじゃない8桁表示なら最大でも小数点以下7桁だし ウソ 「新型コロナ対策に専念するため出馬しません」
ホント 「選挙に負けそうなので出るのやめよう・・・」
こいつは最後までウソをつきつづけるのか!? 子供が乗らなくなった幼児向けの電動カーのモーターとバッテリーを変えて高速化させたいと考えています
自分で試しに乗るだけで子供には乗らせません
18vのモーターとマキタのバッテリーを組み合わせてみたのですが、
1.無段階に速度を調整する方法はどのようにしたらいいのでしょうか?
2.ギアが金属なのですが、これにあうギア(モジュール?)が何かをどのように調べればいいのでしょうか?
3.ためしにバッテリーとモーターをVVFケーブルでつないだところ接点が溶接のように火花が散り、その後正常に動くのですが、これは本来どのような方法で繋ぐのが正しいのでしょうか?
ツッコミどころ満載かもしれませんがどうかご教示いただけますと幸いです >>630
歯先円直径はm(z+2)
zは歯数 mがモジュール
逆算すべし。
つなぐのはしっかりしたスイッチが必要
人を載せてそれなりの速度で動くなら200wくらいはあるだろうから12Vバッテリーが電源として20A位は流れると思ってスイッチ探すべき >>630
速度調整方法は電源とモータの種類がわからないとなんとも。 >>633
レスありがとうございます
アマゾンのB00BM3BYP4とB0194NE1A8です
教えていただいた情報をもとにスイッチ探してみます
ありがとうございます >>634
DCブラシモータなら
B08FMJQDC7
のマルチターン抵抗を引っ張り出して同じ抵抗の普通の可変抵抗にすれば多分OK.(そのままでもいいが操作しにくいだろう)
スイッチ切った時のサージ対策
http://arduinopid.web.fc2.com/M14.html
あと、こういうモータは負荷に応じて電流が流れるので過電流制御が必要。モータのリンクには定格が載っていないので設定すべき値がわからない。 コンバータは定電流設定できるもののはずだが、やり方わかる? >>635
ご丁寧にありがとうございます
早速発注させていただきました
あのビリビリはフライバック電圧というのですね
てっきりスイッチONのときに発生しているかと思いました
ダイオードつけてみます
>こういうモータは負荷に応じて電流が流れるので過電流制御が必要。モータのリンクには定格が載っていないので設定すべき値がわからない。 コンバータは定電流設定できるもののはずだが、やり方わかる?
やり方わかりません・・・
ご紹介いただいたコンバータの可変抵抗の部分が、安定化電源で言うところの電圧と電流を設定するつまみと同じようなイメージでしょうか?
その場合、安定化電源はディスプレイに設定中の数値が表示されますか、コンバータの場合には現在いくつの数値になっているかどのように確認するのでしょうか?
そもそも全く検討外れでしたら申し訳ありません >>636
可変抵抗の1つが電圧 1つが電流設定用ですが高級電源の様に表示器がないので、さてどうする という話です。電圧はテスターあれば楽勝でしょうが電流をどうするか。
普通こういうのは電圧低めにして、容量のすごく大きな低い抵抗と電流計を直列に繋いで設定しますが、
1A超えるそういう調整は恐ろしくて私はやったことないです。
実際にモータつないで何回か燃やしたりコワしたりしながら学ぶことになりそう。 >>636
先のコンバータ、実負荷じゃなくて抵抗で設定しようとする場合
10AのConstant current を設定しようとすると最低電圧が6Vなので0.6Ωの抵抗で60W以上の容量の抵抗が必用になりますね。 >>637,638
レスありがとうございます
安定化電源を利用してコンバータを設定すれば安全に設定できるような気がしてきました
抵抗の容量に気をつけて安全に設定したいと思います
ちなみに>>634であげたモーターには金属のギアがあらかじめ繋がれていますが、ギアが付いていないタイプのものを購入した場合、金属製のギアを自分ではめ込むにはハンマーか何かで叩き込むのでしょうか?
また、あらかじめギアが付いているタイプのものはギアを外すことができるのでしょうか?
試しにペンチで引っ張ってみたのですがかなり固いです >>639
安定化電源で設定??
安定化電源に負荷装置機能があればいいですね。
叩き込むのは軸の反対側を定盤に当ててたたたきこめばいいので楽勝。軸曲げないよう注意。
通常、ピニオンと軸は圧入で、一体ではないです。なので抜けるはず。
ただ抜くときにモータのボディをもってピニオンを抜こうとすると軸が抜けてくるかも。軸を固定してピニオン抜くのは案外むずいかも。
締りばめの熱間圧入とかだと抜くのはキツイでしょうね。 >>641
試しにコンバータを1.5Aに設定したいので、安定化電源側で最大出力18v、2Aに設定
安定化電源→コンバータ→モーターをつなぐ
安定化電源の出力電流を安定化電源のディスプレイで確認しながらコンバータの電流量調整用抵抗を1.5Aになるまで調整
こんな感じで考えていますが検討外れでしょうか?
モーターの軸についてはおっしゃる通りで、ギアを抜こうとすると軸が抜けそうな状態です
抜くコツ、または専用器具なんてありますかね? >>642
例えばこんなのがある
https://www.tamiya.com/japan/products/15422/index.html
これが大きさ的に適合するかどうかはわからないけど,ピニオンプーラーとかギアプーラーとかで調べればいろいろ出てくると思う >>642
検討はずれ
コンバータへの入力は、わかりやすく言うと無制限で
コンバータ自身が電流を絞る設定をしないとだめ。 >>643
おおありがとうございます
教えていただいたワードで検索したところAmazonで色々出てきましたのでじっくり選んでみます
>>644
レスありがとうございます
>コンバータの電流量調整用抵抗を1.5Aになるまで調整
2A以上流すのが怖いので安定化電源側で2Aに制限しつつ、コンバータ側のしぼりで安定化電源側の電流表示が1.5Aになるまで回せばいいのかなと考えこのように記載させていただきましたがダメでしたか、、、
こういう時はクランプの電流計なんかがあると便利なんでしょうか?
電圧のテスターくらいしか持っておりませんので購入も検討しています >>645
あ、、変換ミスでした、、
失礼いたしました! >>646
そうするなら大丈夫かな。
定電流は結局のところ電圧で制御しているので
最後には入力電圧が定格の状態でコンバータ出力をショートさせてもコンバータの出力が制御される事を確認すれば。 >>648
ありがとうございます!
ショートさせて最終確認とは思いつきませんでした
ご丁寧にたくさん教えていただきありがとうございました! ショートさせて電流値を設定する定電流電源は珍しくないと思うが 自分が知らないものは無いものと信じるお爺ちゃんかな >>652
定電流源だぜ、普通なこと。
定電圧源は開放で電圧を測定する。
定電流源は短絡で電流を測定する。
おまいは電線を接続しないで電流が流せられる魔法使いなのかい? そんなものはない。
そんなものは見たことがない。
そんなものは聞いたことがない。
はじめて見た、聞いた。
こういうのは、
(1)「自分の常識が正しい。『そんなもの』を是とするお前の常識は間違ってる」 という、威圧的態度。
または
(2) 経験が狭いことを開陳する間抜け
のどちらかの台詞です。
本人が(1)のつもりでも(2)の場合がたくさんありますね。 菊水とかKENWOODのトランス式の電源だと、出力を短絡しなくてもCCやCVの設定できたよ。 >>655
その通り
>>662
CVやCCの設定モードにすると、内部的にショートやオープンになってるんでしょ? 最近のはならないよ。内部基準表示しているだけ。実際電流流れていないし。
昔のは本当に電流流していた。 >>664
そんなクッソ信用できないメーカーあんのか
やっぱ菊水使うわ 定電流電源と出力短絡時定電流保護電源は異なるのでは?
(オー、漢字が12字も続いた!)w 自分の見識の狭さが露呈した上に負け惜しみとか恥ずかしい奴だな 「そんなものはない」の排他性とは違って
「〜は珍しくない」は「〜以外もふつうにある」を含むわけだしね。
特に今回の話は、定電流出力を標ぼうする、表示器のないモジュールでの確認
方法はどうすればいいの? が発端なんだし、完成品というか測定器としての
電源器の使い方にばかり話がいっても仕方がない。
ともあれ、自分で定電流電源を作るときは、実際にリミット電流が流れる負荷を繋いで
動作確認するよね?
AliExpressの item/1005001792154861 の説明だと長時間は短絡できないって
書いてあるから、短絡させるなら、ごく短時間にしないと。 STM32F103(Blue Pill)でUSBシリアルを利用してPCとの通信を行う
プログラムを作成して、問題無く動作していたのだが、PCを新しくして、
Arduino IDEと、Arduino_STM32を導入し、USB DFU / Serial ドライバ
をインストール後はこちらも正常に動作していたが、再起動したらPC
とマイコンの通信が出来なくなった。(デバイスマネージャでCOMポート
は表示され、COMポートのオープン出来、正常にPCからデータは送信
出来ているように見えるがマイコンからの戻りが無い)
Arduino IDEでプログラムを書き直すと動作するようになるが、COMポート
番号を変更したりすると同じ現象が発生するって感じなんだけど、似た様な
経験した人いないでしょうか? いたら対処法があれば教えてください。 >>685
いやいや、菊水のはショートしないよ。
電源測ってみたら? WIN10 IDE1.8.15でのスケッチのコンパイルについて質問です。
スケッチを開いてから1回目のコンパイルは正常に終了するのですが、2回目以降下記エラーで完了できません。
上部省略
Using board 'uno' from platform in folder:C:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder:C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
ボードArduino Unoに対するコンパイル時にエラーが発生しました。
一度スケッチを閉じて再度開くと同じように1度目は成功2回目以降はだめです。
スケッチの内容やボードの種類など問わずエラーになってしまいます。
数回再インストールして都度Arduino15フォルダも削除しても症状変わらずだったのですが、
先ほどたまたま1度目のコンパイル後、ツールの「ライブラリを管理...」を開いて何もせず閉じただけで
2度目のコンパイルが成功し、続けてコンパイルするとエラーで、また「ライブラリを管理...」を開いて閉じると
コンパイルできる・・・と、不思議な状態になっております。
説明下手で伝わりにくいかもしれませんが、どなたかお知恵をお貸しください。
よろしくお願いします。
「ファイル」メニューの「環境設定」から
「より詳細な情報を表示する:コンパイル」を有効にすると
より詳しい情報が表示されます。 >>669
そんな電源、Arduino初心者の誰が使うんだよ? 【速報】Arduino IDE 1.8.16 is out!
[更新日]
2021.09.06
[ide]
*非常に古いオフラインドキュメントを削除しました。
*不正な形式のボードのインデックスURLが設定に入力されてもクラッシュしません。
[wifiファームウェア]
* NINAベースのボード用に最新のファームウェア(バージョン1.4.8まで)を追加しました microsecond単位だとunsigned longでも溢れそうでfloatだとどうなるんだろうと試してみたら
a=4000.0f;
b=1000000.0f; c=2000000.0f;
d=a/b*c; e=a*c/b;
を実行したらfloatでもdとeで結果違うんだね >>676
ほんとに初心者なの?!
と騙されてみる笑 >>677
floatだと仮数+指数で保存されるから凄く大きい数字や凄く小さい数字だとズレることがある
uint64_tを使ってはいかが? 初心者と言えば、電源には何の関係も無いけど、私の唯一のArduino体験記
昔、秋月で安さ\150に惹かれて、Arduino互換基板を買って
https://akizukidenshi.com/catalog/g/gP-04399/
Arduinoに何の関係も無いプログラムをフルアセンブラで作ったことがある。
これだけの基板がこんなに安いのもArduinoが普及したおかげだな、と深く感謝した記憶が。 >>681
えっ、PLCはやってたのに、Arduinoは初めてでちんぷんかんぷん?!
と騙されてみる笑 673なんですが誰も助けないんですか?
困ってるんですけど。 働ける者は近くの町に行ってしもうた、年寄りと子供ばかりになったArduino村に何の用ですかの? >>684
肝心のエラーメッセージも載せずに誰が回答できようか。
そして、助けて欲しけりゃまず口の利き方から勉強し直せ。
お前の>>673で見せた上辺だけ取り繕った人間性が崩壊してるぞw >>687
ほう、しびれ切らして本性出しやがったかw
で、どれがエラーメッセージだって? >>630ですが再度質問失礼いたします
当初18vのバッテリーを使用するために18vのモーターを探しておりました
>>635さんに教えていただいたコンバータを使用したところとても便利で、使用するモーターの電圧が18vでなくても大丈夫と理解しました
そこでモーターとギアについて教えていただきたいです
[既存のモーターの仕様]
モジュール0.8
歯数12
モーター幅27.57mm
モーター長45.92mm
モーター軸幅2.29mm
モーター軸長13.73mm
[購入したモーターの仕様]
B00BM3BYP4
モジュール0.8
歯数9
モーター幅35.64mm
モーター長57.18mm
モーター軸幅3.12mm
モーター軸長9.43mm
1.購入したモーターに合う、軸幅以外が既存のギアと同じ大きさのギアを探しているのですが見つかりません。
みなさんどこで金属のギアを探しているのでしょうか?
2.18vに拘らないことから、既存のモーターと同じ大きさのモーターを購入し、既存のギアを付け替えればいいのかなとも思ったのですが、モーターのサイズに規格などあるのでしょうか?Amazonだとモーターの仕様がろくに書いてないことが多く、同じモーター幅・軸幅のものを見つけるのに苦労しております。規格があればパッと同サイズが見つかるかなと考えたのですが見当外れでしょうか。
おかげさまでプーラーですんなりギアが外せました
また新たな質問で申し訳ないのですがどうかご教示いただけますと幸いです 誰も助けないんですか?
誰も助けてくれないんですか?
エラーメッセージがどれなのかわからないんじゃないの?
俺は触りたくない >673なんですが誰も助けないんですか?
>困ってるんですけど。
>載せてますが?
>アホなのかな?
俺はこういう奴好きだよ、今暇だからw >>693
結局、IDEをダウングレードして解決ってこと? >「ファイル」メニューの「環境設定」から
>「より詳細な情報を表示する:コンパイル」を有効にすると
>より詳しい情報が表示されます。
と書いてる真意がよくわからないんだけど、
まあ、再インストーはやってみる価値はあるよね。 >>693の人は
>verbose is enabled
と書いてるわけで >>692
レスありがとうございます
抵抗値を測定してどのように活用するのでしょうか?
テスターの抵抗値測定は抵抗のカラーコードを覚えていないため使用するくらいしかしたことがなく、無知で申し訳ないです、、 >>697
オームの法則、V=IR でモーターの抵抗が5Ωだったすれば
18V= nA x 5Ω
n=18V/5Ω=3.6A
3.6Aくらい流れるなとだいたいわかる
モーターは始動時にその4倍くらい見ておかないと繋いだ瞬間ヒューズが飛びまくったりする
電力を食わないモーターは大抵回らないモーター MacでIDEがダウンロードできません
ダウンロード先のファイルにセキュリティの問題があるためダウンロードできません と出ます
どうしたら良いのでしょうか? arduinoに繋いであるワイヤをそのまま無線にしたいんですけど、なんかいいツールありますかね?プログラムを書き換えないで無線化したいです >>701
何をつないであるの?
wifi Bluetoothもスケッチ必要だし 今はESP8266、ESP32の方が安いなw Aliで200円台で買えるw
Wifi使えるしESP32ならBluetoothも使えるw メモリも潤沢w
なにもArduino Uno, Nanoに拘る必要ないなw tweliteとか。
ESP32とかで通信含めて作り直した方が良いだろうけど。 ESP32なんかファミコンやGBCのエミュが動くんだぜw? すごくねw? >>693
まさにこれです。
初心者じゃない人がこのスレに居たんですね!
スーパーオマ環じゃないとわかり一安心。
ありがとう! >>698
その5Ωってのが冷間停止時の抵抗値だとすると,その条件で始動電流が3.6Aを超えることはないよ
始動電流が4倍とか5倍とか言われるのはあくまで定格電流に対する目安であって,冷間停止時の抵抗から決まる電流に対する目安ではない >>686
でもここの住人>>610の電卓の参考スケッチも答えてないね。 みんなエステームの町やイエスピイへ出稼ぎにいってしまい
もはや年寄りと子供ばかりになったArduino村ですのじゃ 答える義務はない
丸投げなヤツ、態度がでかいヤツは
勝手に待ってりゃいいのでは? >>673
>>ID:v2a5SaIW
>>ID:lAlAM7nB
こういうふざけた小僧がうろついてるから
回答は控えようと思う 外の屋根のある所で常に動かそうと思っています
クロック数落としたり時々スリープ入れた方が長持ちするんでしょうか?
電源はコンセントからUSBで供給します
屋根はありますが壁はないので湿気とかサビとかが気にはなります
何か注意点があれば教えてください
M5Stackなのでこのスレでいいかどうか? >>714
スキル無いから答えられないだけだろwwwwww >>687 は質問者の立場なら抑えてほしかったところ。ちゃんと考えてるほかの人にも悪い印象を与えるしね。
というか、質問者の悪い面(悪い面は誰だって持ってる。普通は抑えてるから社会が成立している)、を引き出して、
質疑をぶちこわすことに熱心な人もいる。質問者は挑発に乗らないことが大切。
>>688 は自身が想定しているエラーメッセージでなかったから、673に書かれたメッセージをエラーメッセージとは
認識できなかっただけじゃないかな。
どちらにしても挑発的であったり、挑発されたから復讐する権利がある、みたいな言葉のやりとりは
得にはならないよ。 >>715
ESPのスレの方が良いかも。消費電流についてならESPの公式に資料がある。使わない時はWifiとめるとか。コンセントなら気にしないでもよいかもだが。
寿命に関してはわからん。紫外線や高温高湿は避けた方が良いけど。 >>716
アンテナの改造に該当する、と言われて技適警察の餌食になるからコーティングは止めた方が良いと思う >>715
あと、電源は18650で、Deep-Sleep入れて、2週間くらい。
データを送ってきてるかどうかを室内の別のモジュールでチェックしてる。
こちらはコンセントからの電源で動いてる。
屋外からのデータが途切れたら電池交換する。 >>718
俺は、
>「ファイル」メニューの「環境設定」から
>「より詳細な情報を表示する:コンパイル」を有効にすると
>より詳しい情報が表示されます。
ってあるから、エラーメッセージ全部出せよって思って面倒くさそうだから放置。
の後の>>714の書いた通りのふざけたレス。
放置してよかったと思ってる。 >>715です
貴重なお話ありがとうございます。
もう一つお聞きしたいのですが
試作はブレッドボード使うのですが
うまくいったら100個単位でたくさん作ろうかと思ってます
数が多いので基板とか部品とか付けてくれる業者ってあるんですか?
回路図は手書きです
落書きみたいな感じです >>725
あるよ
確か、プリント基板自作、とかのスレもあると持うから探してきいてみて >>725
マルツエレックがそういうの対応してる。
たぶん、ビックリする金額になると思う。
フリーのcadで回路図清書して、プリント基板の設計をすれば、エレクロウとかpcbgogo とか中華の基板商社が部品実装までしてくれる。 スレ見てみましたが全然初心者向けじゃなくてドン引きしました
kicadなんとか覚えてpcbgogoとかに頼めるようがんばってみます
ドン引きしないように技術覚えようと思います
みなさん大変感謝します
ありがとうございます いまどき感光基板なんか誰も通らない、見向きもしない。 今の最新の科学技術でもっと簡単にプリント基板が作れいなものかなぁ 生基板にマヂックでパターン描いてエッチング液に浸して洗うだけだぜ簡単だよ 伝導性インクとか、最近の動向はどうなってるんかねえ
あまり興味ないから話題を追ってないんだけど >>718
ただじゃれあってるだけで本気で感情的になってる人なんて居ないと思うよ。
気になるんだったら別の掲示板にでも行けばいいんじゃないかな?
>>724
なんだかんだで放置しきれてないのがダサい。マジで。
とりあえずIDE 1.8.10にダウングレードしたら症状が治まりました。
原因は不明のままですが、とりあえずこれでLチカが捗りそうです。
ありがとうございました。 >>736
win10のみのバグか
フォーラムで見てたらアンチウイルスソフト云々とかも書いてあるね
>>まずアンチウイルスを一時的に無効にしてみて問題がなくなるかどうかを確認
>>コンパイル成功すればアンチウイルスを再び有効にして適切なファイル・フォルダ・プロセスをホワイトリストに登録してコンパイルを妨げないようにする
>>preferences.txtに以下の行を追加する
compiler.cache_core=false 開発関係は丸ごと除外しておかないとトラブルの元だな
ストレージに直アクセスするプログラムとか作ってた時にビルドした途端に削除されて
コンパイル成功してんのに実行ファイルが出てこないという謎現象とか保存した途端にソースを消されたりとかしたから基本丸ごと除外だわ >>737
アンチウイルスOFFにしてIDE1.8.16で試してみたけどダメでした。
compiler.cache_coreをfalseにしても変わらずです。
フォーラムでも同じ問題のスレがいくつかありましたがどれも解決してませんね。
該当する人はバージョンダウンすればいいだけなので特に問題になってないのかな。 https://i.imgur.com/Rmns9w4.jpg
現在A回路とB回路にそれぞれスイッチがあるのですが、A回路のタクトスイッチを押したときにB回路もONにしたい場合どのようにしたら良いのでしょうか?(スイッチを一つだけにしたいです)
A回路にリレーをいれて、リレーONでB回路が繋がるというやり方が浮かんだのですが、他に方法があれば教えていただきたいです 最近arduino関係ないだろっていう質問多くない? モーターとリレー(コイル側)の直列はフライバックが怖いな
押しボタンにこだわらないなら2極スイッチってものがある
どうしてもタクトスイッチがよければ、ラッチ機能のあるタクトスイッチで1入力2接点タイプのリレーを使うのはどうかな >>741
モーターぶん回すのにフォトカプラで電流容量足りるかな? 12Vの電源のマイナスと、5Vの電源のマイナスは接続されていたらダメ?
だめだったら、あなたが書いてるようにリレーが簡単かな。
ホトカプラで駆動できる電流は多くはないから、フォトカプラを使った場合は
トランジスタかFETで電流増幅が必要になるし。 トランジスタ・mosfetがいるね
メカニカルリレーのほうがシンプルかー >>748
ソリッドステートリレーはオン抵抗が大きいのと誘導性負荷を切ったときに発生する高電圧に注意が必要というのもあるので今回の用途ではあまりオススメしない >>745
マイナス接続することでリレー不要になるんですか? >>740
何を悩んでいるのかちょっと分からないな。
それって2回路入りの2極単投形スイッチで一緒にON/OFFすればいいだけやん >>740
そもそもなんでこのスレ?
arduinoにどんな関係があるの? >>753
頭悪いな。
arduino使ってどうやればいいかって質問に決まってるダル >>751
5Vの電源の回路と12Vの電源の回路が絶縁されていないといけない場合は、
電磁か半導体かはともかく、リレーのようなしくみが必要。
でも、たとえば、5Vの電源と12Vの電源のマイナス同士が接続されているなら
リレーは要らないよ。たいていの場合モーターのON/OFFはトランジスタかFETで
よくなる。 4ピンのタクトスイッチなら普通に2回路制御できるのでは。負荷がモーターなら電流的に直接はつなげないが。 >>757
2回路のタクトスイッチって無くね?
>>758
もとの質問ではタクトスイッチの使用が条件らしいぞ >>757
普通のタクトスイッチは1回路しかないよ
質問者の「タクトスイッチ」縛りがネック
タクトスイッチ以外は使っちゃいけないのかな? そもそもパワー回路にタクトスイッチを使うのはお勧めしない >>759
プッシュスイッチと混同してたわ。タクトスイッチにこだわる理由が質問者にあるかしらんけど。 >>740
>A回路にリレーをいれて、リレーONでB回路が繋がるというやり方が浮かんだ
それでいいよ。
具体的なやり方知りたかったらまた質問してね。 ああ、タクトスイッチか。
タクトスイッチは、扱える電圧も電流も小さいし、直接モーターを回すのには向てない。
寿命が短くなるよ。
タクトスイッチで、リレーをON/OFFして、そのリレーで二つのモーターを動かす、かな。
と言っても、製品を作るわけでもなく、実験でなら出来ればOKだけど。 スレの趣旨に当てはまるように考えるなら、タクトスイッチの入力をarduinoに入れて、入力を検知したら回路A,Bをオンするためにリレーをオン/オフするように出力を切り替えるってことかね 3DプリンターのEnder3のブートローダーを書き込みたくて、UNOのクローンをamazonで購入しました。
ArduinoIDE1.8.16を入れて、CH340のドライバも入れましたが書き込みができません。
デバマネでもUSBserialとして認識されておりぐぐってよく出てくる状況とは違うように思います。
[ボード情報]
BN: 不明なボード
VID: 1A86
PID: 7523
SN: 取得するには任意のスケッチをアップロードしてください
[エラーメッセージ]
Arduino:1.8.16 (Windows 10), ボード:"Arduino Uno"
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduinoisp -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : usb
Using Programmer : arduinoisp
avrdude: Error: Could not find USBtiny device (0x2341/0x49)
avrdude done. Thank you.
ブートローダの書き込み中にエラーが発生しました。
ボード情報が読み取れていないことが一番の原因かと思いますが、対処法あればご教示ください。 >>767
そのエラーメッセージでググると
書込装置を Arduino as ISP にしたら書き込めた。
ってのが出てくるけど、確認しましたか? >>768
Arduino as ISPとArduino as ISP.orgの2つで試してダメでした。
他の設定は中身が何もわからなかったので試しておりません。 >>769
Using Port : usb
ってのが解せない。
あと、
UNOのライタ化
Ender3にブートローダ
Ender3にファーム
の都合3回書き込み操作をすると思うけど、どの段階? >>770
ライタ化です。
ArduinoIDEのブートローダを書き込むのところでエラーが出て先に進めない状態です。 >>767
ちゃんと繋げてるか?
UnoとEnder-3のボードの接続の写真アップしてみ Windows10からCH340のドライバ標準でインストールされるみたいなこと書いてるホームページあったけど
一旦ドライバをアンインストールしてUSB接続したときにインストールされるやつでやってみるとか 3Dプリンタ用のボードって最初からブートローダ入ってるのでは。 >>772
>>773
https://i.imgur.com/45Oppd6.png
PCからの書き込みができないので、これで失礼します。
ドライバアンインストールすると不明なデバイスとなり、IDEでも認識していませんでした。
ちなみに、画像はハブに接続してますが、前面背面ソケット試しても状況変わらずでした。
>>774
Ender3についてはブートローダが入ってないようで、こちらで書き込む必要があるらしいです。 >>775
ああEnder-3に書き込めないんじゃなくてそもそもUno自体が使えてないのか
Win10でもCH340のドライバはメーカーのサイトから落とした奴をインストールしたほうがええで シリアルからブートローダって書き込めたっけ?
USBaspとかISPからじゃないと出来ないんじゃねーの? 流れからしたら、UNOをライタ化することができないと読めるが、
やってることはブートローダーの書き込み?のエラーだよね?
スケッチ例から ArduinoISP を普通に転送するんだけど。
その意味が分からなければ、まずLチカから。。。 helloworldで動作チェックのサイト見つけてやったところ、ArduinoISPの書き込みまでうまくいったようです。
プリンターの接続は明日配線して、になりますが、一歩前進できました。
また明日報告できればと思います。 >>778
おめ。
で、原因は何だったんでしょうか? まずはただUnoにArduinoISPのスケッチを書き込むだけだったのに、ブートローダーを書き込むの方押してたんでしょ 結論から言うとブートローダーの書き込みは断念しました。手元の基板がネットで出てくる6pinではなく4pinかつ情報が見つからなかったためです。
ちなみに、最初は>>783のおっしゃるようにブートローダーを書き込もうとしてエラーが出ていたようですが、今もスケッチの書き込み自体が成功したり失敗したりしてなぜか安定しません。
ノーブランドのクローンで一切書き込みができないといったサイトも見つけたので、自分と同じなのかはわかりませんが、中華品なのでと考えることにしました。
スレ汚し大変失礼いたしました。 >>784
ボードの写真upしてみたら?
特にCPUの型番が読み取れるような拡大写真と共に
きついレスもあるけどちゃんと情報示せばわかることは答えてくれる人もいる。 >>784
まぁ結論が出てるようなので、あれなんだけど、今後は自分のレベルにあった
買い物することだね。諦めの速さから財布には合ってるようだけどw
文書も私、意外理解できないようなモノでしたし、想像だけど、その中華UNOは、
正常に動いてるぞ。PCも正常。ただ使用者と組み合わせた時に、何かと問題がある。
(どうせハブ経由か、隣に刺さってるBTモジュールに電源喰われてるんだろうな)
よくあることだけどね。 >>784
>ブートローダーを書き込もうとしてエラーが出ていた
ArduinoISP.inoをProgrammer:ArduinoISPの設定で書き込もうとして
Burn Bootloaderをクリックすると確かに>>767が再現するね。
そっちは解決だ。
で、現状、エラーになるときはどんなエラーメッセージなんだろう?
あと、6pinでない4pinの写真とかをアップする気はないのかな? マウントすんなって。もうこの質問は終了、自分のプロジェクトに戻りましょう。 >>786のおっしゃる通りで、見切り発車がこの結果です。お恥ずかしい。
一応写真だけアップしときます。
ざっと調べた感じ、この4pin対応のライターも売られてるようなので、少し勉強してからチャレンジしようかなと。
基本このレスで最後にしようと思います。
ありがとうございました。
https://i.imgur.com/Vnu5Sdq.jpg STlinkだと思われるが、そのバイナリは持ってるのかな?
最初から ArduinoIDE で出来ると思ったこと自体、かなり斜め上だけど。
別のプリンター買った方が良いかもね。 ヒューストンもくだらない男に捕まっちまったばかりに早死にしちまった >>792
ウィーおおーうぇっ らーーびゅううーーあややややーー テストする際はブレッドボードに刺せるようにピンヘッダをはんだ付けするのが一般的のようですが、本番ではスペース的に問題があるのでコードを直接はんだ付けしようと考えています。
なので、はんだ付けしなくても使えるピンヘッダ、またはそのようなテストツールを探していますがご存知ないでしょうか? >>796
ブレッドボードに載せようとしていのは何?
IC?
どんなパッケージ?
それによって使うものが変わってくる >>797-799
すみません使用ボードはELEGOOのArduino Nano互換品です
説明不足にもかかわらずリンクまで貼っていただき恐縮です
特に後者の方はまさに求めていたものです!本当にありがとうございました >>802
すご
初めて見た
これは便利そうですね 自分で実験すれば分かるんだけど
知ってる人がいたら教えて
delayやsleepを入れたらmillisも停止してしまうんでしょうか? RobotDyn STM32 Mini (STM32F103C8T6)のブートローダ入りを使ってます。
新しくホストにしたミニPC(CHUWI HeroBoxPro)のUSB2.0ポートでの接続は正常
ですが、USB3.0ポートに繋げてみたら、全く認識しない(不明なデバイスの表示
すらなく、接続しても外してもデバイスマネージャーの表示が変化しない)状態で
困ってるのですが、何か対応策ご存じの方居たら教えてください。 >>804
millisが止まらないってtimer0が止まらないってことかと思うけど、Delayは
microsを指定時間空ループさせているだけなので止まらない
sleepがavr/sleep.hをインクルードして使うやつのことならば使い方によると思う
そもそも論としてarduinoのこのsleep関数は、WindowsやLinuxのプログラミングで
プログラムの動作を一時的に停止する機能と同等のものではなくて、システム
全体を待機とか休止状態にするものなので使いどころが違うのではないかなっと思う >>806
ありがとうございます
delayでは止まる可能性は多分なくて
sleepではケースバイケース的な感じですね >>804
しない
>>805
割とよくある
USB2.0のハブをかます >>808
追記sleepがアイドルより下のレベル(パワーダウンとか)なら止まる >>809
なるほどやはりdelayではmillisは止まらない
sleep()は軽いスリープだから止まらない
deepsleep()だと止まる
こんな感じですね
ありがとうございます >808
USB2.0ハブかましたら認識するようになりました。
相性なのかな?ありがとうございます。 アルディーノと関係ないかもですが、極力薄いモーターの型番って誰か知ってますかね?壊れたmacbookを興味本位で分解してみたらいままで見たことないくらい薄いモーターが入ってたんですけど探してもどこにも売ってないんですよね macbookにモーターですか 何を駆動してますかね
興味本位の疑問です 質問失礼します
リチウムイオンバッテリーでarduinoを稼働させているのですが、バッテリーの持ちを10倍にしたい場合、並列で10個接続すれば良いのでしょうか?
リチウムイオンバッテリーを並列や直列で接続するとなんとなくバッテリー間に電流が流れて危険なイメージがあるですか何か危険があれば教えてください でかいバッテリーに変える
あとスケッチはちゃんと省電力になるようにしてあるのか?
例えば10分に1回温度と湿度を記憶して1日に1回まとめてSDカードに記録するとかだと単三電池3本で数年は使えるぞ 質問です
電圧のピンとGNDのピンに正負逆の電圧が長時間かかった場合、回路に異常は起きないでしょうか?
この手の問題って呼び方がありますか? >>813
たぶんこの系統ですね
ありがとうございます
>>814
ヒートシンクを冷やすファンに使われてました。アップル製品は分解してみると完成度高くてビックリしますよ。アップル製品は外装よりも内部のほうが美しいと言われてる理由が分かりました >>818
逆接続。過電圧と逆接続はIC類が壊れる原因の大部分だと思う。ものによっては安全のために物理的や電子回路的に保護があったり。arduinoのDCジャックは極性が逆のアダプタでは電流が流れないようになってるはず。 >>820
有り難うございます
充電池から他回路と並列で電力を取ってるんですが充電時に逆にかかるようなので心配で聞きました。
使ってるマイコンにもよると思うので調べてみます。 >>816
並列で大丈夫だよ。
並列なら安全性は一個の時と同じ。 >>816
並列の場合、同じモデルの物を出来るだけ同じ電圧に充電してから組み立てれば使える事は使える
それでも製造時のばらつき(内部抵抗の小さな違いなど)で循環電流は発生するので10個つけても容量10倍にはならない(効率が悪い)
また容量が違う、または容量が同じでもメーカーやモデルが違う、などを並列にするのはNG
直列の場合、そのまま充電するならバランス充電(つまりはセル毎の監視)が必須なだけで他の問題は無い 充電池なら電圧が違っても片方が給電側もう片方が充電になるだけだから、同じタイプなら危険ではない。 電圧の差が大きいと繋いだ瞬間に結構な電流が流れてセルにダメージがあるから最初に揃えておくにこしたことはない
例えば3.2Vの使い終わったセルと4.2Vのフル充電のセルをそのまま繋いだら相当アツアツになって劣化するぞ
最終的には2つが同じ電圧になって行く事は正しいが・・・
最終的に2つ揃った電圧になって落ち着くハズなのに並列にすると使って無い時の減りが微妙に早くなってしまうのは
どうしても温度変化などから起きる電圧の微妙な変化量に製造上の差があるから循環電流が完全にゼロになる事は無いせい
出来るだけ諸特性の揃ったセルを使うことでここを減らせる 電池の寿命に与える影響とか安全性を記にするなら、大容量の電池1つのほうがよりよいけどね レスありがとうございます
いただいた御回答から以下のように理解しました
---
同じモデルで並列で接続する場合
・使用時に特に問題はおきない
・充電時に特に問題はおきない
・接続時は同じモデルで満充電にしてから繋ぐ
同じモデルで直列で接続する場合
・使用時に特に問題はおきない
・充電時にバランス充電が必要
---
>>822
直列だと危険でしょうか?
>>824
それは並列の時だけで、直列の時にはセル同士で給電充電はされないのでしょうか?
直列の時に0vのバッテリーが含まれている場合、ただの金属として電気が通過していくようなイメージで合っていますか?
例:5v+5v+5v+0v+5vと繋いだ場合、20vになる
ちなみにバランス充電とはどのような仕組みでできるのでしょうか?
バランス充電するためには何があればできますか? >>827
負荷電流がずっと一定ならその通りなんだけど、変動があるとセル内に構造上発生する誘導/容量成分によって自身の起電力を超える電圧が端子間にかかる可能性がある
これは直流であっても同じ
万一それが瞬間的にでもセルの絶対最大定格を超えたら致命的 リン酸鉄リチウムイオン電池とか充電するときに電池ごとに監視して充電してるけどその装置を
なまちくとかニッスイとかに転用したら電池にとって優しい? >>827
バランス充電は単純に直列になった電池の1つ1つの電圧を監視してセルごとに充電電流を制御できるようになっている
専用のそういう充電器がある(または専用のICがあるので自分で作る)
当然直列された電圧を出力するメインのコネクタと別にバランス充電用の1つずつセルから引っ張ってきている端子が必要
ラジコン用のリポバッテリー(と充電器)なんかはラミネートのセルが直列になってるのが多いしコネクタなんかも分かりやすい
http://www.okmodel.co.jp/shincyaku/T15_plus/T15_plus_02.jpg
バッテリー上側の太い2本の赤黒のが直列されたメインのコネクタ(ラジコンに搭載して実際に使用する時はここだけ繋ぐ)
バッテリー下側の細い複数の線がバランスコネクタで直列になった各セルから出てきて電圧を監視したり充電電流を調整したりするのに使う
こっちは充電時のみ接続する(高級なラジコンだと使用時にバランスコネクタも接続してバッテリーの各セル電圧をモニタするのもあるが) >>827
趣味の工作レベルなら劣化したやつと新品を並列に繋いでも問題ない。
もちろん最初は電圧合わせないとだめだけど。
劣化といっても2Vきったようなやつはだめよ。 >>831
自分がやる分には自己責任である程度妥協できるけど、俺なら他人にはオススメしないかな
自分のレスが原因で知らない誰かが怪我してないかと怖くなる >>828
レスありがとうございます
私の理解力が乏しくいくつか教えていただきたいのですが、
モーターを使用した場合、負荷電流が一定にはならないので、「セルの最大絶対定格超える」という問題が発生するのでしょうか?
対策として直列または並列で接続する前にバランス充電しておけば問題が発生しませんか?
自身の起電力を超える電圧が端子間にかかると言う状況はどのような場合に起きるのでしょうか?
>>830
専用の充電器があるのですね
ご丁寧にありがとうございます
>>831
なぜ2v切るとダメなのですか?
リチウムイオンバッテリーはすぐに燃えてしまう・爆発してしまうイメージだったのですが心配しすぎですかね
バランス充電を自力でやってみたいと興味が湧いたのですが、1セル、3.7vのリチウムイオンバッテリーを安定化電源を繋ぎ、4.2v1Cで電流を流して充電した場合、バッテリーの電圧が4.2vになった時点(安定化電源と同じ電圧になった時点)で安定化電源からの供給が0Aになって止まるのかなと考えたのですが間違っていますか?
また、このまま引き続き安定化電源に接続したままにしても問題は起きないと考えたのですがこれも間違えているでしょうか? >>835
モーターが負荷とのことですが、モーターやリレーなどの誘導性負荷をオン→オフすると、瞬間的にコイルにそれまで加えていたのと逆向きの電圧が発生します(フライバック電圧といいます)
対策としてはフライバック電圧を抑えるためにダイオードを追加する、電池と負荷の間に電解コンデンサを並列につないで負荷変動を緩和するなどがよいかと思います >>835
リチウムイオンバッテリは基本的に単セルあたり3.2Vを切るか4.2Vを超えるような電圧にはしてはいけません
上に超えた場合は発火する可能性があって危険だし下回った場合はバッテリーは死にます ソフトシリアルを実装する場合、ボーレートに合わせたタイマーで割り込んで読むのと
ポートの割り込みで読むのとではどちらが一般的ですか 非同期シリアルはポート割込みのみでは読めません
何かしら計時するものがないと…CPUで時間数えんのけ? 一定間隔でポーリングするほうがノイズに強く作りやすいね。
エッジ割り込みで拾うと髭ノイズを拾う可能性が上がるので
フィルタつけたりしてめんどい 常にポーリングなんかしなくてもエッジで割り込みかけてスタートビットか見てやればいいじゃん まあどうしても忙しいならそうするしかないわけだが、たいていはポーリングのほうが
いろいろ楽だね。
ポーリングはもちろんタイマー割込みで一定間隔ね 最低bpsの倍くらいでポーリングしなきゃならないじゃん >>841
そりはシリアルの実装ではなくてシリアル利用のサンプルではないかな? >>849
これはポート割り込みでrecv()を呼び出した後、割り込みを止め、半ビット分delayして
そのままdellayで時間調整しながら1バイト分読んでるんですよね
最初にスタートビットで割り込みが発生する事が大前提になってると思いますが、
相手が垂れ流してる中に途中から読みに行った場合は1/9位の確率でしか読めない? 対応するには、ストップビットまで読みに行ってもしストップビットがHならLになるまで読み続け
Lになったら抜けるを繰り返せば頭数バイト駄目になってもその内合うのかな 電子工作の知識をきちんと勉強したいのですが、どこで学べるものなのでしょうか?
将来的にarduinoで作った製品の販売などやってみたいと考えています >>851
まず基礎として大学または高専のの電子工学科 そしてArduinoは知識の無い素人でも手軽に使える様にする為の物なので知識がある人はArduinoは使いません >>852
電子系の専門学校でもいいんじゃ無い?
>>853
それも含めて専門教育受けると判断できるようになるでしょ? >>853
何故なんだろう
ほとんどの事がArduinoで済んでしまいそうな気がする
コスト?計算のスピード?ノイズの強さ?
何でだろう >>854
専門学校行くなら工業高校で十分。行くなら大学に行けよ。 >>853
確かにArduinoは素人でも手軽に使えるが、だからといって知識がある人は使わないかと言えばNoだと思う
知識のある人はArduino以外の選択肢も持っているというだけで、コストその他を勘案してメリット有りと判断したら迷わずArduinoを使うだろう >>856
製品として売るならライセンスやコピー対策も考えないと
>>857
工業高校は余程強い意思を持って臨まないと回りに流される。
ロボコンなどに毎回出場しているような高専なら良い意味で回りに流される。 >>859
コピープロテクトはArduinoでもあったよね
ライセンス?
分かんない
何のライセンス?
なんか届出がいるの? まあ専門は相当気合入れてやらないと身につかないからな
専門でそれなりの技術をつけるだけのやる気のあるやつは独学でも専門で習う程度はいける アラフォーおっさんが専門行くと周りが気まずいだろうか
おれは気にしないんだがw
リモート授業のみだとありがたいなぁ 専門学校の最就職支援コースとか行くとおっさんとかいるぞ 独学で十分ていうか今の時代、独学の方が良いんじゃ?
もちろん学びの場はYouTubeで! >>866
俺も足りない部分だけ補える独学に賛成だけど、
高専で教材に使ってるような本20冊くらい読み漁って理解できない部分のみwebや動画で補填って形が
時間的にもコスト的にもベストだと思うわ
教材本は1から10までも網羅してるからね
YouTubeは見るのは楽しいけど費やした時間の割りに得るものが少ないな、情報も偏ってたり基本的な事が抜けてたりするし >>869
教材に使われてるような本がどういったものでどこで入手出来るかもわからない件について ・学校に聞く
・サークルでblogやってるような連中に聞く
・知り合いのつてで卒業生に聞く、または不要になった本を売ってもらう
・ジモティーで募集する
いろんな手段があると思う 学校付近の本屋さんで指定教材聞いて購入する手もあるな >>873
初心者はウソとホントを判別できないと思う でも、一応>>871の答えが正解だよな
5chみたいなアカウントも無い匿名掲示板は、発言に責任無いもんな 電子工作ってやっぱり難しいんだなって思った
うまくいくはずなのに動かない
なんでだ?
これを楽しめない人は向いてない?
動いた時は達成感ある 失敗した時に経済的ダメージ受けるのがなあ
肉体的なダメージも稀にああるけどなあ マイコンを使う工作はハードとソフトの両面の知識がいるからね
どんなに完璧なプログラムでも、たった一つのハンダ不良で動かないとかあるからね
なんとなく自分の場合はたいていハードに問題があったケースが多いわ >>879
パソコンに転送するには通信もいるし
パソコンのユーザーインターフェイスもいるし
全部含めたらすごい知識量だよね >>877
そうじゃない
理解しようとせずにコピペするだけの人は何も出来ないというだけのこと
うまくいくはずなのに動かない
うまくいくはずなのに
うまくいくはずなのに
うまくいry 相性とかあるデバイス独特の儀式みたいな
そんなの分かるわけねえよ的な 机上で仮組みして動作確認後、実機に組み込んだら電源悪くて動かねぇとか 室外に設置するの工作なら、気象・気候の影響を鑑みる必要があったり、不具合の要因が多岐に渡ってるよな
電気の知識はもちろん、最終的なケース造りの知識とか
電子工作はあらゆる知識が必要な総合工作だよ! 高温・低温・結露・ホコリ・熱衝撃・機械的振動その他考える事がたくさんある
室外って設計大変だよな >>881
> うまくいくはずなのに動かない
そいつが想定した通りじゃないってだけ。
機械やソフトは、物理的に壊れてない限り指示通りにキッチリ動いてる。 >>866
元が「電子工作の知識をきちんと勉強したい」だから、独学だとキチンと学べたかの尺度が無いなぁ。
それでも独学を選ぶならゴールは「エンベデッドシステムスペシャリスト試験」合格かな。 >>885
屋外はやりたくないなw
結露・ホコリ・熱衝撃・機械的振動を考えると密閉構造になり、高温時の放熱どうしよになる。
そこに低温が加わるとヒーター組み込んで予熱して…とか、これが電気屋の仕事かと思う程の熱設計の知識が求められるし。 >>887
情報系と違って電子ハード系の公的資格って殆ど聞かないよな
適用分野によって必要とされる知識・技術の深さが大きく違うからというのもあるのだろうけど 屋外ならまあテストも何度でもできるかもしれないけど宇宙へぶっ飛んでいくやつなんかはそんなに何度もテストもできないから最近の日本の航空宇宙物は大したもんだよな >>856
そうなんだよな
おれはUNO縛りでどれだけ詰め込めるかやってる arduino IDEからplatformIOに移行してコンパイルしたら関数宣言ないぞって怒られたのでプロトタイプ宣言したら鎮まったんですけどこれそのまんまc++としてコンパイルしてるんですかね
arduino IDEだと怒られないのでそれに甘んじてたけども あてずっぽうなんだけど、platformIOは普通に各々ソースがc++のソースとして、
オブジェクトファイル(.o)が作られるので、リンカーでリンクするときに関数宣言が
ないとその関数なにってなる
arduinoIDEは「.ino」とかincludeする「.h」で読み込まれる「.cpp」とかを全部
サルベージして1つのファイルにしてからコンパイル->リンクってしているので、
リンカーが参照する時点で見えない関数とかがないみたいなことじゃないかな? >>892
ずっとArduinoIDEなんだけど、ある日から急にエラー吐くようになって、setupとloopの前に関数を移したら直ったことならあるわ Arduino IDEってダメなの?
文字の色が種類によって変わるし
シリアルモニターとかプロッタとかすごく便利だし
エラーの修正するのも分かりやすいし
他のはもっといいの? シンプルで使いやすいよ
足りないのはデバッグ機能、例えばスケッチを1行ずつ実行するステップ実行とか
スケッチのこの行で一旦止めたい時に使うブレークポイント、
あと単語を自動的に補完するインテリセンスとか、関数とかを折りたたんでスケッチ全体を見やすくしたりとか
次のバージョンでインテリセンスとかは付くみたい デバッグ機能はすごいですね
そんなのあったらいいな
インテリセンスっていいですね
ケアレスミスは誰にでもありそうだから インテリセンスとかはvscodeでやればできますよ
arduino pro IDEって全然話題出てこないのはやっぱりデフォのIDEからvscodeに移る人が多いからかな やっぱvscodeは超えられてなさそう?
atmel studioはどうなのかな
環境構築がダルいと聞いて二の足踏んでますが arduino IDEで関数の折りたたみできてるけどねうちのは まぁ、好きな環境ですりゃええんじゃない?
仕事ならまだしも趣味なんだろうから。
どれが優れてるとか、言い出したら本人次第が答え。
CLI+emacsがある限り、どんな環境でも好きに作れるからね。
Windows環境からvscodeが有名なだけで、eclipseもNetBeansでも出来る。 Eclipseはないわー
アンチMSのくせにちゃっかりVSCode完パクしてるし だ・か・ら・・好きなの使えよ!
どれが何をパクろうが、俺には関係ないが、歴史ぐらいは調べた方が良いよ。 arduino ide for vsってどうなんだろ 普通に使えるけどモニタ機能とかのウィンドウがこじんまりしてて操作しづらい
コーディングはvsなので一番楽 Arduino IDE 2.0ってVScodeのラッパーみたいなもんでは >>911
慣れてるなら別に好きなエディタ+ArduinoCLIとかでいいわけで
もちろんPlatformIOでも好きなの使えばいい
公式が出しててフォーラムでサポートしてもらえるってのが重要な人は居るんでね
まぁあそこ英語だけど タクトスイッチの長押しで電源オンオフさせる回路ってどうなってるんですかね?
実際は常時電源オンになっていて、長押しされたら動作オン、また長押しされたら省電力モード、みたいな仕組みなんでしょうか? 回路はINTピンにボタンを付けるだけ
スリープさせて外部割り込みがあったらとりあえず起きる
押されてる時間を測って長押しならそのまま起きてる
短ければまたスリープへ AC100VからDC5Vに変換とかはよくあるけど、その逆って出来ますか? fruit.csv
日付,くだもの名,個数
2021/9/28,りんご,1
2021/9/28,みかん,3
2021/9/28,ぶどう,10
2021/9/28,なし,3
2021/9/29,りんご,9
2021/9/29,みかん,10
2021/9/29,ぶどう,8
2021/9/30,みかん,4
2021/9/30,ぶどう,2
2021/10/1,りんご,2
2021/10/1,みかん,5
2021/10/1,ぶどう,3
2021/10/1,なし,10
最新日(10/1)のりんごの数、最新日のくだものの合計
最新日の前日(9/30)のりんごの数、最新日の前日のくだものの合計
これらを求めたいです。プログラム例教えて欲しいです。よろしくお願いします。 >>919
日付,名称,りんご個数,総数のフォーマットで最新と前日のデータを定義する
関数:ファイルから区切り記号または改行までを取得する
関数:文字列を日付変換して返す
関数:文字列を数値変換して返す
関数:最新データをゼロクリアする
関数:最新データを前日データにコピーする
関数:累計データ型に入力_個数を加算する、りんごであればりんご個数も加算する
メイン:
(最新データをゼロクリアする)
(最新データを前日データにコピーする)
(ファイルから区切り記号または改行までを取得)し、終端までこれを繰り返す{
文字列を形式し、入力日付、名称、個数を得る
入力_日付が最新_日付より大きければ→(最新データを前日データにコピー)し、最新データに入力データをストアする(ゼロクリアして加算)
入力_日付が最新_日付と同じであれば→(最新データに加算)
入力_日付が前日_日付と同じであれば→(前日データに加算)
}
結果を表示して停止。 >>921
ヒントどうもありがとうございます
じっくり読んでみます
>>922
エクセルだと当然簡単に出来るけどPC使わないでArduinoでやりたくて。 C言語入門とかでやりそうなやつだな、課題とかだろうか
わざわざarduinoでやる意味あるんか arduinoにcsvファイルおくるのをどうするか。シリアル通信やスケッチに直書きするぐらいならPCで全部やるのと変わらんから面白くないよな。 ArduinoでCSVデータ化して何する気なんだろ arduinoIDEのターミナルはカスみたいなものだけど、普通のターミナルはファイル送信くらいできるよ
りんごとか言ってるけどGPSの衛星捕捉とかやりたいのかもね ごめんなさい
りんごとか書いたけど実際は厚労省のサイトにあるコロナの県別新規感染者数のcsvをESP32に繋いだ液晶に映したくて。
csvよく見ると全国の数もあったので合計する必要はなかったです。
PCだとpytonのpandas使えば簡単に取り出せたけどarduinoてどうやるのかさっぱり分からなくて。 >>929
Pythonでやればいいんじゃないの? csvをよく見たら感染者数が0でも県名が載っているので、ファイルの最後からn行目のn列目と指定したらよいかもしれないと思ったので調べてみます ホムセンで電線見てたらほぼ全て「屋内用」と屋外用と銘打った物は無く
帰ってきてぐぐってみると、屋外で使う場合はパイプの中を通すとか言う話ですが
耐候性のあるケーブルって無いんですかね?
パイプ通すにしても屋外のコンセントからパイプ迄の間が劣化したらアウトの様な? >>933
教えてあげたいけど電気工事士の免許がないと危ないから >>933
耐候性のあるケーブルってクソ高いし加工も困難だぞ
塩ビパイプで保護するのが現実的 >>934
AC/DCの効率次第ですがAC100V0.05Aとかですかね
コンセントの根元側にヒューズを入れられれば安全だと思うんですが、ごつい防水コンセントでも
そんな物無いですよね 屋外コンセントを使うことが前提ならパイプで保護できない部分は光が当たらないような工夫をしたうえで定期的にチェックかな ふた昔前、電気工事士の実技試験に、鉄パイプを曲げる項目があった。
塩ビが不安ならステンレスパイプ使う。 >>929
そんなデータを処理するのにESP32のメモリで足りるんかいな
別のPCとかでデータ処理してESP32は表示内容を受信して表示処理だけにしたほうがよくない? >>941
余裕でいける。合計して表示するぐらいなら、ESP8266でも余裕。
アンチエイリアスしたベクトルフォントで日本語表示をカラーTFTとなると詰むw
CSVだし、最悪HTMLのパーサーを自作しても余裕だろうな。
参考になるかどうか分からんが、気象庁のデータ取得が、ほぼそのままだろうな。
(ここ1年ぐらい前にリニューアルした新しい奴ね)
Stringクラス、regexクラスで楽々プログラム。 2年ぶりくらいにM5stackを使ってみようと昔書いたサンプルコードを書き込んでみたけど123行目から既にシリアルモニターに表示されずどうも動いてないっぽいです
コンパイルのエラーは出ていませんでした
2年の間にライブラリの使い方が変わったんでしょうか?
Arduinoのサンプルコードは動いたので本体の故障は無いと思います
このコードです
https://pastebin.com/0HUY6ukg
>>941
700KBくらいのデータなので大丈夫だと思います ソース見てないけどオンメモリでやるには全く足りなくね 屋外のコンセントプラグの根本までPF管でも
被せちゃえばいいじゃない サイズは28くらいかな
そこから13とか16あたりにサイズダウンして配管するとか
可能であれば地中に埋めるもアリ こういうデバイスってやっぱ屋外で使いたい!って欲が出てくるけど、配線の耐候や防水に悩んで結局諦めちゃうのよね >>943
M5使ってないのでArduinoのセオリーになるけど、シリアルモニターは「115200」で
ちゃんと受けることが出来るか
USBのシリアルだとボーレートは関係ないけど、一般的なUARTだとボーレートあって
いないと正常に情報を受け取れない
あとは、シリアルってシステムの起動時に1秒位待たないと動き出さないものも
あるので、「Serial」インスタンスが有効になるまで空ループを入れるんがセオリー
らしいよ
while(!Serial && millis() < 2000) {} // 最大2秒待機
みたいな >>943
なんかSerial.beginを2回呼ぶとフリーズするバグだかなにか無かったっけ?
M5.beginも指定しなければ、シリアル初期化するから。
てか動いてた時もM5.begin内で上書きされるから、Serial.beginがその位置だとなんの意味もなかったろうな。 >>948
>>949
どうもありがとうございます
setupの最初の行に
M5.begin();
次の行に
while(!Serial && millis() < 2000) {} // 最大2秒待機
次の行に
Serial.begin(115200);
とやったけどダメでした
コメントアウトしまくって確認したところ
M5.begin();とSerial.begin(115200);の両方書かれてあると動かない事が分かりました
という事でSerial.begin(115200);もコメントアウトすれば無事動きました。
シリアルモニターでも動いてました。
あと別の質問なんですが、M5stack gray複数持ってて書き込めるものと書き込めないものがあります。
書き込むタイミングでRSTとGをコンデンサーでも繋ぐと書き込める場合もあるんですが、100%ではなく書き込めない時の方が多いです。他の解決方法どなたかご存知ですか? >>947
どうもありがとうございます
前後しますが今の問題解決したら取り組んでみます! >>950
ハブ経由なら、PC直結にする。
PC直結なら、キャパシタの容量を大きくしてみる。
1uF〜4.7uFぐらいまで大きくしないと駄目な個体もある。 SDカード内の画像を表示する場合です
// これならOK
M5.Lcd.drawJpgFile(SD, "/jpg/ex/sample1.jpg", 0, 28, 320, 140, 0, 0);
// こっちはNG
String ImgName = "/jpg/ex/sample1.jpg";
M5.Lcd.drawJpgFile(SD, ImgName, 0, 28, 320, 140, 0, 0);
下の方だとコンパイルでエラーになります
なぜでしょうか?
>>952
PC直結で10uのコンデンサーで試してダメでした char型のポインタを要求してる所Stringクラスのポインタを渡してるから
ImgName.c_str()で通るんじゃない しつもんです。
5vから3.3vへのシリアル通信なんですがダイオードのみで大丈夫ですかな?
3.3は受信のみです。 >>956
抵抗だとプルアップの事を計算しないといけないかな?などと考えてました。
明日やってみます。
ありがとう。 質問も回答もその返事も意味が分かるようにどなたか説明していただけますか? >>954
私もこれと同じ事してた
これがダメな理由なのね >>954
>>960
どうもありがとうございます! >>958
>質問も回答もその返事も意味が分かるようにどなたか説明していただけますか?
どの質問、回答、返事の意味が分からないのか書かないと。 >>957
>抵抗だとプルアップの事を計算しないといけないかな?などと考えてました。
たしかに。
調歩同期式のシリアル通信だったら、プルアップが原則だし、送り側がドライブ
していなときにLになる抵抗の分圧式だとトラブルの原因になるかも。
システムなりソフトウェアで回避するしくみがあればいいけれど。 >>963
>>955-957でした
直前だからいいかなと思って >>956
2.2k 3.3kでやってみたんですが、もちあがりませんでした。
計算面倒くさかったんでダイオードでいきました。
参考サイトありがとー。 >もちあがりませんでした。
もちあがらない? 電圧が上がらない、の意味ではないよね…
元の質問は、
>5vから3.3vへのシリアル通信なんですが
ということで、5Vのトランスミッタのシリアル信号を3.3Vのレシーバーに入れる話だと思ってた。
もっとも、3.3Vデバイスの入力に上向きクランプダイオードが入っていれば、直列抵抗だけで済むことも
あるけどな。 >>967
受信側ポートが基板上でプルダウンされてるとかないよね?
使ってるボードの回路図を確認してみることをおすすめする 初心者のアホな質問すみません。。
UNOとESP32 devkitcを入手しました。
JPGカメラもあります。これはSDカードに一時保存しないと
使い物にならないのでしょうか? クラウドやDropBox等に送ったり
出来ないものかと思いまして。 そういうのはラズパイでやったら?という身も蓋もない提案
目的が大事ならラズパイで 解決策は即出てくる
手段が大事なら引き続き頑張れ そういうのはESP32-CAMでやったら?という身も蓋もない提案
作例が多いので、手持ちのもので苦労するより、コピペで手っ取り早く目的が達成できる
手段が大事なら引き続き頑張れ そ、そうですね…
ESP32-CAMの情報ばかり出てきます… ラズパイの10分の1くらいの値段でできちゃうしな、むしろラズパイはサーバとして使ったほうがいい 逆に言うと ESP32-CAM は、それしか出来ない(語弊あり)。
サンプルが出来過ぎてるから、そこから飛び出した使い方までする人がいない。 >>973
-cam をキーワードに含めてesp32-camを検索候補から除外してみたら? マイコン用のJPGカメラて大抵QVGA/VGAとかで更に高圧縮されてて一枚の容量すんごい小さいよね?
ESP32なら、デコードして画像加工したりしようとしなければそのままオンメモリで出来そうだけど センサーに反応あったら画像を鯖に送るというのは簡単なんだけど
「センサー感知の5秒前から10枚の画像を…」とか考え出すと、常に撮影して最新10枚をキャッシュとかとたんに複雑になっていく >>976
はい、それでいくつか出てきましたが
皆さん一旦SDに入れてるんですね…
>>977
はい、まさにそれです!
オンメモリのままでどこかに送信してしまうか、
ESPをサーバーにしてソレを外部から見れたらいいなぁと…
ひとまずは写真は現在の1枚のみで平気なんです と、書きながらESP-CAMを検討に入れました
お手頃価格ですしね。。。 何処が分からないの
プログラミング一切分からず、そう言う事が出来る出来合いのソフトが欲しいの? >>981
そういう訳ではないんですけど。
煽りなら止めてもらえますか? 物が有るんなら試してみりゃ良いじゃん。ということなんじゃないの。詰まってるところがわかったら、アドバイスできるかもしれんし。 >>984
そんなん一緒だよ
やりたいこと出来なくなったら違うの買えばいい >>984
性能はほぼ一緒なのにUnoはでかくて高いウドの大木 >>982
なりすましはやめてくださいw
>>981
質問当初のSDに保存しないと使えないのかどうかですね。
977さんのヒントがヒットしたので調べてみようと思います。
皆さんありがとうございました。 >>989
何かを開発するってやっぱり難しいから簡略化できるものはできるだけ簡略化した方が良くないかな? >>990-992
その通りだけど、それはマイコンや電子回路について「経験者」目線からの話しでしょ?
調べた訳じゃ無いけど、世界のネットリソースも「初心者」向けではUNOが1番多いと思うな UNOはシールドが売りかなぁ
入門者にはいいと思うよ
そろそろ次スレだね でもシールドって何の勉強にもならん気がする。
あ、ソフトの勉強にはなるか。 >>993
Uno向けのリソースでNanoに使えないものはない
なので初心者からNano+ブレッドボードでいい
そして上級もUno使わないので結局Unoは必要ない Unoは一番最初、何も知らないときに中華製を1枚買って持ってるけどすぐにパーツ箱にしまい込んだ
Nanoは何枚も持ってるし実践投入してるけどUnoはその一枚だけ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 115日 1時間 41分 48秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。