X



トップページ電気・電子
1002コメント434KB
Arduino初心者熱烈大歓迎質問スレ part25
レス数が1000を超えています。これ以上書き込みはできません。
0001774ワット発電中さん
垢版 |
2019/09/13(金) 16:15:22.98ID:MfBQFDi7
http://www.arduino.cc/

【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね

前スレ
Arduino初心者熱烈大歓迎質問スレ part23
https://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part24
https://rio2016.5ch.net/test/read.cgi/denki/1554776918/

過去スレ
Arduino初心者熱烈大歓迎質問スレ part22
https://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
https://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
https://rio2016.5ch.net/test/read.cgi/denki/1514503488/
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
0002774ワット発電中さん
垢版 |
2019/09/13(金) 16:24:20.37ID:glcgM5Mw
~---~~-~~---~----~~-~-~~---~--~~~-~-~~-~-~~----~~~~~~~---~~~~-~--~~~------~~
-~--~~~--~---~-~~~~-~~--~-~~-~-~-~~-~-~-----~----~~-~--~~-~--~-~-~~~~~-~--~~
~~-~~--~-~-~--~-~~~--~-~~~~--~~-~~-~---~--~-~~--~~-~---~~~~-~~~---~~---~----
--------~~~~~---~~-~~~--~~~---~-~~~~~~---~-~---~-~~-~-~~----~-~-~----~~~~~~~
-~--~--~--~~-------~-~~~~-~--~~~~~~-~~-~~--~~~~~~-~~~-~------~-~---~~-~-~~--
-~~~~~--~~~-~~~-~-~--~-----~~~--~~~-~~~~-~~---~~-~~--~------~~-~-~---~-~--~-
-~~-~-~-~~~~~~-~--~~~~-----~~-~~~---~~-~--~---~~--~~----~-----~--~~-~~-~-~~~
~~~---~-~~~-~~-~~~-~----~~~~----~~----~-~----~-~~~~-~--~~--~~~~-~-~-~~--~---
~-------~---~--~-~-~~~--~~--~~~-~-~--~--~~~~~-~~~--~~--~--~~--~~~~~~-~-~~---
--~--~~~~~~--~~~~~~---~~~~~----~----~~~--~~~~~~--~-------~~~~--~~~~~--------
-~--~~-----~--~-~~~~~~~~~~~-~~~~-~~-~---~~--~-~--~~--~-~~--~~-~-------~~~---
----~~--~-~~---~~~-~--~--~~-~~~~~~~~-~-~~-~~--~--~~-~~-----~-~---~-~~~~-~---
~--~~-~-~~~--~-----~~----~~~----~-~-~~-~----~--~~~~---~~-~-~~~--~~~-~-~~~-~~
~~-~-~~~-~~-~~~~-~-~---~~--------~---~~-~-~-~--~--~--~~~~~~--~~-~~-~~---~--~
~~-~~~~~-~~~---~~------~~~~----~-~-~--~-~--~~-~-~~--~~-~~----~-~~-~~--~---~~
~~---~~-~~~-----~-~--~~-~~--~~~~~---~-~-~~--~~~~--~~~--~~~-~~--~----~~---~--
~----~--~~-~~~-~~~---~-----~~-~~--~-~~-~~-~~~~~-----~-~~~~~~~--~~--~----~--~
~~-~~------~~~~~-~-~---~~~---~-~---~~-~-~~-~~---~-~-~~-~--~--~---~~-~~~~-~~-
~~~--~~-~~~--~~-~~--~~-~~---~-~~~-~~~~----~~------~~---~--~-~--~-~~--~-~-~~-
----~--~-~~~~--~-~-~--~--~~~-~~-~--~-~~-~~-~~-~-~~--~---~-~-~-~~~---~~~--~-~
~--~~-~~-~-~---~~~~---~---~~~--~~----~-~~--~~~-~-~-~-~~-~-~-~~~~-~~-~-~-----
-~~~~~~~~---~-~-~-~-~~------~~~~~----~-----~---~~-~~---~~~--~~~-~~~--~--~-~~
~~~~---~~-~~--~~--~~~--~-----~----~-~~---~~-~~------~--~~~-~~-~-~-~~-~-~~~~~
~-~-~-~--~-~~~~-~~---~-~~~~-~-~--~~----~~~~~~~-------~-~~-~~-~--~~~-----~~--
~~---~--~~~~~--~--~-~~-~~~--~~-~~~~~---~-~~~~-----~-~-~-~~~-~-~------~~---~-
~-~~~~-~-~~~------~~~~-~-~~-------~---~-~~~~-~~----~---~-~~--~~~~----~~~-~~~
~--~~~~-~-----~~-~~-----~-~-~~~~~-~-~--~~--~--~~~-~--~-~~~~~~~~~-~-~--------
~---~---~-~-~~-~-~~~-~--~~~-~--~--~~-~-~--~~-~-~~-~~~~~--~-~~--~---~~----~-~
~---~~~~~~-~-~~~-~-~~-~--~--~~--~~~~~~~---~--~--~-~~----~~~-----~~-~-~-~----
-~-~~--~~----~--~~-~--~~-----~~--~--~~~--~-~~~~---~-~~~-~~---~-~-~--~~-~~~~~
-~--~~-~--~--~--~--~~--~--~-~-~----~~~--~-~~~---~-~-~-~-~~~~~~-~---~~-~-~~~~
~~~~---~--~~~--~----~~~~~~--~--~~-~-~~~~~-~---~-~~-~~-~-~-~--~-~-~-~--~-----
--~-----~~--~~~-~-~~~--~~~-~--~--~---~~--~--~-~~--~~~~~---~~~--~~~-~-~~-~--~
~~-~~-~~--~~-~~~-~--~-~~~----~~-~-~--~-~~-~~-~-~~-~----~--~--~~---~-~~-~-~--
-~~~-~--~-~~~----~-~~--~-~~--~~-~~--~-~~-~~--~~~~~-~~~-~--~---~~~--~----~---
~~~--~----~----~~---~~-~~~~~----~-~~~-~~---~~~~~-~--~-~-~~-~~--~~-~--~---~~-
-~--~~~---~-~~~~-~~~---~-~-~~~-~~-~~-~~~~--~~~~--~-~--~-~~----~~----~~------
~~---~~~~~-~~----~~--~~-~-~-~~~--~~~----~~~~~~--~~--~--~------~---~~--~~~--~
-~---~~~~~--~~-~----~~---------~-~-~--~~-~-~~~-~~~~-~~~~~~----~--~-~-~--~~~~
~~--~-~---~---~-~-~-~~-~-~~---~~--~---~-~---~~-~~-~-~~-~--~-~~-~~-~~~-~--~~~
-~-~~----~~~~~-~-~~-~---~~----~-~-~~-~-~-~--~~~-~-~~~--~-~~-~~---~~~-~-~----
~-~--~-~---~--~~-~------~~-----~-~~~~-~-~-~---~-~~---~~~~-~~~~-~~~~~----~~~~
-~~~---~---~~~~~-~~--~-~-----~-~--~~~~~----~~~-~~--~-~~~--~~-~~~~~-~------~-
-~-----~-~~~-~~~~-~~---~-~-~~~--~~~-~-~--~---~-~~--~~~---~-~-~~~-~-~--~~--~-
~-~~~--~~-~~~~~~--~-~-~~~--~-~-----~~~~-------~-------~~~--~~-~-~-~-~~-~-~~~
--~-~---~~-~~-~--~-~-~---~~--~--~----~--~~~~~----~-~-~-~-~-~~~~~~~~-~--~~-~~
-~-~~-~--~~--~-~~--------~-~~~~-~-~~~-~-----~-~~~~~~~---~-~~~~---~-~~~---~-~
-~-------~~~~-~~~-~~--~~~-----~-~~---~~-~~-~-~~-~---~~~~-~--~-~-~~-~--~--~~~
~~-~-~~-~~~~-~~---~-----~~~--~~~-~-------~--~--~~-~~~---~~-~~~-~~--~~-~-~~--
-~---~--~--~---~~-~---~~--~-~~-~~-~~-----~~~---~~~--~~~----~~-~~~~~-~--~~~~~
0004774ワット発電中さん
垢版 |
2019/09/15(日) 11:37:27.30ID:ks8YDs7J
WDTすらハングるてことやっぱあるよね?
0005774ワット発電中さん
垢版 |
2019/09/15(日) 12:04:27.53ID:sLhfGpgy
初心者です お願いします…
温度センサーから読み出した値の10回平均を出力したいです。
ネットで色々調べたのですがうまく行きません…
一番簡単な記述はどんな具合になりますでしょうか?
スケッチは以下です

void loop(){
int val = analogRead(A0); // 温度センサーの出力値を読み取る
float volt = map(val, 0, 1023, 0, 5000); // センサの出力値を電圧に変換
float temp = map(volt, 300, 1600, -30, 100); // 電圧を温度に変換

この変換されたtempを10回取得してから10で割って、
Serial.print(temp-average);で出力したいです。
for文を使って色々と試してはみましたが… よろしくお願いします。
0006774ワット発電中さん
垢版 |
2019/09/15(日) 12:28:20.15ID:bpYY4V/5
最初の1回目から9回目はどう扱うの?
というか色々と試したとあるけど貼ってもらったほうが早いと覆うよ
00075
垢版 |
2019/09/15(日) 12:36:08.29ID:sLhfGpgy
書き方が悪かったようです
10回計測した平均値のみを取り出して出力したい…の誤りでした。
0008774ワット発電中さん
垢版 |
2019/09/15(日) 12:56:28.72ID:5lisf+dq
float total = 0;

for(int i=0;i<10;i++){

 val = analogRead(A0); // 温度センサーの出力値を読み取る
 volt = map(val, 0, 1023, 0, 5000); // センサの出力値を電圧に変換
 temp = map(volt, 300, 1600, -30, 100); // 電圧を温度に変換

 total += temp ;

 delay(適当に);
}

Serial.print(total/10);
0009774ワット発電中さん
垢版 |
2019/09/15(日) 13:14:53.13ID:XkJQ4elW
>>7
概略だけど、大域変数を宣言してsetup()で初期値を0にする
次にloop()内で局所変数の配列を宣言して、その配列[大域変数]に各回のセンサー値を代入しては、大域変数をインクリメントする
これを大域変数が9になるまで繰り返し、配列[0]から[9]まで加算して10で割り、Serial.print()で出力して大域変数を0に戻す
と言うのでは?
0010774ワット発電中さん
垢版 |
2019/09/15(日) 14:52:44.91ID:nJbL/fJ9
>>8
どううまくないのか書かないと。
あとスケッチは全部書く。
各行の間にserial出力を入れてSerial Monitorで値を見る。
0012774ワット発電中さん
垢版 |
2019/09/15(日) 16:01:50.31ID:O1VAu+gr
/* 温度センサーDS18B20で10回計測した平均 */
#include <DallasTemperature.h>
OneWire oneWire(4); // 温度センサーのDATピン
DallasTemperature sensors(&oneWire);
float Tempdata[10]; // 取得データ列
int TempdataMax=0; // 取得データ数
int TempdataCnt=0; // リングバッファのポインタ

void setup() {
Serial.begin(9600);
sensors.begin(); // 温度センサー初期化
}

void loop() {
sensors.requestTemperatures(); // 温度取得要求 188ms
Tempdata[TempdataCnt]=sensors.getTempCByIndex(0);
if (TempdataMax<10) TempdataMax++;
float tmpavr=0; // 平均の算出
for (int i=0;i<TempdataMax;i++) tmpavr+=Tempdata[i];
tmpavr=tmpavr/TempdataMax;
Serial.print("datacnt="); Serial.print(TempdataMax);
Serial.print(" new="); Serial.print(Tempdata[TempdataCnt]);
Serial.print(" average="); Serial.print(tmpavr); Serial.println("");
TempdataCnt=(TempdataCnt+1) % 10;
delay(300);
}

インデント崩れると思うので CTRL+t で整形してちょ
0013774ワット発電中さん
垢版 |
2019/09/15(日) 16:13:03.81ID:wup9bbOr
配列組むとプログラムサイズが大きくなるから
単純に10回足して割る10ではどう?
0014774ワット発電中さん
垢版 |
2019/09/15(日) 16:23:02.32ID:O1VAu+gr
そうだね、移動平均を使えば1000個の平均も取れる
近似値になってしまうけど、ピーキーな値を取り除くなら有効

/* 温度センサーDS18B20で100回計測した擬似移動平均 */
#include <DallasTemperature.h>
#define SAMPLE_COUNT 100 // サンプル数
OneWire oneWire(4); // 温度センサーのDATピン
DallasTemperature sensors(&oneWire);
float tmptotal; // 取得データの合計値
int TempdataMax = 0; // 取得データ数

void setup() {
Serial.begin(9600);
sensors.begin(); // 温度センサー初期化
}

void loop() {
float tmpavr;
sensors.requestTemperatures(); // 温度取得要求 188ms
float tmpnew = sensors.getTempCByIndex(0);
if (TempdataMax < SAMPLE_COUNT) { TempdataMax++; tmptotal += tmpnew;
} else { tmptotal = tmptotal / SAMPLE_COUNT * (SAMPLE_COUNT - 1) + tmpnew; }
tmpavr = tmptotal / TempdataMax;
Serial.print("datacnt="); Serial.print(TempdataMax);
Serial.print(" new="); Serial.print(tmpnew);
Serial.print(" average="); Serial.print(tmpavr); Serial.println("");
delay(300);
}
0015774ワット発電中さん
垢版 |
2019/09/15(日) 16:27:19.48ID:O1VAu+gr
>>13
センサーの中には計測に0.7秒かかるのもあるから
DS18B20を高精度12bitモードで使用した場合がそれなんだけど
それだと7秒後に結果がでる
用途によるけどあまり実用的では無いよね
00165
垢版 |
2019/09/15(日) 17:14:25.69ID:sLhfGpgy
おお!こんなにレスが… 徹夜で悩んでたので寝てしまっていました…
>>10 さんのやり方で計測を20回にして少し精度の高い値を取れました
ありがとうございます!
>>13 さんもありがとうございます!こんな高度なコードは自分には
まだ無理そうですが今後の為に保存しておきます。

他の皆さんもありがとうございました!
最終コードは以下のようになりました

void setup() {

Serial.begin(9600);

void loop() {

float total = 0;

for (int i = 0; i < 20; i++){
int val = analogRead(A0);
float volt = map(val, 0, 1023, 0, 5000);
float temp = map(volt, 300, 1600, -30, 100);
total += temp;
delay(100);
}

Serial.println(total / 20);
}
00175
垢版 |
2019/09/15(日) 17:23:17.90ID:sLhfGpgy
間違えました >>8 さんのやり方でうまく行きました
>>12 さんのやり方はまだ自分には少しコードでしたの誤りです
他の回答くれた皆さんもありがとう!
0019774ワット発電中さん
垢版 |
2019/09/16(月) 12:21:42.08ID:GCbRAGFo
Pro Microで、MsTimer2による割り込みで呼ばれた関数内でWireによるI2Cを行うと
Wire.endTransmission実行時に固まり、PCとの接続もできなくなって
RSTピンを2回GNDに落として接続と書き込みをし直さないといけなくなるんだけど
WireとMsTimer2を一緒に使っちゃいけないとか何かある?
このあとTimerOneも同時に別の目的で走らせようと思ってるんだけど・・・
0021774ワット発電中さん
垢版 |
2019/09/16(月) 12:40:25.27ID:GCbRAGFo
>>20
サンキュー同じの見つけてた
確かにsei()を入れたら意図した動作をするようになった

リファレンスにsei()とcli()が載ってないなあ
0022774ワット発電中さん
垢版 |
2019/09/16(月) 16:09:01.89ID:Vm/qr4//
どうしても必要な場合以外、通信の記述はメインループでやるように書くのが吉
0023774ワット発電中さん
垢版 |
2019/09/17(火) 12:55:16.03ID:udBuDeFi
割り込み処理中に別の割り込みの記述するとか
長い処理書くとか頭おかしいのか?
割り込み処理内にはフラグ立てるとか
カウンターのインクリメント程度に留めて
メイン側でフラグ見て処理すべきだろ
割り込み処理内に色んなことしてたら
スタックの消費もバカにならんし
デバッグもめんどくさいだろうに
0024774ワット発電中さん
垢版 |
2019/09/17(火) 13:52:58.53ID:qxLG/Rw3
初心者なんだからそんなもんだろ
わけのわからんエラーが山のように出たり
場当たり対応して他の割り込みころしてたり
色々痛い目にあって成長してくもんだ
0025774ワット発電中さん
垢版 |
2019/09/17(火) 14:42:34.87ID:6C5KvV2h
質問です!
3つの信号出力を持っているセンサーが2つあって、Arduinoへの入力は3本1系統しかないから、レールを切り替えるように手動で切り替えられるようにしたい。
ピンヘッダを考えたけど、もっと省スペースで済ませられる方法はある?
0028774ワット発電中さん
垢版 |
2019/09/19(木) 12:34:10.43ID:4X2NuIdT
スケッチの質問なんですが関数を作成した時、LOOPの前と後どちらに書いた方がいいとかありますか?色々とスケッチを見ていると決まりはないように見えるのですが気になっていまして。
0029774ワット発電中さん
垢版 |
2019/09/19(木) 13:18:46.32ID:DH5AQY27
前に書かないとエラーになった時あったな
だからいつも前に書いてる
0031774ワット発電中さん
垢版 |
2019/09/19(木) 14:18:39.38ID:35jWA+OJ
>>28
暗黙の宣言、暗黙の関数宣言 とかでググってみてください。
Arduino IDEでは>>29の言うように一時期あったけど、いまはどうでもいいみたい、好みで。
0033774ワット発電中さん
垢版 |
2019/09/19(木) 21:12:09.36ID:2e3uiUGu
水温センサーをarduinoで利用したい。
amazonとかで買える汎用のセンサーをお湯とか使って何度でいくつの抵抗値か調べようと思ってる。
調べた特性をグラフにしてarduinoのアナログ入力で読み取る予定。そこで気になったんだけど、グラフが比例してれば、プログラムの対応は出来る。
もしグラフがしっかり比例していなかった場合は、どうプログラムを組めばいいのかな?
0035774ワット発電中さん
垢版 |
2019/09/19(木) 21:19:26.67ID:Hd8gXA48
どんなセンサー使うつもり?
熱電対でやったことあるけど誤算範囲でほぼ完璧にリニアだった。
補正すること自体を体験的にやってみたいなら別だけど意味無くね?
0036774ワット発電中さん
垢版 |
2019/09/19(木) 21:44:01.31ID:EI8wsJxb
>>33
普通にXYグラフ描くつもりでいい

グラフ描くときに比例してるとこで区切って座標とって描くだろ?
データとしてはその点の数だけのXY座標があるじゃん

で、入力値がX座標のどこにあるか判別して
その両側の2点を得る
あとはmap命令で済むだろ
0037774ワット発電中さん
垢版 |
2019/09/20(金) 01:52:28.69ID:xKiI5HSy
>>33
温度センサーはDS18B20がオススメ
抵抗値や電圧じゃなくて温度がデジタルで読める
校正とかいらない
防水ステンレスキャップで延長コードついたのも200円くらい
0038774ワット発電中さん
垢版 |
2019/09/20(金) 07:54:49.75ID:pB6g2Npb
>>35
まだ調査してないから、リニアか分からないけど、車の社外水温メータpivotに付いてた水温センサーをそのまま使いたかったんだよ。
他の人が教えてくれたデジタルのセンサーでもいいんだけど、センサー先端のネジとかをどうやって作ればいいんだろう?
0039774ワット発電中さん
垢版 |
2019/09/20(金) 07:57:30.45ID:pB6g2Npb
>>36
この方法が自分の知識で今すぐ出来るやり方だと思う。変換テーブルはまだ使ったことないけど、勉強してみます。
ありがとう。
0041774ワット発電中さん
垢版 |
2019/09/20(金) 09:49:07.80ID:G30FjsOw
>>33
ExcelとかRで回帰分析して回帰式を用意するのが良いと思う。
プログラムは1次式ではなく、求めた回帰式を利用するだけなので簡単。
33が回帰式のモデルとなる式(2次式、3次式、etc)を用意する必要があるのと回帰分析の知識が必要。
ググればなんとかなるとは思う。
0042774ワット発電中さん
垢版 |
2019/09/20(金) 11:37:18.08ID:/hWzMPnj
>>36の書き方だとプログラムするのに誤解しちゃうかもな
両側の2点を得る、じゃなく分岐処理するだけでよい

せいぜいグラフは3つの直線で済むだろう
そうすると3つのmap命令を用意して
あとは入力値で分岐処理、だな
0043774ワット発電中さん
垢版 |
2019/09/20(金) 14:58:23.81ID:pB6g2Npb
>>42
入力値で分岐して、その中のmap関数で数値を出すんですね。グラフの特性に合わせて分岐を増やせばいいのか・・・
なんとかやれそうです。
ありがとう!
0044774ワット発電中さん
垢版 |
2019/09/20(金) 15:02:52.93ID:pB6g2Npb
>>41
回帰分析をググったけど、まだarduinoにスケッチするとこまで行くのは難しそう。
みんなこんなすごいのを、さらっとやっちゃうんですか?スゴいです。
004541
垢版 |
2019/09/20(金) 16:44:35.93ID:jDxVO325
>>44
Arudinoでは回帰分析はしないよ。多分できなくはないけど大変だよ。
調べたサンプルの回帰分析はPCでして、読み取り値のxからyを推定する回帰式を作るんだよ。
33は比例と書いているけど、回帰分析ならば、1次式以外にも3次式とか対数式に近似する回帰式も作れるよ。

回帰式さえ作っちゃえば、Arudino側は回帰式に読み取り値xを入れれば、yが返ってくるので、読み取り値で条件分岐するとかが不要になるよ。
0046774ワット発電中さん
垢版 |
2019/09/20(金) 16:58:10.37ID:YvhlOcI+
>>45
仕事の合間に回帰式を勉強してきました。重回帰分析じゃないんで、一次関数でいけるかな。式さえ出来れば関数作ってコールしてデータ入れれば結果が出せますね。式が出来るかなぁ。まずはグラフを作るか。テスターと温度計用意だね。
004841
垢版 |
2019/09/20(金) 17:44:12.27ID:jDxVO325
>>46
1次ならググるとExcelのデータ分析を利用する例がたくさん出るから頑張って。
最低でも10から20はサンプル必要だろうから、実際の特性調査の方が時間が掛かると思うよ。
0049774ワット発電中さん
垢版 |
2019/09/20(金) 18:29:58.80ID:NKdwpGhG
折れ線グラフを扱う汎用的なのを作っておくといろいろ便利だよん
0050774ワット発電中さん
垢版 |
2019/09/22(日) 03:37:46.38ID:NeA8QUzA
みんな凄いなあ 初心者から見るとカッコいい&#12316;
オレも頑張るぞっと pythonも少しやり始めたんだけど
分析してグラフ化はこっちに任せたほうが良さそうだね
0051774ワット発電中さん
垢版 |
2019/09/22(日) 16:00:47.77ID:qMUYkXtK
>>33
自分もDS18B20が楽で良いと思う。
ただ、校正はいらないけど個体毎の誤差は結構あるので、最初にまとめて温度とアドレス控えておいた方が良いかも。5個買って1℃位の差があったので、そこは補正してる。
0052774ワット発電中さん
垢版 |
2019/09/22(日) 18:56:24.26ID:Hm29sCuA
技術的な質問じゃなくて、法律・倫理的な質問なんだけど、
LeonardとかでVIDやPIDを書き換えるのって違法になる?
メーカーが金を出して所得した番号を使う時点で違法確定なのか、
販売はNGだが、個人ならokなレベルなのか、
それとも技適警察みたいにネット上では批判される程度のものなのか。
0053774ワット発電中さん
垢版 |
2019/09/22(日) 19:17:25.00ID:JBWJijDV
業界団体規格なので違法にはならんでしょう。USBx.x準拠とかうたったら優良錯誤で違法になるかもしれんけど。
0054774ワット発電中さん
垢版 |
2019/09/22(日) 19:49:59.47ID:w/elw4b1
Arduino UNOの回路をばくって、USB付きの目覚し時計を自作して売ったら、何か駄目な事ってある?
0056774ワット発電中さん
垢版 |
2019/09/23(月) 01:56:44.32ID:TPoNq7dB
>>54
基本的に回路に著作権はない
arduinoに関してはarduinoと名乗らなければ問題ない
逆にarduinoの回路はavrにusbシリアルくっつけただけに過ぎないわけだが
ブートローダーやusbシリアル変換に使ってるavrのファームは別な話になるけどね
0057774ワット発電中さん
垢版 |
2019/09/23(月) 02:04:36.58ID:TPoNq7dB
>>38
車載の水温センサーなんかは基本的にサーミスタでB特性の値から計算するのが普通だけどね
安いしただの抵抗だから耐久性も高いし必要十分な精度あるし

自作しようとするならネジに穴開けて埋め込むだけでいいし

昔の車なんかで見かけたのは精度いらなきゃ線1本で引き回しておしまい
0058774ワット発電中さん
垢版 |
2019/09/23(月) 07:13:26.79ID:OwnaTeeq
>>57
車載だと壊れにくくシンプルなの優先するだろうから
ラジエターの冷却液の沸騰上限と凍結下限さえわかれば
途中の温度狂っててもなんでもいいのでは?
CPUの内部温度もサーミスタですよね
0059774ワット発電中さん
垢版 |
2019/09/23(月) 07:33:16.09ID:RHgNNFo6
>>58
燃料の噴射量にも関わるので、あまり雑にはできない。

車内の水温計ならそんなレベル。
0060774ワット発電中さん
垢版 |
2019/09/23(月) 07:39:29.53ID:KD4TWltj
>>58
>CPUの内部温度もサーミスタですよね
PN接合の順方向電圧を使います。
0062774ワット発電中さん
垢版 |
2019/09/23(月) 09:49:26.64ID:TPoNq7dB
>>58
まぁ水温で何をするかというと燃料補正
水温が低いときの増量や水温上がってきたときの補正とか
せいぜい10度単位とかだよ
0063774ワット発電中さん
垢版 |
2019/09/26(木) 00:55:48.07ID:1znSnmQu
シリアルモニタのウインドウが表示されないのですが、どうすれば良いでしょうか。
ポート認識はしていて、(windowsタスクバーを見る限り)シリアルモニタ起動もしている様なのですが。
互換品のelegoo uno r3で、ソフトの再インストールはしました。
0064774ワット発電中さん
垢版 |
2019/09/26(木) 01:46:00.31ID:92aVUBXH
ARDUINO 1.8.10 2019.09.13

[ide]
*ライブフォントのサイズ変更がコンソールとシリアルモニターにも適用されるようになりました@ Pieter12345
* Windows @ Pieter12345のソースからIDEを簡単に構築できます
*超小型画面に適した、より小さな設定ウィンドウ
*ダウンロードしたjsonをキャッシュし、@ mattiabertorelloを変更した場合にのみ取得します
*ボードが突然切断された場合、シリアルモニターを一時停止する
*ライブラリは、libインストール中に提案される依存関係を宣言できるようになりました
* SerialPlotter:@chromhelmラベルの追加を許可
* Board Manager @vowstarのtar.xzアーカイブをサポート
* SerialMonitor:コマンド履歴を追加(矢印キーを使用)@ Pieter12345
*アクセシビリティ:設定@ joew46167でアクセシビリティを有効にするチェックボックスを追加
このモードでは、ナレーションとキーボードナビゲーションが大幅に改善されます。
例えば。リンクはアクセス可能なボタンになり、リストは苦痛なく矢印キーでスクロールできます

[wifi-updater]
*最新のNINAファームウェアを追加
0065774ワット発電中さん
垢版 |
2019/09/26(木) 01:49:39.49ID:92aVUBXH
[ハードウェア] *新しいavrツールチェーンをバンドル(5.4.0および64ビットの互換性を今後のmacOS Catalinaと修正)

[arduino -buidler]
* 1.4.7 への更新(新しいarduino-cliに基づく)
0067>>63
垢版 |
2019/09/26(木) 09:04:11.72ID:1znSnmQu
タスクマネージャーで、起動してる(けど見えない)シリアルモニタウインドウを最大化したら見えるようになりました。
最大化をやめたらまたすぐ消えたんですが、少しいじっている間に直りました。
原因が分かりませんでしたが、とりあえず良かったです。
0068774ワット発電中さん
垢版 |
2019/09/27(金) 08:53:52.93ID:Sh2o7eB9
>>67
ディスプレイの表示範囲の外に表示されてただけでしょ。
arduino云々の話じゃなくwindowsの基本操作の範疇じゃね?

タスクバーにはシリアルモニタ表示ってやったときにarduinoIDEの二つ目のアイコンが重なって表示されてたはずだからそれのシリアルモニタ側のアイコンにカーソルあわせてちょっと上にカーソル移動するとシリアルモニタのサムネイル画像(っていうのかな?)が表示される。
この時右クリックのコンテキストメニューから移動って選ぶとカーソルキーとかで自由に画面外のwindowでも動かせるようになるんでそれで画面内に戻せばいい。

注意点としてアイコンの上右クリックじゃなくてサムネイルのうえで右クリックね。
0069774ワット発電中さん
垢版 |
2019/09/27(金) 11:50:54.49ID:60Bu09s0
すみません
やりたいことが有り、まだ座学なのですが、電子工作で可能なら始めたいと思っていて、
そのための情報集めている段階なのでテストなど出来ないのですが質問させてください

arduinoをコアに
8chのマルチプレクサ10個をデイジーチェーンでコントロールしたいと思っています
TC4051Bのようにデイジーチェーンの仕組みのないマルチプレクサでそのようなコントロールする場合、
I2CやSPIなどで通信するのがスマートな気がするのですが、
後付でそのような機能を提供するような汎用チップのようなものはありますか?
また、他にもっと簡単な方法がありましたら教えて下さい

用語などを間違っていましたらすみません
0072774ワット発電中さん
垢版 |
2019/09/27(金) 16:08:47.07ID:1qbmT20d
74HC595を4個直列にしてシリアル-32bit出力を作って
3bit毎に4051を10個ぶらさげればいけるけど
単純に595を10個並べて80bit出力にしたほうがシンプルだよな
16chの74HC4067も入手しやすいはず
こっちならIC9個で実現できる
0073774ワット発電中さん
垢版 |
2019/09/27(金) 18:09:10.31ID:2WaXige2
>>69のコピペ元の大本質問者です
初心者質問スレ その134
https://rio2016.5ch.net/test/read.cgi/denki/1566321111/753
コピペしたのは私じゃないす

>>72
ありがとうございます
元スレにて、
アドレスデコーダー
シフトレジスター
という情報いただき、調べる過程でIOエキスパンダーでも行けそう
という感じになっています
で、マルチプレクサなんですが、 実際にはデマルチプレクサとして使用で8チャンネル10個が必要な回路になります
0074774ワット発電中さん
垢版 |
2019/09/28(土) 02:17:36.52ID:YrwvNxMO
>>73
だったら4051じゃなくて14051じゃね
16bit IOエキスパンダー MCP23017
8bit IOエキスパンダー PCF8574 (LCD*I2Cアダプタに搭載してるやつ)
とかでも別にいいと思う
配線大変そうだけどがんばってね
0075774ワット発電中さん
垢版 |
2019/10/01(火) 09:49:42.54ID:0gtDO++/
M5.Lcd.drawJpg(const uint8_t *jpg_data, size_t jpg_len, uint16_t x, uint16_t y);

xを-10、yを-20にしたいんですが、uint16_t となってるから負の値は指定出来ないんでしょうか?
0077774ワット発電中さん
垢版 |
2019/10/02(水) 06:30:12.89ID:A1659nnW
int16_tならいいのかな
int16_tの負の数ってどう表現したらいいのかな
0078774ワット発電中さん
垢版 |
2019/10/02(水) 07:33:18.89ID:4T/7ErV4
>>77
なぜスクリーン上の座標をマイナスにしたい?
画像の描画範囲をずらしたいなら、引数 offX offYで操作するんじゃないの?
0079774ワット発電中さん
垢版 |
2019/10/02(水) 12:51:23.87ID:9srJyNiq
>>78
x, yは画像の描画の原点でデフォだと左上の0, 0になるんですが、
スクリーンのサイズよりも画像が大きいため、画像の右側と下側が見切れてしまいます
そのため、画像の中心がスクリーンの中心に来るようにx, yをマイナス値に出来ればなと思いました
0080774ワット発電中さん
垢版 |
2019/10/02(水) 13:11:30.42ID:4T/7ErV4
>>79
Docsを見るとメンバ関数はこうなんだが

void drawJpg(const uint8_t *jpg_data, size_t jpg_len, uint16_t x = 0, uint16_t y = 0, uint16_t maxWidth = 0, uint16_t maxHeight = 0, uint16_t offX = 0, uint16_t offY = 0, jpeg_div_t scale = JPEG_DIV_NONE);

引数 offX offYでjpegの描画開始位置を変えられない?ダメだった?
0081774ワット発電中さん
垢版 |
2019/10/02(水) 14:14:39.22ID:9srJyNiq
>>80
わあ!ありがとうございます
ライブラリ見てたら
M5.Lcd.drawJpg(const uint8_t *jpg_data, size_t jpg_len, uint16_t x, uint16_t y);
しか載ってなかったのでsdカードから画像を読み込む関数と違って使える引数がほとんどないんだと思っていました。
試してみます
0083774ワット発電中さん
垢版 |
2019/10/05(土) 02:28:52.54ID:tfPKEaHM
M5Stackの画面に1秒間隔で時計を更新して表示する関数と5秒間隔で気温の測定とラズパイのデータベースをチェックする関数を作ってマルチタスクで動かしてみました。
画面には時計と気温が表示されていてラズパイのデータベースの値は画面には表示させてないです。

もし、ラズパイのデータベースの値があらかじめ設定した値を超えた場合は時計と気温を非表示にしてデータベースの方だけを画面いっぱいに表示させたいんですがそういうことって可能ですか?
時計の方の更新間隔を伸ばさないと無理ですか?
0084774ワット発電中さん
垢版 |
2019/10/05(土) 02:34:14.94ID:tfPKEaHM
割り込み処理っていうの使えばいいのかなと思ったんですがそれってボタンやセンサーのような外部入力だけですか?
0085774ワット発電中さん
垢版 |
2019/10/05(土) 11:40:50.38ID:rZ1vSKCx
いいえ
0086774ワット発電中さん
垢版 |
2019/10/05(土) 14:52:19.11ID:09PVVC0K
タイマー割り込みを使えばいい。
"arduino 時間 割り込み"でぐぐってみたまい。

というかそもそも君のそのマルチタスクのプログラムというのは
タイマー割り込みを使用しないで出来ているのか?
0088774ワット発電中さん
垢版 |
2019/10/05(土) 16:51:18.47ID:rR3DQHMx
割込み使ってれば>>84の書き込みにはならない
ポーリングなら>>83の質問にはならない
いろいろ謎w
0089774ワット発電中さん
垢版 |
2019/10/05(土) 18:12:44.77ID:6wZG4Hhf
データベース値が設定値超えたら
時計表示をパスすりゃいいだろ

更新と表示を一緒くたにして作るからそうなる
0090774ワット発電中さん
垢版 |
2019/10/05(土) 20:23:16.21ID:nU50vimV
ど素人の俺からすると
単純にインタラプト入れればいいだけのように思う
0091774ワット発電中さん
垢版 |
2019/10/05(土) 21:29:54.02ID:tfPKEaHM
レスありがとうございます
現状ですが、

https://nagatani.github.io/posts/m5stack-dht12-temptoifttt/
を参考にxTaskCreatePinnedToCoreっていう関数を使いました。

んでsetup関数に以下を書きました。
xTaskCreatePinnedToCore(clockTask, "clockTask", 4096, NULL, 1, NULL, 0);
xTaskCreatePinnedToCore(tempTask, "tempTask", 4096, NULL, 2, NULL, 0);

clockTaskは1秒ごとに時間の表示、tempTaskは5秒ごとに気温の表示とラズパイへのアクセスです。
loop関数にはM5.update();だけ書いてあります。
0092774ワット発電中さん
垢版 |
2019/10/05(土) 21:38:46.17ID:tfPKEaHM
arduino 時間 割り込み
ググってみました

現状は関数の中で例えばディレイを1000として時計を動かしていますが、そうじゃなくて、
まず5秒毎にラズパイのデータの確認をして設定値より低ければタイマー割り込みという機能を使って1秒毎に時計を表示する関数(clockTask)を動かす、5秒毎にtempTaskを動かすって感じでしょうか?
0093774ワット発電中さん
垢版 |
2019/10/05(土) 23:34:20.82ID:09PVVC0K
タスク間で通信をするんだよ。一番初心者にも解りやすいのはグローバル変数で作ったフラグやデーターを使う事です。

まず、1秒毎に起動するタスクと5秒毎に起動するタスクをつくる。
1秒の方では現在時刻の取得、最新温度とデーターベースから取得された値の確認をして、条件に合致しなければ時刻表示、合致したらアラート表示。
5秒毎の方では温度の計測と保存、データーベースへのアクセスと値の取得を行う。
みたいにすればいい(一例です)。

割り込みを使わず泥縄式にloop(){delay(1000);every1sec();if(count++%5==0)every5sec();}でも
各時間毎の処理内容は同じで出来ます。どうするのが良いかはスキルとプログラムの要求仕様や規模などによる。よく考えてみてw
0094774ワット発電中さん
垢版 |
2019/10/06(日) 21:46:22.69ID:ickMofJd
timeInfoで201910062143って今の時間を変数に入れるのってどうやるんですか?
dday = timeInfo.tm_mday;って取り出したら06じゃ無くて6になっちゃう
0096774ワット発電中さん
垢版 |
2019/10/06(日) 22:51:22.20ID:ickMofJd
>>95
String imaNoJikan = "";
imaNoJikan = String(sprintf("%04d%02d%02d%02d%02d%02d", timeInfo.tm_year + 1900, timeInfo.tm_mon + 1, timeInfo.tm_mday, timeInfo.tm_hour, timeInfo.tm_min, timeInfo.tm_sec));
ってやったら
invalid conversion from 'int' to 'const char*' [-fpermissive]
こんなエラーが出ました
0097774ワット発電中さん
垢版 |
2019/10/06(日) 23:54:30.11ID:crnK2XO3
>>96
そらそやろ。sprintf の戻り値はintだからやで。しかも引数も間違えてるよ。
0098774ワット発電中さん
垢版 |
2019/10/06(日) 23:55:46.08ID:/br1Kqen
sprintfの出力文字列は第一引数にchar配列を入れて受けるんだよ
ググればすぐ出てくるだろに
0100774ワット発電中さん
垢版 |
2019/10/07(月) 00:08:57.05ID:FNFQ2eNl
>>96
sprintfの戻り値ってintだから当然そうなる。あと第1引数は文字列を格納するバッファー。
0101774ワット発電中さん
垢版 |
2019/10/07(月) 00:16:19.71ID:MInzFlnm
char imaNoJikan[14];
sprintf(imaNoJikan, "%04d%02d%02d%02d%02d%02d", timeInfo.tm_year + 1900, timeInfo.tm_mon + 1, timeInfo.tm_mday, timeInfo.tm_hour, timeInfo.tm_min, timeInfo.tm_sec);
Serial.print(imaNoJikan);
コンパイルのエラーは出ないけどシリアル見てたら再起動繰り返してるっぽいです
0105774ワット発電中さん
垢版 |
2019/10/07(月) 00:46:04.97ID:MInzFlnm
今の時間の2秒前のUnix時間を作ってそこから
>>101 みたいに変換する感じですかね?調べてみます
0107774ワット発電中さん
垢版 |
2019/10/08(火) 19:14:30.73ID:S4RJgCqx
DCモータ2軸制御のためにArduinoシールドを探しています。
動かしたいモータはマブチのRS-280RA-2865で、特性は
URLのような感じになります。
https://i.imgur.com/wbAO6r0.jpg

モータは起動時には最大出力で回り、以降はバランスをとるためにほぼ0rpmあたりになる予定です。
ざっと見た感じ、AdafruitのServoShieldしか見つかりませんでしたが、
これでも十分動作できそうですか?
0108774ワット発電中さん
垢版 |
2019/10/08(火) 19:53:06.02ID:zJoci3sX
電源電圧何ボルトなの? 静止時に流れる電流に耐えられれば使える
3ボルトで4.7Aとはまあ結構流れちゃうねぇ。
0109107
垢版 |
2019/10/08(火) 19:55:44.70ID:S4RJgCqx
>>108
マイコンボードはSTM32の予定です。
電源電圧を複数用意するのは面倒なので5Vを3Vに降圧しようと考えています。
0112774ワット発電中さん
垢版 |
2019/10/09(水) 15:39:54.55ID:/fgtnIYh
Nano Everyの出荷始まってるけど話題ないの?
Pro Miniで充分だから?
0113774ワット発電中さん
垢版 |
2019/10/09(水) 15:52:26.16ID:9Ya4G0GQ
10倍の価値があり、総務省様のお眼鏡にかなえば
そのうち話題になるやろ、どっかでw
0116774ワット発電中さん
垢版 |
2019/10/11(金) 10:30:50.83ID:q919Ps8K
照度を調べたいのでフォトトランジスタNJL7502Lを買ってみました
CdSセルに比べてちょっと向きを変えただけで大きく値が変わってしまって難しいです
必要な抵抗値とArduinoでの計算式が知りたいです
10kΩの抵抗を付けてAnalogReadを1024で割って3.3をかけたらいいんですか?
0117774ワット発電中さん
垢版 |
2019/10/11(金) 15:25:51.95ID:Z8z2nUbW
>>116
https://www.njr.co.jp/products/semicon/PDF/NJL7502L_J.pdf
半値角が±20度しかない(データーシート4頁のDirectivity参照)。
これはレンズによるものだから、CdSに近づけたいならレンズを削り取る。

照度換算は、10kΩ負荷で5V系ならanalogReadの値に1.48を掛けるんだな。
感度が33μA@100Lx。10kΩ負荷では0.33V@100Lxよって3.3mV/Lx。
float Lux = analogRead(ch) * 5.0/1024 / 0.0033;

なお、15kΩ負荷にすればanalogReadの値が即Lux値になるから小数計算不要で高速化。
0118774ワット発電中さん
垢版 |
2019/10/11(金) 20:50:39.43ID:q919Ps8K
>>117
どうもありがとうございます!
NJL7302L-F3だと±55度だそうなのでこっちの方が使いやすいですか?色が黒なので赤外線用っぽく感じたので。
直列で10kΩ+1kΩ+1kΩ+1kΩ+1kΩ+1kΩと繋ぐと15kΩになりますか?
0119774ワット発電中さん
垢版 |
2019/10/11(金) 21:02:59.33ID:q919Ps8K
>>118
これでやると蛍光灯の室内で130前後でiPhoneのライト当てると986くらい
16bitのADC使った方がいいんでしょうか?
0122774ワット発電中さん
垢版 |
2019/10/12(土) 00:59:00.46ID:x1QDH7Xq
うーん全く分からない…
廊下持っていくと照明ついてるのに0にしかならない
0123774ワット発電中さん
垢版 |
2019/10/12(土) 10:44:46.50ID:3y0MHbYR
>>118 >直列で10kΩ+1kΩ+1kΩ+1kΩ+1kΩ+1kΩ…
OKだよw
でも10kΩを2つ並列にしたら5kΩになるから、これと10kΩを直列にしたら全部で3個で済むよw

>>119
16bit必要かどうかは、何をどう計りたいか、という君の要求仕様による。
7.5kΩを負荷にしたらanalogRead()*2がLux値になるから2047Luxまでいける。最小分解能はもちろん2Luxになる。
晴天時野外とかは数万Lux有ったりするけど、人間用の室内照明で1000Lux越えるのは珍しい。といった条件を総合して考える。
0124774ワット発電中さん
垢版 |
2019/10/12(土) 14:34:27.99ID:x1QDH7Xq
>>123
>ACD
部屋の電気を消すだけで数値は必ずゼロになってしまうから気になりました
実際には真っ暗じゃないです
0125774ワット発電中さん
垢版 |
2019/10/12(土) 19:53:56.87ID:7JZdbHde
ProMicroを使用してPB,PD,PF合計額18個のピンでdigitalReadをfor文で18回繰り返してるんですが、
もしかして一度、もしくはポート毎の3回とかでバイナリ値で取れたりしますか?
0127774ワット発電中さん
垢版 |
2019/10/12(土) 20:26:58.49ID:btIfq4Xz
>>124
人の目は慣れると1ルクス以下でも見えるからな
計測するなら対数変換するかレンジ切替とかした方がいいんじゃないかな
0128774ワット発電中さん
垢版 |
2019/10/14(月) 10:15:33.20ID:iCnFprdH
>>125>>126
入力を拾うのはPINxレジスタの方だね
PORTxは出力を設定する方
マイコンのポートとArduinoのピン番号の対応をぐぐれば同じポートのピンはまとめて取れる
0129774ワット発電中さん
垢版 |
2019/10/14(月) 10:17:08.90ID:rGhNlRuo
半年前に作ったプログラムと回路が難しすぎて、どのように動作しているのか理解出来ない
0131774ワット発電中さん
垢版 |
2019/10/14(月) 11:17:31.26ID:lrGBsrBN
ど素人です。お手柔らかにお願いします。
VCCから5Vを取り出して大体0.5Vにしたいので分圧しました
10kΩと1kΩ直列にしてグランドにつないでみました
VCC→10kΩ→0.5V取出→1kΩ→グランド
0.5V取り出したら分岐して6個のセンサーを付けて
センサーからそれぞれA0〜A6につなげた場合
A0〜A6各それぞれの入力インピーダンスは10kΩということでいいのでしょうか?
0132774ワット発電中さん
垢版 |
2019/10/14(月) 14:06:29.30ID:iCnFprdH
>>131
違う

というか色々繋ぎ方にも疑問があるのでセンサーの型式と回路図(ちゃんとした記号を使った奴じゃなくてもいい)をあげてほしい
0133774ワット発電中さん
垢版 |
2019/10/14(月) 17:25:07.20ID:DeR5xrbP
>>131
それで分圧した場合、0.454v位のはず
また、0.5v-センサ-アナログ入力ってなにか違う気がする
たとえばこんな感じゃない?
(ただし分岐しない前提)
抵抗----0.5v----アナログ入力
     |
    センサ
     |
   グランド
0137774ワット発電中さん
垢版 |
2019/10/14(月) 18:15:41.43ID:lrGBsrBN
アナログ入力の電圧はArduinoの1.1Vを使います
交流なので本当はまんなかの0.55Vが理想なのですが
多少はズレても一定であればプログラムでなんとかなりそうなので0.45Vくらいとします
0138774ワット発電中さん
垢版 |
2019/10/14(月) 18:24:45.35ID:z1DoAnL1
「10kΩと1kΩで分圧したインピーダンス」は、テブナンの定理と言って約909Ωです
単に0.5Vの電源を作りたいって場合は、オペアンプを使った手法(単電源で仮想GNDを作るときによく使う)
0139774ワット発電中さん
垢版 |
2019/10/14(月) 19:55:09.85ID:DeR5xrbP
>>137
クランプ式電流センサを使用して交流の電源(おそらく100vや200vの商用電源)
の消費電力(流れてる電流)を測定したいって事かな?
基本的な考えはOKだと思いますが、VCCの電圧とArduino内蔵のFVR?(内蔵基準電圧)を使うと測定値が安定しないと思います
今回のような場合、AREFを使って外部のリファレンス電圧を参照した方がよいと思います
例えばVCC-R8K-R1K-R1K-GRDの様な分圧用抵抗を用意する(R8KはR3.3K+4.7K or R1.2K+6.8K等)
R8K-R1Kこの間からAREF用の電圧(1.0V)を得る
R1K-R1Kこの間から0.5Vの電圧を得る
センサが1:2000+R1Kだとして0.7A位まで測定できるかな・・
この回路で同様のセンサーを複数繋いでも問題は(測定結果の誤差など)無いはずです
(クランプ式センサー使ったことがなく、Arduinoも昨日始めたばかりなので間違えてたらごめん!)
0140774ワット発電中さん
垢版 |
2019/10/14(月) 20:14:03.23ID:DeR5xrbP
>>137
あと、測定するものが電熱器みたいのならその回路でも大丈夫だけど、
電流が絶えず細かく変化する相手(電熱器以外の殆ど)ならサンプルレートを考慮しながら
クランプセンサの抵抗と並列にコンデンサを繋いで測定する電圧の変化を安定させたほうが無難だとおもう
Arduinoがどの位の性能か把握してなく可能か不明だが、1秒当たり数千回×センサーの数のサンプルが必要なのでは?
0141774ワット発電中さん
垢版 |
2019/10/14(月) 21:00:35.07ID:lrGBsrBN
遅くなりましたが皆さんありがとうございます
>>138テブナン定理大変勉強になりました
オペアンプこれから勉強してみます
>>139
確かに安定しないのです
ソフトウェアローパスフィルター入れて無理矢理安定させてる感じです
教えていただいた回路試してみます
楽しみです
>>140
測定するものはAC100〜220V50Hzで電流は1mAから1A程度までで常に変動しています
交流なのですがコンデンサ入れた方が良いのですか?
50Hzなのでサンプリングレートは特に問題ないと思っています
そうですね今暗算したところその程度の回数は必要ですね
回数はまだカウントしたことはないですが
以前計算してみたところ全然余裕で逆に制限を入れるか検討していたところです
回数は実際見た方がいいので確認しようとは思っています
0142774ワット発電中さん
垢版 |
2019/10/14(月) 22:53:00.55ID:DeR5xrbP
>>141
>交流なのですがコンデンサ入れた方が良いのですか?
コンデンサを使用するのは手段の一つだと思います、回路次第で他にも手段が有るので・・・
サンプル速度にもよりますがサンプルの間で電流が激しく変動するなら何らかのフィルターが必要だと思います
サンプル速度を上げてなるべく小さなコンデンサを使うことで誤差を少なくできるかと
また、クランプ式の電流センサーのコイルがある程度フィルターとしても機能してるので必要ない可能性も・・
センサーの抵抗にコンデンサはあれだったので(強引)以下のようなRCフィルターはいかがでしょうか?
センサ ーー抵抗ー+ーAD入力   ←(コイルの出力とAD入力の間にまず抵抗を加える)
        |
      コンデンサ     ←コンデンサで細かな変動を減らす
        |
     分圧の0.5V

追伸
>A0〜A6各それぞれの入力インピーダンスは10kΩということでいいのでしょうか?
今回のような回路の場合、分圧の抵抗から電流が流れないので
分圧抵抗は入力インピーダンスには関係ないはずです

後は・・まあもっと詳しい人が教えてくれるかと・・・
0143774ワット発電中さん
垢版 |
2019/10/14(月) 22:54:54.52ID:DeR5xrbP
↑図面っぽおいのがブラウザによってズレてるので・・・
コンデンサの位置は抵抗とマイコンの間です
0145774ワット発電中さん
垢版 |
2019/10/15(火) 00:53:43.12ID:1cWh9I8H
交流のまま取り込む訳だから毎秒数百回サンプリングしてソフトで全波整流
してローパスフィルター掛ければいいんじゃね?
0146774ワット発電中さん
垢版 |
2019/10/15(火) 02:56:53.32ID:Yzvmc8C6
Pythonの場合、何もしない関数やif文の場合、中に「pass」と書いておけばいいんですけどArduinoだとどう書いたらいいですか?
0148774ワット発電中さん
垢版 |
2019/10/15(火) 11:56:19.80ID:t0CCwWj/
ブロック内に何も書かなければなにもしない

if (true) {
}
else {
}

void func1()
{
}
0149774ワット発電中さん
垢版 |
2019/10/15(火) 18:52:42.45ID:b0d9DuW9
回路の質問をした者です
大変参考になりました
ありがとうございます
また質問させていただきます
0150774ワット発電中さん
垢版 |
2019/10/16(水) 16:39:03.08ID:Mgzj+rPH
本当の素人質問で申し訳ないのですが、
5vをつないで回路を作るときと5vをつながずに回路をつくるときの違いがわかりません
ぜひ教えてほしいです
0151774ワット発電中さん
垢版 |
2019/10/16(水) 16:50:21.85ID:vZ2DF9d6
ちょっと何言ってるか分かんないっすけど
0153774ワット発電中さん
垢版 |
2019/10/16(水) 17:11:17.39ID:RnINOxcW
>>150
Arduino UNOとかマイコンの出力には5Vが出ているが
LED1個か2個点灯させる程度のドライブ能力しかない
もっとたくさんのLEDやモーターなどを使いたい時は
トランジスタやFETをスイッチさせて、
外部から供給した5Vを制御する回路が必要となる
基準は40mA超えるかどうか
0154774ワット発電中さん
垢版 |
2019/10/16(水) 17:18:45.59ID:t5KWTjXo
>>153
質問者の意図に合ってるかは分からないが、推理力に感心した。
0155774ワット発電中さん
垢版 |
2019/10/16(水) 17:28:54.99ID:Mgzj+rPH
すみません ほんとの素人なので質問もうまくできないんです

質問を変えさせてください
https://i.imgur.com/KKLfe2H.jpg
この画像の回路図ってどうなってるのですか?
0156774ワット発電中さん
垢版 |
2019/10/16(水) 17:48:51.77ID:uI6eq9ty
これ絵には書いてないけどArduinoにはACアダプタかUSBが刺さってる前提の回路だね
このままだと電源がないから何の反応もないよ
0157774ワット発電中さん
垢版 |
2019/10/16(水) 18:08:24.82ID:t+cbE3lb
>>155
あーうー、13番ポートとGNDの間にLEDがぶっささってるが、5Vが無いと言う意味か?
13番ポートには5Vか0Vのどっちかが出力されるから、5VはArduinoの中から来るんだよ。
 (ちなみにポートにLEDを直接繋ぐのは関心しないのだが、これはそのうち。)
次に、図の上の方にある回路に5V(とGND)が供給されている=5Vが必要なのはなぜかという事だ(ろう)が、
これは7番ポートが入力だからだよ。Arduinoが入力だから、5V(かGND=0V)は回路側で用意する必要があるから、
Arduinoの電源ポートからもらって来来る必要があるんだよ。
0158774ワット発電中さん
垢版 |
2019/10/16(水) 18:33:14.35ID:Mgzj+rPH
>>156
なるほど!!!!
OUTPUTに指定したピンは電圧の源みたいに考えて大丈夫ってことですよね?
0159774ワット発電中さん
垢版 |
2019/10/16(水) 19:19:57.73ID:zvyC1TDJ
>>155
あなたの持っている「Arduinoを始めよう」をちゃんと読めばそこにすべて書いてある。
自分が読んで理解した内容を踏まえて質問するべき。
あえてどこからの引用か隠して質問する意図は何?
0160774ワット発電中さん
垢版 |
2019/10/16(水) 19:37:08.04ID:M49HbC9+
>>158
そのとおり!でも、20mA、最大40mA程度しか流すことができない。
そこで>>153さんの言ってることが役に立ってくる!
0161774ワット発電中さん
垢版 |
2019/10/16(水) 19:38:02.70ID:ua/LvQLw
>>155

質問の内容が判ったかも
図面のLEDはあくまでボード上の内蔵LEDの代わりに表記してると思われるのでスルーします。

質問は押しボタンスイッチの接続の方法が主に3種類あってそれぞれの違いを知りたいって事だと思います。

1・ 5v(vcc) ― sw ―ポート 加えて sw―ポートの間に抵抗を繋いでGNDに接続
2・ GNDーーswーーポート swとポートの間にに抵抗を繋いで5v(vcc)に接続
3・ GND ― sw ― ポート
上から
1、入門者向きボタンを押したら入力がHIになる
2、ボタンを押したらLOWになる
3、内蔵のプルアップ機能を使用する 2で使用してる抵抗と同等のものがチップに内蔵してるのでそれを使用する(ボタンを押したらLOWになる)
0164774ワット発電中さん
垢版 |
2019/10/16(水) 20:09:12.83ID:Mgzj+rPH
>>157
ありがとうございます!これのレスのおかげでかなり理解がすすみました!!
>>159
すみません 引用を言い忘れていました
別に他意はないです 本を読んでもわからなかったので質問させていただきました
>>160
なるほど! もっと理解が進んだときに役に立出られるように覚えておきます
>>161
難しいですが、ちょっと考えてみます
0166774ワット発電中さん
垢版 |
2019/10/16(水) 20:22:29.77ID:Mgzj+rPH
わかりづらい質問を何回もして申し訳ないのですが、

LEDの方とスイッチの方の回路は別々と考えてもいいってことですよね?スケッチで指示しているから、ボタンを押したときにLEDが付くという認識でいいでしょうか

あとOUTPUTに指定したポートから出て最後にINPUTのポートに戻るような回路はダメなのですか?
OUTPUTが出力でINPUTが入力という理解ならば大丈夫なように思えるのですが、調べてみたらI/Oポート同士を繋げたらショートすると書いてあったので混乱してます
0167774ワット発電中さん
垢版 |
2019/10/16(水) 21:26:57.34ID:vyYItubT
>>166
別にどうつなごうと勝手にすればいいが、+出力とGND出力をつないだらショートして
大変なことになるだろうことは想像できるでしょ

自分で出力したものを自分で入力するなんてのは無駄だから普通はやらないってだけ。
0168774ワット発電中さん
垢版 |
2019/10/16(水) 22:00:16.13ID:t5SATIQK
5Vと12V、二つのACアダプタのGNDをつないで、回路の5Vと12Vの入力に使ったら、爆発するのかな?
0169774ワット発電中さん
垢版 |
2019/10/17(木) 00:52:05.12ID:Ny2FYgyR
抵抗なしでLED繋ぐ奴多いな、UNOぶっこわれるのに
壊れ方は爆発とかしなくて、出力状態に関わらずLEDが点灯してしまうとか
別のピンオフにすると壊れたポートもオンになるとか
指でGNDに触れると出力状態が変わるとか
そんな感じの壊れ方になる場合が多いよ
0170774ワット発電中さん
垢版 |
2019/10/17(木) 01:04:56.05ID:Ny2FYgyR
>>167
>自分で出力したものを自分で入力するなんてのは無駄
普通にやるだろ
センサー入力を止めたい
外部ICでデコードする
シリアル制御線がループバックになってる
0171774ワット発電中さん
垢版 |
2019/10/17(木) 01:13:17.61ID:Ny2FYgyR
>>166
Q)あとOUTPUTに指定したポートから出て最後にINPUTのポートに戻るような回路はダメなのですか?
A)OK

Q)OUTPUTが出力でINPUTが入力という理解ならば大丈夫なように思えるのですが、
A)OK

Q)調べてみたらI/Oポート同士を繋げたらショートすると書いてあったので混乱してます
A)場合による
INPUTに設定したI/Oポート同士を繋げた=OK
INPUTに設定したI/OポートとOUTPUTに設定したI/Oポートを繋げた=OK
OUTPUTに設定したI/Oポート同士を繋げて、両方のピンが0Vになってる=セーフ
 〃、両方のピンが5Vになってる=セーフ
 〃、片方が0V,もう片方が5Vになってる=アウト

元の文は”I/Oポート同士を繋げたらショートする場合があるので注意”ではないだろうか
0172774ワット発電中さん
垢版 |
2019/10/17(木) 02:01:39.03ID:VTXcJQAU
Hi/Loとハイインピーダンス組み合わせてIOピンより多いLED制御するトリッキーな回路思い出した
0174774ワット発電中さん
垢版 |
2019/10/17(木) 09:04:53.72ID:zzaeMFQ+
>>171
なるほど!
I/Oポート同士を繋げたら絶対にショートするわけではないのですね!
とてもわかりやすい解説ありがとうございます!
0175774ワット発電中さん
垢版 |
2019/10/17(木) 11:30:43.86ID:jzNFySSt
>>174
なんでかっていうと
短絡(ショート)とは、電位差のある2つ以上の点を、非常に小さい抵抗値の導体で接続することをいいます。
 だからね。
0178774ワット発電中さん
垢版 |
2019/10/17(木) 16:30:38.22ID:TZwJ9dv2
>>166
もしかしてINPUTを電流が帰ってくる所だと思ってないか?
OUTPUTから電気が出てきて、INPUTに入っていく分けじゃないぞ

D0→抵抗→LED→D1 のときD0とD1はどっちもOUTPUTだぞ(D0がHIGH、D1がLOWで点灯)
5V→抵抗→LED→D2 のときD0もOUTPUTだし(D2がLOWで点灯)
D3→抵抗→LED→GND のときD1もOUTPUTだぞ(D3がHIGHで点灯)

マイコンの入力と出力だからな
0180774ワット発電中さん
垢版 |
2019/10/17(木) 19:17:35.00ID:X610ePaX
>>170
なんか誤解してるようだけど、出力ポートをそのまま入力ポートにつなぐなんてのはめったにやらん
というかやらん。
0181774ワット発電中さん
垢版 |
2019/10/17(木) 22:59:00.23ID:zzaeMFQ+
>>175
ショートのことをよくわかってませんでした
ありがとうございます!

>>178
すみません たしかになんかごちゃごちゃに考えてました
INPUTに指定したピンをdigitalReadなどで情報を読み取り、OUTPUTでその情報を受けてなにかの結果を出すということですよね?
でもこのINPUTピンの使い方がよくわかりません
>>155 にあげさせてもらった回路もどのような電気回路で電圧を読み取るのかわからないです
あと
D0→スイッチ→抵抗→LED→D1
としたときはINPUT OUTPUT の関係はどうなるのですか?
0182774ワット発電中さん
垢版 |
2019/10/17(木) 23:39:12.78ID:rYQJTuER
そもそも足し算や引き算を理解できていないような状態で
掛け算や割り算を理解しようとしているようなもんだから
ここで質問したところで回路を理解するには自ずと限界がある
遠回りのようでも電子回路の基礎知識を身につけた方がいい
0183774ワット発電中さん
垢版 |
2019/10/18(金) 04:21:04.07ID:n1dRqFS+
>>180
キーマトリクスで使うだろ
4ピンでスキャン出力して4ピンで入力
4x4=16ボタンの状態を知る

元の質問は
Q> OUTPUTに指定したポートから出て最後にINPUTのポートに戻るような回路回路はダメなのですか?
A> 自分で出力したものを自分で入力するなんてのは無駄
"最後に"とわざわざ書いてるのは
"なんらかの回路を経て最終的に"という意味なんだと思われ
まあ、キースキャンのようなアクティブにセンス信号出す場合には使うよ
0184774ワット発電中さん
垢版 |
2019/10/18(金) 04:28:02.30ID:n1dRqFS+
>>181
> D0→スイッチ→抵抗→LED→D1
これはかなりの変化球というか何がやりたいのかわからん
先にスイッチやLEDの定版回路や定石を理解すべき

キャッチャーまで球届かない奴が
いきなりフォークボール投げたいといってるようなもん
0185774ワット発電中さん
垢版 |
2019/10/18(金) 04:29:59.17ID:n1dRqFS+
スイッチ押したら光る回路なら
Vcc→抵抗→スイッチ→LED→GND
マイコンいらんねん
0186774ワット発電中さん
垢版 |
2019/10/18(金) 12:44:49.04ID:yLxZVSku
>>182
わかりました!高校までの電磁気の感じとはちょっと違うみたいなのでしっかり学びたいと思います
>>185
たしかにマイコンをただの電池みたいに考えてました
0188774ワット発電中さん
垢版 |
2019/10/24(木) 21:50:29.93ID:MBe7EJgR
UNOで上に載せるボードとUNO本体に個別に電力を供給したいんだけど、
12Vの組み込み電源から1本線を描くように直列にプラグとコネクタを設置して電気を供給しても大丈夫?
電源の電流容量は余裕あると思う。
0189774ワット発電中さん
垢版 |
2019/10/24(木) 21:58:10.91ID:s9F3UCAy
以前フォトトランジスタについて質問したものです
明るさセンサーのTSL2591をUnoで試してるんですが、
https://cdn-learn.adafruit.com/assets/assets/000/017/912/original/sensors_luxtext.png
サンプルスケッチのこの画像だとResolutionが1.00luxとなってるけど自分のシリアルモニタだと0.0010luxとなってます
それが原因なのか分からないけど、部屋のluxの値も60luxくらいととても低いです
Resolutionとは何の解像度を指してるんでしょうか?

サンプルスケッチです
https://learn.adafruit.com/adafruit-tsl2591/wiring-and-test
0192774ワット発電中さん
垢版 |
2019/10/24(木) 22:21:24.32ID:s9F3UCAy
>>191
スケッチはアイダフルトのサンプルそのままです
スマホのライトを近づけると2600luxくらいまで行くんですけどそれ以上近づけると-1.00luxっていう値になってしまいます
センサのスペックは
/* Dynamic Range: 600M:1 */
/* Maximum Lux: 88K */
らしいんですが…
0193774ワット発電中さん
垢版 |
2019/10/24(木) 22:22:27.29ID:K9cMS8t5
>>189
電車内でスマホからだけど
resolutionは分解性能のことだと思う
計測可能な最大値を変える事で低い値の分解性能が上がるはず
この辺の設定で変わるのでは?
TSL2591_GAIN_LOW:
Sets the gain to 1x (bright light) TSL2591_GAIN_MEDIUM:
Sets the gain to 25x (general purpose) TSL2591_GAIN_HIGH:
Sets the gain to 428x (low light) TSL2591_GAIN_MAX:
Sets the gain to 9876x (extremely low light)
0194774ワット発電中さん
垢版 |
2019/10/24(木) 22:24:58.20ID:K9cMS8t5
変なとこで改行しちまった(´・ω・`)
TSL2591_GAIN_LOW
TSL2591_GAIN_MEDIUM
TSL2591_GAIN_HIGH
TSL2591_GAIN_MAX
0196774ワット発電中さん
垢版 |
2019/10/25(金) 00:18:38.60ID:ZBB0hqCj
>>195
さっき電車からレスした者です
>部屋のluxの値も60luxくらいととても低いです
センサーの向きや状態にもよるけど部屋の明るさなら十分あり得る値かと思います

>スマホのライトを近づけると2600luxくらいまで行くんですけどそれ以上近づけると-1.00luxっていう値になってしまいます
センサーモジュール内のADコンバーター(またはカウンター等)が最大値でオーバーフローしてます
// Check for overflow conditions first
if ((ch0 == 0xFFFF) | (ch1 == 0xFFFF))
{
// Signal an overflow
return -1;
}

以下の部分を変更して感度を調整すれば88000luxまで測定出来ると思います
//tsl.setGain(TSL2591_GAIN_LOW); // 1x gain (bright light)
tsl.setGain(TSL2591_GAIN_MED); // 25x gain

tsl.setGain(TSL2591_GAIN_LOW); // 1x gain (bright light)
//tsl.setGain(TSL2591_GAIN_MED); // 25x gain
0197774ワット発電中さん
垢版 |
2019/10/25(金) 01:34:50.10ID:wU/ldpNe
[ 1733721 ms ] IR: 322 Full: 2053 Visible: 1731 Lux: 79.397003

蛍光灯をつけた室内だとこんなかんじで、4項目の数値が出てます。
IRは赤外線、Visibleは可視光線、Luxは明るさだと思うんですが、Fullは何を表しているんでしょうか?
それぞれの単位って分かりますか?

>>196
ゲインを変更してスマホライトをつけたり部屋を暗くしたり試してみました。
ゲインをLowにするとLuxの最小値は1.360000、これ以下だとinfかnanになるから薄暗い場所の数値は見れない。
ゲインをMidにするとLuxの最小値は0.027200辺り、最大値は2600辺り、これを上回ると全て-1.000000。
市販の照度計もこんな感じで、室内の場合、屋外などの明るい場所の場合ってその都度設定を変える感じなんでしょうか?
センサーを真上に向けて手に持って蛍光灯の真下に立って測ると300くらいになりました。

CdSセルだと確実に光源に向けたりしなくても、真っ暗な部屋、薄暗い部屋、パソコンのモニタの光だけの部屋、蛍光灯を付けた部屋、直射日光の当たる明るい部屋などがだいたい判断出来ました。ルクスは分からないにしても、もしかしてCdSセルって優秀なんでしょうか?
0198774ワット発電中さん
垢版 |
2019/10/25(金) 01:43:27.25ID:wU/ldpNe
>>197
抜けてました
ゲインをLowにしてスマホライトを当てたら50000くらいまでは出ました
0199774ワット発電中さん
垢版 |
2019/10/25(金) 09:35:56.66ID:ZBB0hqCj
>>197
IRは赤外線、Visibleは可視光線、Luxは明るさだと思うんですが、Fullは何を表しているんでしょうか?
FULLはFULLSPECTRUMって意味だと思う

赤外線と可視線の両方を足した明るさの値と思われる(単位はLuxでない)
そもそもFULLからIRを引いた数字をVisibleと表示してるため

あとそれぞれの単位は以下の式で使用されてるので単純な明るさの単位ではないと思う
>cpl = (atime * again) / TSL2591_LUX_DF;
>lux = ( ((float)ch0 - (float)ch1 )) * (1.0F - ((float)ch1/(float)ch0) ) / cpl;

>市販の照度計もこんな感じで、室内の場合、屋外などの明るい場所の場合ってその都度設定を変える感じなんでしょうか?
自動的にゲインが調整されると思います
必要があれば、測定値に応じてゲインを自動的に調整出来る様にプログラムすればいいと思いますが・・・

>もしかしてCdSセルって優秀なんでしょうか?
今回の明るさセンサーの場合、光度が直線的に出力されるが(出力というより取得か)
アナログ回路等で電圧に変換しADコンバータで読み取ったCdsの場合、明るさの測定値が曲線的に出力されるためだと思われます
0200774ワット発電中さん
垢版 |
2019/10/25(金) 23:37:55.44ID:OyO2aO7q
>>199
LEDの光ってスペクトル分布が独特だから、センサーとの相性とかあるかもしれない
古いタイプの照度計だとLEDの照度が正確に測れないものもあるし、、、

簡易なものは知らないけど測定器としての照度計はテスターのようにレンジ切替がついてるよ
0202774ワット発電中さん
垢版 |
2019/10/29(火) 20:43:59.85ID:hhe2aqM3
アルデュイーノを使って電子工作をしていますが、クロック周波数が最大16MHzしかないので水晶振動器を使いたいと思っております。


かし、配線の仕方やプログラムの作り方がわかりません。

またプログラムはサンプリング周波数にあったdelay をループの中に突っ込んでいますが、正確な周波数で命令を実行するのはこのやり方でいいのでしょうか?

またアルデュイーノは最小のdelay設定がマイクロ秒までしか設定できないですがマイクロ秒まで設定できるようにできるのでしょうか?

長文失礼しました。
0203774ワット発電中さん
垢版 |
2019/10/29(火) 21:24:36.39ID:/mxbjxcP
>>202
落ち着いて読み返して再質問しろ
用語の使い方が支離滅裂で何言ってんだかぜんぜんわからん
0204774ワット発電中さん
垢版 |
2019/10/29(火) 21:28:38.05ID:NBwis+GD
餅突け。
まずは、>>1 を欲嫁。
何をやろうとして何をしてその質問に至ったのか、具体的に、出来れば図表、蛾を添えて詳しく。
0207774ワット発電中さん
垢版 |
2019/10/29(火) 21:45:15.15ID:9TPSHNP5
>>202
>クロック周波数が最大16MHzしかないので水晶振動器を使いたい
そう思った理由を書いてみ
クロックを変更せずに解決できる予感がする
0208774ワット発電中さん
垢版 |
2019/10/29(火) 21:49:08.29ID:sxE0xkCz
クロックを変更するとブートローダも改造しないとスケッチが転送できなくなるんじゃなかったっけ?
0209774ワット発電中さん
垢版 |
2019/10/29(火) 22:24:41.44ID:hhe2aqM3
アドバイスありがとうございます。

目的は30Mhzでデータのサンプリングです。アルデュイーノでは最大クロック周波数が16Mhzなので、外部から早い周波数の信号が必要ですよね?

そこで、水晶が良いのではないかと思った次第です。

ちなみに、自分は電子工作初心者です。
本職は設備のメカ設計をしております。
0210774ワット発電中さん
垢版 |
2019/10/29(火) 22:39:49.05ID:hhe2aqM3
プログラミングについても教えて頂けるとありがたいです。

今までは、そこまでサンプリング周波数の高いプログラムを作ったことがなく、delay関数を使って希望のタイミングでサンプリングをしていました。
しかし、高周波サンプリングをする場合、delay以外の命令実行に時間が掛かるとお聞きし、希望の周波数ではサンプリングするのは難しいと聞きました。なので他の命令の有無に関わらず、正確にサンプリングを行えるような関数があれば教えて頂きたいです。
0213774ワット発電中さん
垢版 |
2019/10/29(火) 22:50:10.20ID:GwCQLjXk
>>210
本当に「正確」にきっちりとやりたいのなら単体DACを備えたシステムを組む必要があるよ。
ちんけなワンチップマイコンひとつでやろうというのは無理。
0214774ワット発電中さん
垢版 |
2019/10/29(火) 22:56:14.38ID:9TPSHNP5
>>210
どのArduinoか知らないけど、ポピュラーな所で328Pだとして最大動作クロックは20MHz
無理だということはお分かりいただけますかな?
専用のADCチップをお使いください
0215774ワット発電中さん
垢版 |
2019/10/29(火) 23:01:18.49ID:HM/zcLyr
さっきEnergiaを覗いてきたんだけどさ もう一年以上もVer.UPされてないね
やっぱARM系は STM32duinoの方が人気があるってことなのかな
0216774ワット発電中さん
垢版 |
2019/10/29(火) 23:03:42.97ID:EilDmMbU
30MHzって電波をサンプリングするの?
何がしたいか全然分からん
まあ俺も初心者だし何も分からんけど
0217774ワット発電中さん
垢版 |
2019/10/29(火) 23:11:01.13ID:2YbHWyle
デバイスのデータシート読んでね
使える最大周波数は決まってるから
その調子だとDCモーターをGPIOに直付しそうだなw
0218774ワット発電中さん
垢版 |
2019/10/29(火) 23:14:00.46ID:9TPSHNP5
>>215
ああ、あの食パンにいろいろはさんでパックにしたやつな
昔前澤の女が宣伝してたやつ
0219774ワット発電中さん
垢版 |
2019/10/29(火) 23:16:00.68ID:2YbHWyle
30MHzサンプリングはマイコンじゃむりだなRF系のデバイスかFPGAが必要
金があるならADCのDSK買えばpcには取り込めるかななにがしたいかしらんけど
0221774ワット発電中さん
垢版 |
2019/10/29(火) 23:20:29.09ID:KdfuN14C
何を観測するか知らんけど、30MHzサンプリングだとデジタルオシロの領域だなぁ
対象が電圧だと仮定して、観測した結果を使ってアクションを起こすのでなければ、デジオシをレンタルしたほうが早そうな?
0222774ワット発電中さん
垢版 |
2019/10/29(火) 23:51:56.57ID:Ktnub9vc
色々と助言頂きありがとうございました。

今さらですが、用途は超高速モーターの回転数サンプリングです。

外注で回転数の表示はしてくださっていますが、出来れば自社で作った基盤でもサンプリングしてみたい、といのが事の発端です。
0223774ワット発電中さん
垢版 |
2019/10/29(火) 23:53:44.77ID:Ktnub9vc
モーター回転数のサンプリングデータで予知保全 とかもしたいので
0224774ワット発電中さん
垢版 |
2019/10/29(火) 23:58:24.10ID:L9e4hMpF
>>210
実現したいサンプリング周波数の為にはクロックは30MHzが必要とも取れたんですが、
 1.観測するのが1/0のデジタルかアナログか
 2.周波数 = 観測する信号 or サンプリング or cpuクロック
がわからないと

arduinoで作ったがもう少しパワーが欲しいと言う話なら、stm32duinoはどうでしょうか、こっちはmax 72MHz
0225774ワット発電中さん
垢版 |
2019/10/30(水) 00:06:00.09ID:zanfxN5P
>>224
1.観測するのが1/0のデジタルかアナログか
 2.周波数 = 観測する信号 or サンプリング or cpuクロック

1.デジタル信号です。
2.モーターの軸を10vに帯電させ一回転ごとに軸と銅線(ブラシ)が接触するように考えております。多分、矩形波のような信号になるのかな?

今持っているのがアルデュイーノunoなので、
出来ればそれでテストしたいです。

水晶使っても無理ですかね?
0228774ワット発電中さん
垢版 |
2019/10/30(水) 00:33:29.11ID:bs0eVpQK
サンプリングじゃなくて割り込み使えば、クリスタル変えなくてもいけます。「avr 周波数カウンタ」で探せば良いかと。
それともモーターからはキレイな矩形波が期待出来ないから、サンプリング周波数を上げてデジタルフィルタ的な事をやろうとしてるのか
0229774ワット発電中さん
垢版 |
2019/10/30(水) 00:36:33.48ID:659mipk1
デジタルならArduinoUNOでも簡単な外付け部品で30MBit/Sでのサンプリングも夢じゃないかも
つまり
・外部に30Mhzのクロックを用意
・クロックを8ビットのシフトレジスタに直結
・外部のクロックを1/2にしてArduinoを15MHzで駆動
・命令4サイクル分でIOポートからSRAMに蓄積
0230774ワット発電中さん
垢版 |
2019/10/30(水) 01:05:32.36ID:bs0eVpQK
>>225
接触子では難しいんじゃ無い?光学エンコーダかマグネットローター+ホール素子でしょ。機構屋さんだよね?
そもそも既に回転数の表示が出来てると言う事は、モーター内にセンサが有るのでは?
0231774ワット発電中さん
垢版 |
2019/10/30(水) 01:15:43.29ID:S1fTjzxC
>>225
回転数ならパルスでデジタルだから、今までと話が全く変わるぞ。
例えば120000rpmとしてもパルスはたかだか2kHzで、マイコンにとってはあくびが出るような話なんだけど…。
そのあたり、何が測定したいのか自分で認識できてる?
あんたみたいに情報を小出しにしてるとラチあかんわ。
0233774ワット発電中さん
垢版 |
2019/10/30(水) 02:45:31.66ID:+mZw+0M9
2kHzとかそんな話だとガックシだなw

もーちょい ってレベルじゃなく、もっと詳しく書いてほしかったな。
回転数の情報も出てこないしなぁ
0234774ワット発電中さん
垢版 |
2019/10/30(水) 02:49:24.74ID:QNMv4tAm
モーターごときの回転数で30MHzってのがいったいどっから降ってきたのか
また永遠の謎で終わるんだろうなあ、毎度のことだが
0235774ワット発電中さん
垢版 |
2019/10/30(水) 03:29:38.44ID:gLW75v2B
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
0236774ワット発電中さん
垢版 |
2019/10/30(水) 04:26:52.36ID:aXKOGMSY
>>234
1回転ごとに検出して30MHzって
そんなモーターが存在するの?
信じがたいんだが
0237774ワット発電中さん
垢版 |
2019/10/30(水) 04:57:01.65ID:VoCOzAjQ
1000カウント10000rpmで167KHz。
0238774ワット発電中さん
垢版 |
2019/10/30(水) 05:00:48.89ID:VoCOzAjQ
予防保全でモーターの振動を測定してるのはだいぶ昔に某大手メーカーで見たことあるけど。
回転数じゃなくて振動を測定したいんじゃないのかな。
0239774ワット発電中さん
垢版 |
2019/10/30(水) 05:02:41.86ID:VoCOzAjQ
回転のムラを測定したいなら30MHzというのも納得いく。
0241774ワット発電中さん
垢版 |
2019/10/30(水) 05:03:44.97ID:VoCOzAjQ
>>240
そうなの?
0242774ワット発電中さん
垢版 |
2019/10/30(水) 05:05:38.25ID:VoCOzAjQ
もう一度計算してみたけど、やっぱり167KHzになるな。
0244774ワット発電中さん
垢版 |
2019/10/30(水) 05:07:13.55ID:U8WnQOh9
>一回転ごとに軸と銅線(ブラシ)が接触するよう

こんなことまじめに書いてるお方なんだから、動くもの作れるわけない
終了
0245774ワット発電中さん
垢版 |
2019/10/30(水) 05:09:05.87ID:VoCOzAjQ
減速機歯面の欠けとかを検出して故障前に保全したいって話じゃないのかな。
0246774ワット発電中さん
垢版 |
2019/10/30(水) 05:10:17.64ID:VoCOzAjQ
僕はむしろ、保全現場の人がArduinoに目を付けたのは頼もしく思うけど。
0247774ワット発電中さん
垢版 |
2019/10/30(水) 05:44:46.09ID:euOVTapr
決まって後出し三昧、その挙句質問者はトンズラ
なのに必ず、ただ勝手な想像で話を膨らまして遊ぶだけの奴が登場して語り始める

毎度毎度楽しそうだなと思う
0249774ワット発電中さん
垢版 |
2019/10/30(水) 06:08:21.41ID:AV6O/NK+
だからそう言ってるじゃん、楽しそうだなと
何が不満なの?
0252774ワット発電中さん
垢版 |
2019/10/30(水) 06:27:33.71ID:VoCOzAjQ
質問スレには技術者しかいないのが欠点だろうな。
営業板から人を派遣してもらえないだろうか。
0253774ワット発電中さん
垢版 |
2019/10/30(水) 07:39:36.84ID:bE/mIYu6
>>225
モータ回転数のカウントは今は専用ICでやるのが普通
http://www.zenic.co.jp/products/ic/zen2024f.php
また、高速回転する軸を接触式のエンコーダ(?)でパルス検出するのは論外
パルスはノイズだらけになるし、磨耗で直ぐに故障してしまう
通常は磁気や光学などの非接触式エンコーダを使う
0254774ワット発電中さん
垢版 |
2019/10/30(水) 08:11:07.76ID:V5DMwSbp
>>239
昨日、質問をさせてもらったものです。

おっしゃる通り回転数ムラもみれればと考えております。回転数を1/10000の精度で見るために、10ns周期でサンプリング出来ればと構想してます。
0255774ワット発電中さん
垢版 |
2019/10/30(水) 08:18:01.43ID:hqq8Rjei
ずぶのど素人だけど
回転数はシーケンサーでできると思うよ
保全目的なら
回転数
振動
音の周波数
とか関係してくるだろうから
どうしてもArduinoなら
それぞれのセンサー取り付けて
表示のLCDつけて
データシート通りにプログラムすればいいだけ
難しくない大丈夫
0257774ワット発電中さん
垢版 |
2019/10/30(水) 09:58:20.62ID:6XYaP4An
>>254
サンプリング とか 見る とかいうことばがあいまい
最低限として1回転毎の時間を得たい
 その解像度を10nsにしたい ということと仮定して得た時間のデータをどうしたい? Logを取りたいのかメータ表示で良いのか 規格を超えたときに信号を出すのか?
 
回転ムラを得たいとして
1/10000というのが 例えば10000回転の時間をチェックできればよいのか、
1/10000回転を個々にデータ取得したいのか そのデータを保存するのか、メータ表示か、規格を、、以下略。
0258774ワット発電中さん
垢版 |
2019/10/30(水) 12:34:36.71ID:T4+tHkNw
>>257

1/10000回転を個々にデータ取得したいです。
0259774ワット発電中さん
垢版 |
2019/10/30(水) 12:36:06.53ID:T4+tHkNw
>>258
あと、logをとりたいです。表示は無くても問題ありません。
0260774ワット発電中さん
垢版 |
2019/10/30(水) 12:37:34.88ID:b/cDPsKA
1回転に1パルスじゃ1/10000回転の個々のデータ見れんだろ
それは1回転の時間を10000で割っただけのものに過ぎん
0261774ワット発電中さん
垢版 |
2019/10/30(水) 12:43:53.68ID:g0ytg8J7
中古のカウンターからGPIB経由でデータ取りにいかせたら?。
横川のTC110あたりで十分。
0262774ワット発電中さん
垢版 |
2019/10/30(水) 13:57:59.05ID:f/B1yQXr
回転パルスでリセットするカウンタ作って(ここはハードでやる)それの値を取り込めばいいだろうそうすればレート=回転数だ
0263774ワット発電中さん
垢版 |
2019/10/30(水) 14:03:14.35ID:f/B1yQXr
制度が10nならカウンタのクロックは100MHzだからちょっとしたものだな CPLD+Atmegaでできるかな 回転検出にはホール素子でも使うかな カウンタの桁あふれに注意だな
0264774ワット発電中さん
垢版 |
2019/10/30(水) 14:06:53.81ID:f/B1yQXr
ログ取るなら記憶部もそれなりのものがいる RAMじゃないと間に合わないかな そのさいずは とかいろいろ考えることはあるな
0265774ワット発電中さん
垢版 |
2019/10/30(水) 14:27:39.90ID:JGoqsMjO
>>262
だな

1回転の時間計測したいのに
ADCで電圧から得ようとしている
間違った手段を練っても目的に届かないよ

ログ採りたいとか言ってるけど
1秒間に1万データ全て残す必要は無くて
最大値と最小値と移動平均を0.5秒毎に更新みたいなもんでいいんじゃね
0266774ワット発電中さん
垢版 |
2019/10/30(水) 14:33:37.68ID:RtmZqnqw
>>254
コイツ、完全にカマッテチャンだろ
>目的は30Mhzでデータのサンプリングです。
>10ns周期でサンプリング
とか、適当に吹いてるだけw
0267774ワット発電中さん
垢版 |
2019/10/30(水) 16:39:42.92ID:ibOUt6Y5
>>254
そろそろマジレスすると
モーターの回転数を取得する方法だけど
手段はいくつもあるので参考までに

attachInterrupt()を使いモーター1回転毎に割り込みを使う(1回転1パルス前提)
モーター用のカウンターを用意
最初にモーター用のカウンターをリセットする
現在のタイマーを取得する micros()関数でμs単位で取得できる(分解性能は4μs)
モーター400回のカウントする
400回に達成したらmicros()を使い前回のタイマーからに経過時間を計算する
60,000,000 / 計算した時間(μs) * 400 = RPM

回転数の分解精度を上げる場合はカウント数を増やす
質問者の言う所の10nsの分解精度があるはず
また別の手段としてコンペアモジュールを使い400や任意の回数をカウントさせて割り込みを行う手段も有る
(あと、arduinoではLチカしかやった事ないので間違ってたらごめん)
0268774ワット発電中さん
垢版 |
2019/10/30(水) 17:08:25.51ID:ockfGgwM
>>267
方法としてはポピュラーなものだけど
>10nsの分解精度があるはず
ってのがよくわからないので説明よろしくお願い
質問者ではないですが
0269774ワット発電中さん
垢版 |
2019/10/30(水) 19:43:42.53ID:aXKOGMSY
>>202
この程度の理解度しかないから
ほんとの1から教えないと分からないよ多分
0270774ワット発電中さん
垢版 |
2019/10/30(水) 19:46:07.28ID:U8WnQOh9
こういうひとはいくら教えたって馬耳東風だ
自分勝手に妄想して言い散らすだけ
0271774ワット発電中さん
垢版 |
2019/10/30(水) 19:53:43.54ID:+BGgVN+2
横から質問です。
外部割込みって、周波数の大きいものはどの程度までカウント可能ですか?
あまり速いとHighとLowの区別がつけられなくなると思うんですがその限界は?
0272774ワット発電中さん
垢版 |
2019/10/30(水) 19:55:33.19ID:+BGgVN+2
連投すみません。
割込みルーチンの処理速度以上に拾っても何もできないから無意味なので
そっちがボトルネックってことでいいんでしょうか?
0273774ワット発電中さん
垢版 |
2019/10/30(水) 20:46:35.98ID:xiSWuvQG
arduino ideのコンパイルが毎回遅くて困っているのですが、皆さんは何か工夫して早くしているんですか?
0274774ワット発電中さん
垢版 |
2019/10/30(水) 21:42:41.15ID:N9MBQejJ
>>271
目的が周波数やパルス幅の計測ならプログラムでカウントする事は一般的に行わないです。
タイマーにそういう計測機能が各種あるからそれを使って、
計測が終わったらタイマーに割り込みを発生してもらって、CPUは計測値だけ頂くのです。
AVRのカウンタークロックは最大で1/1システムクロックだから、16MHzなら16MHzです。

ボトルネックは仰る部分にもなりうるのですが、要求仕様によりけりです。
デジタルオシロ(安い奴)のように画面に表示してる部分の前後に表示されていない部分(取りこぼし)がある、
みたいな仕様を許容するなら逃げようはあります。
希に起こる特異な現象を確実に拾い上げる、みたいな用途では問題になりえます。
0275774ワット発電中さん
垢版 |
2019/10/30(水) 21:53:39.67ID:N9MBQejJ
>>273
内蔵しているgccのスピードなので根本的にはしょうが無いように思いますが、
ライブラリからなんからいちいちフルビルドするのをやめさせるという方向で設定する方法はあるようです。
"arduino gcc 高速化"でググってみるとよいでしょう。
0276267
垢版 |
2019/10/31(木) 02:13:38.65ID:TuwdFCoT
>>268

おそらく質問者は回転数(分or秒)を求める手段として1回転の時間を測りそれを元に計算しようと試みたと思われる
1回転の時間がms単位では回転数の計算に使えない
例>1ms単位なら計算で出せる回転数は1000,500,333,250,200,166・・・回転/秒の刻みでしか計算できない
もっと細かな単位(ns)なら細かな回転数を計算出来ると思ったよう思われる

質問者の
>おっしゃる通り回転数ムラもみれればと考えております。回転数を1/10000の精度で見るために、10ns周期でサンプリング出来ればと構想してます。
この書き込みを翻訳すると
回転数を確認するために1回転の回るのに掛かる時間を1/100000秒単位で測りたい
(1/100000秒は10μsで10000nsなんだけど・・・・)

質問者の言う10nsってのが1回転当たりの時間の刻みの可能性が高いのでそれを求める手段を考えてみた

10nsの分解精度とは・・・
ArduinoUNOには起動後から常に動いてるカウンターが有りmicros()関数でμs単位で取得できる
ただしこれは4μs単位で動くらしく(ネット調べ)1μsでは取得できないらしい?
4μsを10nsを直すには1/400にすれば良い事になる
つまりモーター400回転時間のμsを400で割れば1回転の時間が10ns刻みで計算出来る事になる
0277267
垢版 |
2019/10/31(木) 02:16:07.11ID:TuwdFCoT
>>271
割り込みだと割り込み後の処理によって計測可能な速度が大きく左右されるので具体的な速度は出せません。
UNOだとして単純にカウンターの変数に1足す(インクリメント)するのと数値の比較なら30サイクルから100サイクル程度じゃないでしょうか?
アセンブラで詰めればもっと早くなるとは思いますが
16Mhzで100サイクル必要なら最大160KHz程度になりますがもっと少ない可能性があります
今回の質問のようなモーターの周期なら十分に対応可能な速度で動くと思われます

また他の人も回答してますがUNOにはハードウェアでパルスなどの入力をカウントする機能が備わってます
そちらを使用すればより高い周波数のパルスをカウント出来ます
0278774ワット発電中さん
垢版 |
2019/10/31(木) 02:29:34.06ID:TuwdFCoT
>>274

Each half period of the external clock applied must be longer than one system clock cycle to ensure correct sampling.
The external clock must be guaranteed to have less than half the system clock frequency (fExtClk < fclk_I/O/2) given a 50/50% duty cycle.
Since the edge detector uses sampling, the maximum frequency of an external clock it can detect is half the sampling frequency (nyquist sampling theorem).
However, due to variation of the system clock frequency and duty cycle caused by oscillator source (crystal, resonator, and capacitors) tolerances, it is recommended that maximum frequency of an external clock source is less than fclk_I/O/2.5.
An external clock source can not be prescaled.

AVR未経験なので間違いの可能性が高いですが、上記の説明を読むと
理想なパルスが入力出来たとしても6.4MHz程のようです
実際の状況ではより低くなると思われます
カウンターに非同期モードが有れば16MHzより高速なパルスをカウント出来る可能性も有ります(未確認)
0280774ワット発電中さん
垢版 |
2019/10/31(木) 04:57:18.73ID:AO6KcRfm
400回の合計を1/400にしたら平均しか出ないんじゃないの?
モーターの安定性って早くなったり遅くなったり回転ムラだから

そもそもモーターって
一般モーター 8000rpm (133rps) 1周7.5ms
高速モーター 16000rpm (267rps) 1周3.75ms
超高速モーター 300000rpm (5000rps) 1周0.2ms(=200us=200000ns)
仕様として0.5%のふらつき検出でいいような気がするんだけど
0281774ワット発電中さん
垢版 |
2019/10/31(木) 09:30:06.52ID:Ak3Gz7fN
4μ毎にしかパルス測れないものを
400回測って1/400しても意味ねーだろ
0282774ワット発電中さん
垢版 |
2019/10/31(木) 10:37:03.50ID:JlWbrZ/d
時間軸の分解能は下がるだろう。量子化の分解能はちょっと上がるかな
0284774ワット発電中さん
垢版 |
2019/10/31(木) 11:01:37.46ID:Ak3Gz7fN
>>282
アホか
1回に1パルスしか得られないんだぞ?
1回に〇〇パルスという数値が得られるわけでも何でもない
0287774ワット発電中さん
垢版 |
2019/10/31(木) 16:51:34.10ID:NWYGaj7L
モーターからセンサで拾った信号なんてノイズ乗りまくりだぞ、パルス化で位相雑音になってジッタ出るのに10nsの精度なんてあり得ない。仮に精度が出たとして、負荷に繋がってるモーターだよ、その精度で何を見るんだよ。

からかわれてんだよ。
0289774ワット発電中さん
垢版 |
2019/10/31(木) 21:44:24.03ID:MHuKJjbS
純正Esp32 Wroom 32d DevKitCです
Aduino IDEからだと書き込めるけどVSCodeだと、
Connecting......で失敗してしまいます
VSCodeでもほかのArduinoだと書き込めます
あと、コンパイルの前で

2019-10-31T12:38:52.604Z WARN p.a.h.BoardCloudResolver:64
[cc.arduino.packages.discoverers.serial.SerialDiscovery]
Fail to get the Vid Pid information from the builder response code=404

こんなのが出てかなり時間がかかります
この2つどうやったら治せますか?
0290774ワット発電中さん
垢版 |
2019/10/31(木) 22:11:15.36ID:IwNZvvRX
質問者です。
様々な助言ありがとうございます。

理想は20000rpmのモータの回転ばらつきを
0.01%の精度で見れればベストです。つまり20001rpmと20000rpmが
識別できればいいのですが…
その場合隣り合うパルス間隔が
20001rpm=333.35rps(pps)→2.99985ms/pulse=2999850ns/pulse
20000rpm=333.33rps(pps)→3.00000ms/pulse=3000000ns/pulse
この違いを識別しなければならないと考え
10ns単位でlongの変数へカウントさせ
299985が入っていれば20001rpm
300000が入っていれば20000rpm
というアルゴリズムでできればと思っております(100nsでもいけるのかな?)

現実的かどうかは素人なのでわからないですが…
低価格でそれなり分解能(せめて±0.1%)で測れるのであれば
この方法にこだわりはありません。
0292774ワット発電中さん
垢版 |
2019/10/31(木) 22:41:18.06ID:WlBCa0Yc
なんでもいいからやってみなよ
やらなきゃ何にも始まらないよ
はじめの方でdelayがどうこう言ってたけど
そのスケッチ見せてみなよ
0293774ワット発電中さん
垢版 |
2019/10/31(木) 22:51:21.69ID:PCUvynwo
>>290
奇麗な波形がえられれば20000rpmなんてせいぜい3ms周期だからCPUのスピードから
したらどうということはない。
20000prmを1rpmの精度だったら0.01%ではなくて0.005%で150nsだよね。
16MHzクロック(62.5ns)で16ビットカウンタを自走させて1回転ごとの割り込み
でカウンタを読み取れば充分のような気がするけどね。
14640rpm以下になるとカウンタがオーバーフローするから回転数によって
クロックを下げる必要があるけど。

それよりも
>モーターの軸を10vに帯電させ一回転ごとに軸と銅線(ブラシ)が接触するように考えております。
このやりかたで奇麗なパルスが得られるとは思えない。
チャタリングのようなものが盛大にでてフィルタ入れたら何を測ってるのか
分からなくなりそう。
まずはセンサーの再検討が必要と思う。
0294774ワット発電中さん
垢版 |
2019/10/31(木) 23:07:16.91ID:lTpOfYvh
>>291
Arduinoでやるならがそれがいいとこだね
>>293
「充分のような気がする」の根拠が知りたいなあw
0295774ワット発電中さん
垢版 |
2019/11/01(金) 00:00:36.97ID:dvnsw0L4
>>291
平均値は分母をどのぐらいとるかによりますが
1パルス毎で判断するよりリアルタイム性が薄れる(精度が良くない)
と思います。
簡易的な方法で良いとは思いますが、

おそらく、10nsの案がダメな場合は精度を犠牲に
平均、もしくはメディアンでみることになろうかと思います。
0296774ワット発電中さん
垢版 |
2019/11/01(金) 00:16:13.75ID:HDF3/AtF
ふつーホール素子使うよね
回転の検出ってさ
それか光
非接触でやらないとな
0297774ワット発電中さん
垢版 |
2019/11/01(金) 01:00:42.66ID:dvnsw0L4
>>296
ホール素子か光で試してみます。

そのセンサーで行えばノイズが乗りにくいという認識であってますでしょうか?
0298774ワット発電中さん
垢版 |
2019/11/01(金) 01:30:54.81ID:VWgnSoHs
ブラシよりはるかにマシだがカウンタに入るまではアナログ回路だってことを忘れんように
0299774ワット発電中さん
垢版 |
2019/11/01(金) 03:30:17.56ID:kCUHR9xv
個体のバラつきとか全然考えてないだろ
スペック上2万rpmで買ってきたモーターは
定格電圧で1割くらい平気で違うぞ、
10v流して21000rpmだったり19000rpmだったりする
個体ごとに10.2vにしたり9.7vにしたり調整が必要なわけね
20000rpmで安定回転させるにはpwmで電源制御する必要がある

電源制御で狙い通りの回転数が得られたとして色んな問題が発生する
例えば
毎周回ばらつきがある 3005us 3001us 3011us 3007us ...
数秒周期でうねりのように加減速する
ばらつきを平均化して、うねりをフィードバックでつぶすと
更に安定化できると思う
そこいらが理解できたら、DVDドライブやFDD安定走行用ICのほうがはやいじゃんとか
思えてくるんだとおもわれ
0301774ワット発電中さん
垢版 |
2019/11/01(金) 06:41:04.39ID:bp5QV730
質問者のお題では
>>222
>色々と助言頂きありがとうございました。

>今さらですが、用途は超高速モーターの回転数サンプリングです。

>外注で回転数の表示はしてくださっていますが、出来れば自社で作った基盤でもサンプリングしてみたい、といのが事の発端です。

だから、必要なデータは取れてるというか、やり方が知りたければその外注に聞けよで終了の案件。
0302774ワット発電中さん
垢版 |
2019/11/01(金) 08:53:00.57ID:+WwW+RqQ
>>299
こんなに回転数に拘るモノなんだから、クローズドループで制御してると言うことになる。外注に作らせたものには回転数が表示されると言ってるでしょ。
モータには既にセンサは内蔵されてるから、センサ出力を分岐させる方法か、外注の制御器にリードアウトをつけてもらうのを検討するのがスジ。
0304774ワット発電中さん
垢版 |
2019/11/01(金) 12:19:46.26ID:RZdAoe+6
>>290
http://codepad.org/B3qhDgdb
適当なスケッチ作ってみた
Arduinoはこれ以外にはLチカ経験のみなんで色々間違ってると思います
詳しい方の補足や修正お願いします
スケッチの内容は293の方の説明と同様の物です
一応PICから約332HzのPWM出力させて期待した動作はしました

ちなみに20000PRM付近の刻みは以下の程度になるはずです
(スケッチでは小数点以下は第一位まで)
20000.83
20000.42
20000.00
19999.58
19999.17
0306774ワット発電中さん
垢版 |
2019/11/01(金) 18:07:04.26ID:f5ijVReL
PICとarduinoでコード書いているところ見ると
どうみても自分で書いたものではありませんね。
0307774ワット発電中さん
垢版 |
2019/11/01(金) 18:08:58.46ID:f5ijVReL
arduino nanoとかでできるでしょLチカ、PWM
0308774ワット発電中さん
垢版 |
2019/11/01(金) 22:41:01.98ID:dvnsw0L4
ふと思ったのですが、PCに直接センサーをつけてデータをサンプリングすることって
できるのでしょうか?
アルデュイーノでセンサーから情報をもらい、それをPCにシリアルで送るという
のが普通の方法?なのでしょうか?
0312774ワット発電中さん
垢版 |
2019/11/02(土) 00:52:07.06ID:T2fyN3uf
最近のノートPCでは省略されている事も多いが
PCにはCOMポートとLPTポートがあって、

COMポートはシリアル入出力
 本来はモデムやXYプロッタを接続していた
 温度計やソーラーチャージャーやMP3プレイヤーなど

LPTポートは8-11bitのパラレル入出力
 本来はプリンターやスキャナなどを接続していた
 GPIOのように使うならこちら
0313774ワット発電中さん
垢版 |
2019/11/02(土) 01:41:58.31ID:BQtnYvW1
>>308
OSが走ってるから正確なタイミングでは無理。
外部でサンプリングしたものを取り込むしかない。
0314774ワット発電中さん
垢版 |
2019/11/02(土) 02:25:06.62ID:lNvCDRiD
速度による。簡易的にはオーディオ入力使うとかする応用も
0315774ワット発電中さん
垢版 |
2019/11/02(土) 02:50:45.61ID:0Y7qHM2i
この質問者頭おかしいよね
質問に答えてくれてる人は全スルーなのに
聞きたいことだけ聞いてくる
まるで人工無脳のようだ
0316774ワット発電中さん
垢版 |
2019/11/02(土) 03:02:45.62ID:Yc9g651o
今頃気づいたのかよ
むしろそれに返答してる連中の神経の方が怪しいと思うわ
0317774ワット発電中さん
垢版 |
2019/11/02(土) 05:34:23.03ID:SE3Ejm2V
> PCに直接センサーをつけて
もはやArduinoと何の関係も無いな
PCの使い方について他で学べ
0319774ワット発電中さん
垢版 |
2019/11/02(土) 10:25:40.48ID:P5t1G/Hc
「PCに直接センサーをつける」自体があいまい。
USBインターフェースを備えたセンサーなら普通につながる。
0320774ワット発電中さん
垢版 |
2019/11/02(土) 12:39:01.29ID:2UTwe2hU
>>316
Lチカマイスターが張り切ってるからね。
モータや動力知ってそうな人の指摘はガン無視だから。
0321774ワット発電中さん
垢版 |
2019/11/02(土) 15:09:52.15ID:jlXeHJHm
M5stackの話題はスレチ?
0323774ワット発電中さん
垢版 |
2019/11/02(土) 20:02:19.26ID:w6r+/gJ1
タイマーを作りたいんだけどいい方法が見つからない
用途は
・場所G:給水ポンプの清掃→14日後に報知
・場所R:スマホの充電→6日後に報知
・場所G:植木A群に給水→5日後に報知
・場所P:植木B群に給水→3日後に報知
・場所K:炊飯の開始→45分後に報知
・場所K:圧力調理の開始→30分後に報知
・場所B:風呂の給水→25分後に報知
・場所K:コーヒーの開始→12分後に報知
方法1)
 5箇所にWifi端末を設置し、ボタンを押すとサーバーに送信、スマホにpush通知
方法2)
 5箇所に1個30円のIDタグを設置し、モバイル端末で読み取り、端末上で報知
方法2改)
 5箇所にQRコードを印刷して貼り付け、スマホだけでなんとかする

もっと良い方法があれば教えて欲しい
0324774ワット発電中さん
垢版 |
2019/11/02(土) 20:06:41.79ID:w6r+/gJ1
方法3)
8個ボタンの装置を持ち歩き、規定のボタンを押す
(装置を持ち歩くのが絶対ネックになると思う、それは方法2でも同じか
0327774ワット発電中さん
垢版 |
2019/11/02(土) 21:39:34.53ID:h86EOs0F
・場所K:炊飯の開始→45分後に報知
・場所K:圧力調理の開始→30分後に報知
・場所B:風呂の給水→25分後に報知
・場所K:コーヒーの開始→12分後に報知

ここらへんは100均のタイマーをセットしてポケットに入れといたらいいんじゃねw?
0329774ワット発電中さん
垢版 |
2019/11/02(土) 22:04:52.14ID:iOOqfXWo
質問です
9v600mAのACアダプターが余ってるのでArduinoに挿して
Arduinoの5vからマイクロサーボを動かしたいんですが問題ないですか?
0330774ワット発電中さん
垢版 |
2019/11/02(土) 22:12:15.13ID:w6r+/gJ1
>>327
数分後に報知する系統と
数日後に報知を分けろというアドバイスだな
ありがとう検討してみる
0331774ワット発電中さん
垢版 |
2019/11/02(土) 22:18:42.75ID:2UTwe2hU
>>323
iphoneなら、上4つはリマインダーに登録すればどうでしょうか、○○日おきに通知と言うのができます。
下の4つは、タイマーなんだけど、Timeglass timer & stopwatch アプリで「コーヒー」「圧力鍋」等と言う名前で定型タイマーが登録できます。
電子工作に絡まなくてすいません。
0332774ワット発電中さん
垢版 |
2019/11/02(土) 22:55:37.04ID:P5t1G/Hc
>>329
マイクロサーボに流れる電流がどれだけか、と
Arduinoに載ってるレギュレータが何なのかで問題の有無が変わりそう。

あと、9V 600mAのアダプタがいわゆるトランス式なら、レギュレータの
負担はもっと重くなるかもしれないから注意。自分で判断できないなら、
そのACアダプタの写真(3方向ぐらいから撮影したものならなおよし)を
出してみて。
0333774ワット発電中さん
垢版 |
2019/11/02(土) 23:17:59.19ID:w6r+/gJ1
>>331
折角のご提案だけども、スマホを持ち歩く習慣がナインだ
>>327氏の提案で、
キッチンに4つボタンのタイマーを置いておいて
イベント発生したら該当ボタンを押して、その装置を持ち歩く、
終わったら元の位置に返す
これでかなり便利になりそう。
数日イベントは"今日何したか"思い出しながら自作アプリのボタン押すかと
思ってます。でもこれはめんどくさくなってすぐやめそう
0334774ワット発電中さん
垢版 |
2019/11/03(日) 08:48:22.06ID:0iYt239V
>>332
Arduinoにはレギュレーターがついてて5vに降圧してくれるものだと思ってました・・

アダプターは重いトランス式です
降圧には向かないんですね
勉強になりました

ありがとうございましたm(_ _)m
0335774ワット発電中さん
垢版 |
2019/11/03(日) 10:47:04.55ID:dvMsXvN8
>>334
サーボもそうだけど、モーターのような大電力を消費する回路は制御回路とは別に電源を供給するのが常道になっている。

UNO R3を例にすれば、搭載のNCP1117ST50T3Gはスペックでは5VでMax1Aを出力できるが、それはあくまで絶対最大定格の話し。
9Vから5V600mA取ったら(9V-5V)*0.6A=2.4Wも発熱する事になるから、基板上で十分なヒートシンクもないのにこのレベルの放熱は無理。
トランス式ACアダプターの出力は脈流で、9Vとは9Vを割り込まない事を最悪でも保証できるという意味で、実際の電圧は9Vより高いからさらに条件が悪い。
したがって、発熱をせいぜい1Wに押さえるとしたら、使えるのは200mA以下だろう。
0336774ワット発電中さん
垢版 |
2019/11/03(日) 11:56:36.08ID:S7tHTZBF
>>334
早合点は禁物です。
っていうか、初心者の人は、OKかOKでないかのイチゼロ思考に陥りがちですが、
たいていのことは、あいまいな中にあいまいな答えがあります。(明確にシロクロがつくこともあります)

Arduinoにはレギュレーターがついてて5Vに降圧してくれるものもあります。
でも、載っていても、どれぐらいの電力損失や電流が許容されるかは、載っているレギュレータ次第です。

「降圧には向かないんですね」とカタに嵌めたような理解は危険。スイッチングノイズを嫌う用途なら
積極的にレギュレータとともに使います。
あなたの例で問題になるのは、トランス式ACアダプタの実際の電圧が確定しないので、
仮にレギュレータの型式やマイクロサーボの電流がわかっても、大丈夫そうかどうかが判断できないことです。
0337774ワット発電中さん
垢版 |
2019/11/03(日) 12:53:44.88ID:HReNj0Lj
>>334
> Arduinoにはレギュレーターがついてて5vに降圧してくれるものだと思ってました・・
9V→5Vしてくれるけど、5V/200mAが作り出せる程度の能力しかない
代表的なマイクロサーボSG-90は5V/250mA、
モーター系は起動時に消費が増えるので倍の500mAを見込んでおく
マイコンは多くても50mA程度
200mA<550mA 全然足りない
200円で5V/1AのACアダプタ買って全体供給したほうが幸せになれるぞ
0339774ワット発電中さん
垢版 |
2019/11/03(日) 13:06:41.93ID:dvMsXvN8
>>338
それは存じておりますが、質問者が所有してるのがどっちか解らない以上は
条件の悪い方を前提にするべきでありましょう。
わわざわざ問い糾してどっちか判明してからでないと答えかねる、という案件でもないし。
0343774ワット発電中さん
垢版 |
2019/11/04(月) 17:52:43.41ID:gAr0wavP
Arduino Nanoとサイズとピンが互換のNordicのBLEのボードってありますか?
0344774ワット発電中さん
垢版 |
2019/11/05(火) 02:35:27.69ID:nMdczGRx
ラインドライバのオムロンロータリエンコーダを知人から貰いました。
これarduinoのGPIOに繋げてパルスカウントしてみたいなぁと思っているのですが、ABZそれぞれにプラスとGNDがあるのでどう配線すればよいかアドバイスをいただきたいです。
こんなモジュール&#22169;まさないと、とかあれば是非。
0347774ワット発電中さん
垢版 |
2019/11/05(火) 09:11:08.31ID:yqiQmgjD
>>346
何十メートルもコード延ばしたいとかじゃなきゃ適当に終端して非反転の方から拾えばそのまま使えるんでね
別に長くするわけじゃないけど差動信号を扱ってみたいとかならラインレシーバが必要
0348774ワット発電中さん
垢版 |
2019/11/05(火) 10:01:11.96ID:niA4Ighq
とりあえずくるくる回して試したいだけなら
まず
黒と黒赤を1KΩの抵抗で繋ぐ
白と白赤を1KΩの抵抗で繋ぐ
橙と橙赤を1KΩの抵抗で繋ぐ
んで
青をArduinoのGNDに繋ぐ
茶をArduinoの5Vに繋ぐ
これで
黒からA相
白からB相
が取れるから適当にネットに落ちてるロータリーエンコーダのスケッチの通りArduinoの入力この2つに繋げば回して遊べると思うけど
0351774ワット発電中さん
垢版 |
2019/11/05(火) 21:18:01.33ID:nMdczGRx
アドバイス通り繋いでみたらあっさりパルス拾えてしまいました。ありがとうございます。
これで4逓倍カウントとかフリーランカウンタで低速検出処理とか夢が広がります。
0352774ワット発電中さん
垢版 |
2019/11/07(木) 05:13:34.30ID:mKx8X4Dv
イーサネットアダプタとして、W5100、W5500、ENC28J60の3種をproMicro互換機に
つないでみた。

ENC28J60が安いけれど、半日くらいでハングアップしてしまう。
チップが触れないくらい熱くなるのでヒートシンクを付けてみたが効果なし。
別個体でも同様

W5500はほんのりあったまる程度でハングすることもなく連続でもOK。
Eathernet2.h を使えと書いてある記事もあるが、Eathernet.h で普通に動いた。
2個テストして問題なし

W5100は古いせいか小さいモジュールが無い。

以上チラウラでした。
0353774ワット発電中さん
垢版 |
2019/11/07(木) 07:27:15.33ID:7sgLrhQh
小型のW5100探したけどこのあたりかな

¥ 465 | トップミニ W5100 LAN イーサネットシールドネットワークモジュールボード arduino のための最高の
https://s.click.aliexpress.com/e/5m8mpi80

¥ 941 | ナノ W5100 イーサネット Lan ネットワークモジュール Arduino のためのマイクロ SD サポート TCP UDP V3.0 R3 UNO メガ 2560
https://s.click.aliexpress.com/e/efBZu8vw
0354774ワット発電中さん
垢版 |
2019/11/07(木) 12:04:22.61ID:bLUZWvzN
Arduinoのプログラムの書き込み速度は何kbpsなのでしょうか?
0355774ワット発電中さん
垢版 |
2019/11/07(木) 21:41:32.42ID:c653O3ev
こんばんは。
Arduino UNOのタイマー割り込みでtimer1とtimer2の2つを併用してなおかつ同じタイミングで割り込みがかかった場合どちらが優先されるのでしょうか?
それと、sirialprintですが、例えば以下のように
sirialprint("1");
sirialprint("2");
sirialprint("3");
と記述した場合シリアルモニタでは
「123」と表示されるかと思いますが、例えば以下のように
sirialprint("1""2""3");
と記述した場合も
「123」と表示されるのでしょうか?
またそうであった場合処理速度は早くなりますか?
素人丸出しで申し訳ないのですがご回答頂けると嬉しいです
0356774ワット発電中さん
垢版 |
2019/11/07(木) 21:47:20.61ID:RPsbL7K4
>>355
1つめ
Interrupt Vector Definitionでググれ。
2つめ
やってみりゃわかること聞くな。

以後、質問は1件ずつにして。
0357774ワット発電中さん
垢版 |
2019/11/07(木) 22:37:25.55ID:MsMqsyG/
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
0358774ワット発電中さん
垢版 |
2019/11/07(木) 22:51:58.27ID:NKEstvJP
ArduinoとリレーでAC電源機器のオンオフを試してます
ACのケーブルの他にArduino用のDC電源ケーブルも必要なんですが、
AC電源一本でやるにはどうしたらいいですか?
Sonoff BasicだとAC電源だけで済むのであんな感じでやりたいです
0361774ワット発電中さん
垢版 |
2019/11/07(木) 23:21:56.27ID:IOzExNVL
リレーだとONの時に励磁電流が必要だしSSRの方がオレは好き。ノイズ出さないし。
0365774ワット発電中さん
垢版 |
2019/11/07(木) 23:54:17.40ID:RPsbL7K4
>>362
この工作例はある程度の電子回路の知識をお持ちの方が対象で、回路図などをご覧に
なり自己責任で自作できる方が対象です。

って書いてるやろ、お前はやめとけ。
0366774ワット発電中さん
垢版 |
2019/11/08(金) 00:10:05.53ID:xXtKjA9+
どうもありがとうございました
>>363
USB電源だと便利そうです
小型のUSB電源探してみます
0367774ワット発電中さん
垢版 |
2019/11/08(金) 11:41:20.01ID:ApYB9Akc
c#を使ってWiFi経由でARUDUINO内のセンサデータを読み込む方法を考えています。
ARUDUINOから受信したhtml本文に記述されたセンサデータを文字列処理して取り出す方法しか思い付きませんでしたが、他に方法があれば教えて頂けますでしょうか?
0370774ワット発電中さん
垢版 |
2019/11/08(金) 22:16:08.83ID:+NAg5uA9
>>367
JSONはどうだろ。.NETならAPIもあります。
0371774ワット発電中さん
垢版 |
2019/11/08(金) 22:30:50.16ID:lputpUMT
ノートPCとArduinoをUSBで繋いでます。
負荷が24V系なので別の安定化電源から24Vを供給し、Arduinoからトランジスタを駆動しようと思います。
ノートPCはACアダプタに繋がっていて、安定化電源は接地されているのですが、USBと安定化電源のGNDを繋いで大丈夫なのでしょうか。何かでノートPCと別電源の機器を&#32363;いで壊したというのを聞いて気になりました。
0372774ワット発電中さん
垢版 |
2019/11/08(金) 23:34:55.92ID:y4dXz3WT
心配なら24V系とArduinoをフォトカプラで分離すればいいんじゃね
0373774ワット発電中さん
垢版 |
2019/11/08(金) 23:35:08.20ID:g+YkdznP
>>371
24V電源のGND(DC出力の0V側)とフレームは接続されてる?
あと,ACアダプタに絶縁不良がなければ大丈夫かな
0374774ワット発電中さん
垢版 |
2019/11/09(土) 07:34:37.33ID:FMekTCzA
>何かでノートPCと別電源の機器を繋いで壊したというのを聞いて気になりました。
USBで接続する場合なら、グランドが浮いた状態で信号線が接続されてようなケースかな?
0375774ワット発電中さん
垢版 |
2019/11/09(土) 07:47:38.29ID:FMekTCzA
>>371
電源が商用電源に接続するもので、正規のものなら、(PSEマークのあるACアダプタでもOK)
(A)があなたが作った機器だとして、GND1とGND2が内部で接続されている場合なら、
PCと(A)を接続するときに、GND2が接続されることは問題はない。
GND2を接続する前にUSBの信号線が接続されるのは良くない。(そうならない工夫はコネクタで
されているし、少々のことなら保護素子で守られるはずだけど)
0377774ワット発電中さん
垢版 |
2019/11/10(日) 21:59:24.59ID:9UVigTAi
vscodeでシリアルモニター表示とポート選択ができないんだけど同様の現象の人います?
乗り換えようかと思ってarduino ide proなるものをインストールしたけど大して進化してるようにも見えないから開発環境が固まらずウロウロしてる
0378774ワット発電中さん
垢版 |
2019/11/10(日) 22:05:17.16ID:nZjddLdG
VSCodeで新規ウインドウ開いてフォルダを開いてその中にinoとか置いたらボード選択とポート選択出来る
inoがひとつあるフォルダを開くのがキモ
例えば、~/Documents/Arduino/Sketch/の中に沢山フォルダを作ってその中にinoがひとつひとつあった場合は、Sketchフォルダを開くんじゃなくて、使いたいinoがあるフォルダだけを開くとうまくいく
0379774ワット発電中さん
垢版 |
2019/11/11(月) 00:34:16.73ID:T6sHoUW+
ガチガチ初心者です。
赤外線を受信したら、フォトカプラを介してLEDをつける回路を作成中。
IRremoteなるライブラリを使って、赤外線リモコンの値(16進数)を読み取るところまでできたんだけど、その値を使ってフォトカプラを動作させるやり方が解りません。
IFで変数==読み取り値(16進数)を直接じゃあかんの。
読み取り値を入れてるところがエラーになるんだけども。
0381774ワット発電中さん
垢版 |
2019/11/11(月) 01:12:46.55ID:6lSzYgyZ
>>379
>IFで変数==読み取り値(16進数)を直接じゃあかんの。

それでええんやで。コードの記述の仕方がアカンのやで
0382774ワット発電中さん
垢版 |
2019/11/11(月) 07:13:31.91ID:A235nHOm
リモコンの値が長過ぎてメモリ不足とエスパー
0383774ワット発電中さん
垢版 |
2019/11/11(月) 08:13:08.35ID:T6sHoUW+
>>381
ありがとう、頑張ってみる。
0384774ワット発電中さん
垢版 |
2019/11/12(火) 00:40:18.76ID:MD/UC/Xs
仕様を見る限りmegaはunoの上位互換って考えていいのかな?
中華互換ボードなら価格差も大して変わらなさそうだけど使い分けたりする?
0385774ワット発電中さん
垢版 |
2019/11/12(火) 08:35:38.94ID:9c6XQrdB
unoよりnano、組み込むならpromini
megaよりESPって感じかな
IOほしければエクスパンダで
0386774ワット発電中さん
垢版 |
2019/11/12(火) 09:37:49.69ID:adXH/bCa
サイズがでかい、価格が高い、消費電力が大きい という要素があって上位互換と言えるだろうか
0387774ワット発電中さん
垢版 |
2019/11/12(火) 18:26:54.45ID:cUrWFJb0
シリアルモニタへの文字の表示なんですが、
画像のようにスケッチを書いて5秒事に表示させてます。
だけど、画像の下のウインドウのように「Apporox」までで止まってしまい、次の5秒になると「. Alttidude〜Apporox」までかプリントされます。なぜ一度に最後までプリントされないんでしょうか?

https://i.imgur.com/k89I8Re.jpg
0389774ワット発電中さん
垢版 |
2019/11/12(火) 19:27:05.92ID:VVX49vAS
試しに80〜90行目をコメントアウトしたら今度はPressureの途中で切れました
0390774ワット発電中さん
垢版 |
2019/11/12(火) 19:47:26.57ID:RlOO2boW
>>387
パソコン側の問題かも
文字止まった後もマイコン側の送信LED5秒ごとに光ってない?
0391774ワット発電中さん
垢版 |
2019/11/12(火) 20:18:25.66ID:VVX49vAS
>>390
言葉足らずですみません
パソコン側へのプリント自体は5秒毎にずっとされるんですが、プリントの開始文字の終わりの文字の位置がおかしいんです
途中で来れる→5秒後→切れた所から改行含んでその直前の位置まで→5秒後→繰り返し
0392774ワット発電中さん
垢版 |
2019/11/12(火) 20:55:53.38ID:RlOO2boW
>>391
コードに問題点は見られないので、
arduino本体のマイコンは正常に機能してる可能性が高く、シリアルusb変換のICからパソコンのソフトの間の問題の可能性が高い
まずはシリアルの通信速度下げてみて
あと出来れば違うPCかosで試して
0395774ワット発電中さん
垢版 |
2019/11/12(火) 22:42:08.04ID:7+dbQUmh
>>394
thx.
ヘクト(h)は ÷100.0 なのか。÷1000.0 だと思ってたw
すると最後の"F"の意味が判らん。
0399774ワット発電中さん
垢版 |
2019/11/12(火) 23:19:49.24ID:VVX49vAS
通信速度を9600に下げて書き直したけど改善しませんでした。
そのままのコードで別のマイコン(ESP32DevKitC)だとOKでした
って事はマイコンボードのUSB変換の問題ですか?
ドライバーですけどDevKitCはCP2012Nだけど、nRF52840はAdafruitの名前が付いてました
0400774ワット発電中さん
垢版 |
2019/11/12(火) 23:48:26.53ID:7+dbQUmh
スルーしてて申し訳ない。
パソコン側のシリアルバッファーに溜まって吐き出していないだけの様な気がするので、
Serial.print("m"); をSerial.print("m________________"); としてみてはいかがだろう?
0401774ワット発電中さん
垢版 |
2019/11/13(水) 11:48:52.08ID:QfpDwcEG
>>387
細かく追いかけてないですが、自分もserial.printを連続でコールしてシリアルが詰まったような現象になった事があります。
その時は、何回かに一回sleepを入れる、もしくはstringに溜めておいてserial.println一回だけにすれば回避出来てました。
Windowsだとならなかったんで、MacのIDEの問題かもしれません。
0402774ワット発電中さん
垢版 |
2019/11/13(水) 15:56:19.64ID:HUlnVrWI
>MacのIDEの問題かもしれません。
IDEかドライバか切り分けしたら?

$ ls /dev/tty.usb*
/dev/tty.usbデバイス名
$ screen /dev/tty.usbデバイス名 9600

macもってないけどこれでシリアルみれるみたい
0403774ワット発電中さん
垢版 |
2019/11/13(水) 21:21:36.28ID:H3SOlwAl
ArduinoUNOのpluseIn関数のタイムアウトを100msに設定して関数の前後にmillisを入れてタイムアウト時間をを測定したのですが、70ms前後になります。
何故ですか?
0407774ワット発電中さん
垢版 |
2019/11/13(水) 22:47:40.39ID:xrWEwn9H
>>406
アンダーバーは、シリアルで送る文字列をうしろに長く伸ばしたら、
途切れる場所が変わるかどうかを見極める為で、アンダーバーである必要はありません。
シリアルバッファーを埋めて送信した文字列を吐き出させる為に付加してみました。
変わらないですね。てか、なんでピリオドの前で止まるんでしょうね。
ピリオド取ってみたら?
0408774ワット発電中さん
垢版 |
2019/11/13(水) 23:04:24.21ID:p4OPjq6Y
>>406
いろいろもがいてみるしかないかな?
Serial.println()の次の行にSerial.flush()いれてみるとか…
0409774ワット発電中さん
垢版 |
2019/11/13(水) 23:46:18.52ID:aWJ7qDFc
>>407
アンダーバーの件了解しました。
どうやらピリオドで止まるわけじゃなさそうです
画像のように初回のプリントはPressureのPressで止まり、以降は毎回Approxまでで止まってました

https://i.imgur.com/3hpp7Sk.jpg
https://i.imgur.com/foACCfb.jpg

試しにApprox.を消したらAlttitudeの途中まででした

https://i.imgur.com/cumogbb.jpg

>>408
Serial.flush()試してみました
しかし上の画像の通り残念ながらこれでも変わらなかったです
0412774ワット発電中さん
垢版 |
2019/11/14(木) 02:57:23.84ID:/wU/IZ68
>>411
乙です。
ピリオドは関係なかったですね。申し訳ない。
自分の場合だとprintln()は使わずprint("\n")と書いてます。
まぁ、個人的な決まり事ですがw
0413774ワット発電中さん
垢版 |
2019/11/14(木) 09:59:37.91ID:NZPA9atM
まとめると
・UNO(nRF52840版)でシリアル送信が5秒遅れる場合がある
・同じスケッチでESP32DevKitCだとこの問題は発生しない→スケッチに問題なし
・Macと接続した場合発生する。WindowsPCでは発生しない→UNO(nRF52840版)に問題なし
・ArduinoIDEの問題ではない→Mac自体に問題がある

MacのnRF52840シリアルドライバがポンコツくさいな
最新ドライバかパッチを探してみたら?
0414774ワット発電中さん
垢版 |
2019/11/14(木) 12:26:32.01ID:PRMiqnKe
あら、公式"Reference"の"Example Code"を見ると、
println()はdelay(10);を入れるようになってるね。
print()の方はdelayがない。
0415410
垢版 |
2019/11/14(木) 16:35:52.90ID:qzOgOGNo
>>411
効いたみたいで良かったです。
シリアル通信で他デバイスにデーターを送るときとか、GPIOからボタンなどの入力を受け取るときとか、
インターフェイスが絡む場合、経験上delay(10);でひと息入れさせると上手く行くことが多いです。

すみませんが、68行目のdelayとの違いの本当の理屈はわかりません。
ただ、関数を抜ける際などの取りこぼしはままあるので、そういうものと受け止めつつ、
実用上、挙動が怪しいところでは、他のソースに手を入れる前にこうしてみています。
0416774ワット発電中さん
垢版 |
2019/11/14(木) 19:53:22.89ID:UYUGWPxl
すみません、Pulsin関数ってArduinoUNOだと13番ピンは使えないですかね?
PWM対応ピンでしか機能しない可能性ありますか?
0419774ワット発電中さん
垢版 |
2019/11/16(土) 03:56:07.31ID:jQLq0TQJ
春に出たnanoシリーズの話題全く見かけないんだが誰も買ってないのか?
0421774ワット発電中さん
垢版 |
2019/11/16(土) 14:27:34.33ID:14YSwIPz
>>419
そういうあなただってリンクすら張らず、話題にする気も興味も全く無さそうじゃんw
0422774ワット発電中さん
垢版 |
2019/11/16(土) 18:44:11.88ID:b4OjvFUG
Nano Every
MCU ATMega4809、USBシリアル変換にSAMD11
唯一の5V

Nano 33 IoT
MCU SAMD21、WIFIモジュールにESP32

Nano 33 BLE
nRF52840

Unoのフォームファクターはレガシーとして残すけど、これからはZero、Nanoをこれからのフォームファクターに移行したいように見えるんだがどうよ
3.3V中心だし

>>421
公式のボードなのにリンクがどうとか難癖かよ
リンクは>>1にあるだろう
0425774ワット発電中さん
垢版 |
2019/11/17(日) 00:44:30.77ID:s+jcFTvl
>>422
メインのMCUよりもシリアル変換モジュールや通信モジュールの方が性能が上とかもうよく分からんな
0426774ワット発電中さん
垢版 |
2019/11/17(日) 00:52:13.35ID:7Z6EvGeT
>>422
見事な平文で感心した
死んでもリンク張らねえぞって意気込みが無駄に空回りしてて笑う
リンク張れって言われてここまで意地張る僕ちゃんかわいい
0428774ワット発電中さん
垢版 |
2019/11/17(日) 01:44:15.13ID:kaLvPF1H
>>427
それSAMD21だからESP32以下じゃん
素直にESP32だけ使わせてくれた方がよっぽどマシ
0430774ワット発電中さん
垢版 |
2019/11/20(水) 18:27:35.02ID:qfx2w9m9
m5stackがコスパ機能ともに最高すぎて
arduinoゴミ箱に捨てたわ
0431774ワット発電中さん
垢版 |
2019/11/20(水) 20:15:14.07ID:3V9LCOk2
voutからの供給をソフトウェアから停止したい。

ESPr Developer(ESP-WROOM-02開発ボード)にUSB接続して動作させています。

voutは、挿されたUSBのvccに直結だとどこかで見た記憶があり、
voutからの電流はスケッチからソフトウェア的に停止することはできない認識でいますが正しいでしょうか。

なので、voutからの供給を止めるためには、リレーなり、トランジスタなりを挟んで、GPIOで制御するしかないのでしょうか。
0432774ワット発電中さん
垢版 |
2019/11/20(水) 20:20:09.68ID:3V9LCOk2
あ、esp8266スレがあった……。
つい初心者というスレタイに誘われて……。
こっちじゃだめですか
0436774ワット発電中さん
垢版 |
2019/11/20(水) 21:10:18.05ID:3V9LCOk2
お二方とも、ありがとうございます。

トランジスタでのスイッチを検討したいと思います。
ありがとうございました。
0438774ワット発電中さん
垢版 |
2019/11/21(木) 00:24:57.83ID:xgaelkYF
中華Pro Miniについて質問です
3.3Vのが欲しいんですがアマゾンを見てもFTDIの並びが逆のタイプしか見当たらないです
もう以前のように普通の並びのは売られてないんでしょうか?
0443774ワット発電中さん
垢版 |
2019/11/21(木) 11:50:41.44ID:Hi5CMK9j
>>442
クロック落とさないと3.3v安定動作しない
(16MHzのままでも一見動作するが誤作動の原因になる)
8kHzでは遅いのでせめて8MHzでね
0445774ワット発電中さん
垢版 |
2019/11/21(木) 14:53:13.72ID:QRDUiPu7
>>441
あった
https://www.aliexpress.com/item/32963423749.html

俺は6P-6Pのフラットケーブルで接続してる
完璧を求めるならレギュレータも5V品から3.3V品に交換
内部発振8Mに変更するなら部品交換は不要
動作クロックで如実に消費電力が減るのでおもしろいよ
Mega328P MU 3.3V 16MHz 7.5mA (BuitinLED 1.5mAを含む) ※参考値
Mega328P MU 3.3V 8MHz 4.8mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 1MHz 2.0mA (BuitinLED 1.5mAを含む)
Tiny44A 3.3V 8MHz 2.0mA
Tiny13A 3.3V 9.6MHz 1.0mA
0446774ワット発電中さん
垢版 |
2019/11/21(木) 18:38:24.37ID:dFJ4Zmpz
>>444
その画像と同じものならよく見る逆のタイプです

こういうアダプターだと逆さまにつけないといけなくて、下にスペース作らないとアダプターのピンベッダが干渉して直結出来ません
https://www.switch-science.com/catalog/1032/

>>445
これだと正しい並びですね
なぜ3.3Vは逆向きが主流になったんでしょうか
画像は参考画像だと言って逆のが届かないか心配です

自分でも調べてみたらこっちも正しい並びのようです
https://ja.aliexpress.com/item/32525927539.html


> 内部発振8Mに変更するなら部品交換は不要

どういう事ですか?
クロックやレギュレータの交換不要って事ですか?
手順知りたいです
0448774ワット発電中さん
垢版 |
2019/11/21(木) 18:48:13.91ID:QRDUiPu7
>>446
>届かないか心配です
ケーブルで対応しろ

1)Arduino-IDEにMiniCoreボードマネージャーをインストールする
https://github.com/MCUdude/MiniCore
2)"Atmega328", "8MHz internal"をセレクト
3)ブートローダーの書き込み(フューズビットの設定)
たったこれだけで16MHzのProminiが8MHzや1MHz動作に
ただ内部RCは精度が悪いのでシリアルで問題が出る場合がある
そこは固体ごとにOSCCALを校正
0449774ワット発電中さん
垢版 |
2019/11/21(木) 19:40:43.90ID:EcgPcbS5
>>438が何言ってるのか全く分からなかったが
ジャンパー線で済む話だったのな、応用力無さすぎじゃね?
0450774ワット発電中さん
垢版 |
2019/11/21(木) 20:03:26.48ID:bvJDBdfj
https://i.imgur.com/TNk2zXo.png
こんな感じでアクセスされてるICへの信号をArduino(16MHz)経由で記録したいと思って
CSの立ち上がりで割り込みをかけてCS,RD,WR,A0を含むポートを参照、次にD0〜D7を含むポートを参照しようとしたんだけど
うまくいかず、理解も全然追いついてないんだが、これはArduinoでは速度的に無理ってことになるのかな?
というかCSの立ち上がりが発生してるはずの回数より明らかに少なくしか拾えてない
アセンブラで書けばいけるとか言われたらお手上げだなあ
0451774ワット発電中さん
垢版 |
2019/11/21(木) 20:05:43.63ID:dFJ4Zmpz
>>448
どうもありがとうございます
OSCCAL大変そうです
もし、>>440 のクロックを8MHzに変えるなら面実装のレギュレータも3.3Vに張り替えるって事になりますか?

>>449
> 応用力無さすぎじゃね?

そういう話じゃなくて、ジャンパー線で繋ぐよりもシリアル変換アダプター直結だと繋ぐ向き考えたり線でゴチャつかないで済むからです
AdafruitのPro Trinketも逆並びだから地味にめんどくさい
コピー元のSparkFunのPro Miniはこれまで何度かマイナーチェンジしてるけど一度も逆向きになった事無いと思うけど何故中華Pro Miniは逆向きになったんでしょうか?

ただ、今日教えてもらった感じだと、普通の並びのPro Miniの出品はほとんど無さそうなのでコストや入手性等考えたら逆向きの方がいいのかも知れないですね

>>445
以前ESPスレに書き込まれたかたですか?
0452774ワット発電中さん
垢版 |
2019/11/21(木) 20:27:29.05ID:sK2K7GqF
>>446
一番オーソドックスだと思うFT232RLのピンが全部出てる赤い基板の奴に合わせてるんじゃないの
0454774ワット発電中さん
垢版 |
2019/11/21(木) 20:56:54.03ID:dFJ4Zmpz
何度もすみません

よく見かける逆向きのPro MiniはDeek-Robotという所がコピーしたPro Miniのコピーらしいですね
Deek-Robot自体ではもう売って無さそうですが
https://www.arduino-board.com/boards/dr-pro-mini

あとSPIピン付きのバリエーションも出してたみたいですね
便利そうです
https://www.arduino-board.com/info/arduino-knockoffs

コピーなら見つけられました
https://ja.aliexpress.com/item/33043002742.html
0456774ワット発電中さん
垢版 |
2019/11/21(木) 21:33:26.72ID:UQYRzVye
ゴチャつかないで済む
地味にめんどくさい

お前は電子工作自体をやめたほうがいい
0458774ワット発電中さん
垢版 |
2019/11/21(木) 23:24:05.13ID:e8xOSe1V
>>456
そっ、それも初心者に対するアドバイスなの?
スレの趣旨からすると厳し過ぎるような。。。
0459774ワット発電中さん
垢版 |
2019/11/21(木) 23:31:52.10ID:zX1+KNWD
シリアルのピンアサインそろえるためだけにモジュールをえり好みしてる初心者なんぞ
早めに電子工作から手を引かせた方がいいに決まっとろうが
0460774ワット発電中さん
垢版 |
2019/11/21(木) 23:47:38.70ID:hl7tmLxO
>>450
ソフトでやるのは無理なのではないかと思う。16Mクロックで1クロックで1アセンブラ命令が動くとしても62.5nかかる。割り込みでそれまで動いてた処理で使ってたレジスタやプログラムカウンタをセーブし
割り込み処理を起動するだけで10命令以上動くから625n以上かかる。さらに割り込み処理内でゴニョゴニョしてる間は次の割り込みは待たされる。
0461774ワット発電中さん
垢版 |
2019/11/22(金) 00:32:43.45ID:9ROlBePT
>>459
そいつスパークファンと同じピンアサインの互換品探してるだけだろ?何もおかしくないと思うが
0462774ワット発電中さん
垢版 |
2019/11/22(金) 01:38:26.84ID:4eGqH0cO
おかしくないよ
ジャンパー線でつなぎかえりゃ済むでしょと言ってるだけ
どっちが手間なんだかw
0464774ワット発電中さん
垢版 |
2019/11/22(金) 06:50:48.13ID:H+LjOmx8
PlatformIOってこのスレ?
過去スレで話題あるなら読んでみたいんだが
0465774ワット発電中さん
垢版 |
2019/11/22(金) 10:53:02.07ID:tN+OgGTa
>>458
教えてくれ→教える→俺はこうなんだよ→好きにせーや
まあこうなるわな
0466774ワット発電中さん
垢版 |
2019/11/22(金) 12:04:19.50ID:NdHz4Ugn
>>465
冷たいヤツ⇒放置
優しすぎるヤツ⇒忖度し回答
ちょっと優しいヤツ⇒不備指摘
0467774ワット発電中さん
垢版 |
2019/11/22(金) 14:57:52.31ID:HQuDiyN9
>>455 >>460
だよねー
となるとch数と速度が十分なロジアナか、もっと速いマイコン使えってことになるか…
0468774ワット発電中さん
垢版 |
2019/11/22(金) 19:01:47.80ID:jjZKhSOO
>>467
マイコンだとキツイんじゃないかな
尼で1000円くらいの24MHz 8チャンネル USBロジックアナライザなら
ギリギリ使えそうだけど、コンデンサー交換しないとUSB認識しないとコメあるし
チャンネルごとにトリガー掛けられるからI2CやSPIのデバッグに便利そうだけど
0469774ワット発電中さん
垢版 |
2019/11/22(金) 19:04:04.44ID:wINQNMRc
アルドゥイーノとラズパイ組み合わせたらどんなことできますか?
0471774ワット発電中さん
垢版 |
2019/11/22(金) 19:33:27.00ID:DMCz6ZwJ
例えば?
0476774ワット発電中さん
垢版 |
2019/11/22(金) 20:57:48.97ID:ll1GQ17D
>>472
そのケースだけ欲しい
デバッガやシリアルコンバータにちょうど良さそうな大きさ
こんなケース秋月かどこかで買える?
0478774ワット発電中さん
垢版 |
2019/11/22(金) 21:07:23.69ID:I0UDM6sr
ケースいろいろ買い集めたけど3Dプリンター買ったら全部放置してあるなあ
ケースだけにかさばるんだよなあw
0479774ワット発電中さん
垢版 |
2019/11/22(金) 21:11:52.84ID:WX2AfdkU
3Dプリンタで作ったケースはかさばらないのか
0480774ワット発電中さん
垢版 |
2019/11/22(金) 21:21:07.63ID:ariviR/t
VSCodeにPlatformIOを入れました
Arduino IDEの様にボード事や追加したライブラリ毎のサンプルスケッチってどうやって開くんでしょうか?
0482774ワット発電中さん
垢版 |
2019/11/22(金) 21:52:13.82ID:hKJQ6GQx
>>472
安ロジアナの定番、自分も半年くらい前に買った
アプリはオープンソースのものとこのロジアナのパクリ元メーカからダウンロードできるやつの2種類使えるな
0483774ワット発電中さん
垢版 |
2019/11/22(金) 23:42:38.68ID:HQuDiyN9
>>468
>>450の画像がまさにその手のロジアナ使って見た状態(24MHzサンプリング)
8chだと足りないし速度も余裕なさそうな感じだから少し上のスペックで安いのを物色してるところだけど
ch数によって周波数が変わるのが多いようで、確実そうなスペックだと安物でもあまり安くはないなぁ
もちろんちゃんとしたメーカーのだともっとずっと高いが、安物買いの銭失いとはよく言ったもので
0484774ワット発電中さん
垢版 |
2019/11/23(土) 00:54:55.47ID:fyu4PIJ6
サンプルとかが入っていドキュメントの中のArduinoフォルダVSCodeで開ければ見れるはずだよ
0485774ワット発電中さん
垢版 |
2019/11/23(土) 01:38:09.55ID:C0MFIJaB
>>484
どうもありがとうございます
Arduino IDEはインストールしないでPlatformIOだけでやりたくて…
0487774ワット発電中さん
垢版 |
2019/11/23(土) 18:14:24.59ID:DIKocap7
>>483
https://i.imgur.com/XHODaJy.png

この辺かな
長め(少なくとも数min程度)に記録したいからストリームモード前提として
Logic16/LA1010 16ch時16MHz、9ch時32MHz
DSLogic 16ch時20MHz、12ch時25MHz
6022BL 16ch時20MHz?
どれもCY7C68013Aなのかな(8chのやつも本家Saleaeも含めて
0488774ワット発電中さん
垢版 |
2019/11/25(月) 11:53:43.00ID:BUhhi3Fc
ATTiny13Aで出力ピンが足りなくなったので、
3つの出力ピンで4つのLEDを順に点灯する回路を考えてみました。
https://i.imgur.com/DsDfCcS.png

D0,D1,D2が出力ピンで、A-DがLEDです。
表にすると
012 ABCD
000 0000
001 0001 - Dのみ点灯
010 0100 - Bのみ点灯
011 0101
100 1010
101 1000 - Aのみ点灯
110 0010 - Cのみ点灯
111 0000

高速に切り替えればデューティー1/4で4つ同時に点灯しているようにも見えるはずです。
この回路は電気的に問題無いでしょうか?
電源は5V、LEDのVf=2.0V、R=470Ω、6.4mA流れるのを想定しています。

また、ハイインピーダンスを使用したアクロバティックな回路を見た記憶があるのですが、
検索しても見つける事ができませんでした。
もっとLED増やせるなどのご指摘がございましたらご教授下さい。
0490774ワット発電中さん
垢版 |
2019/11/25(月) 12:28:22.71ID:NwWXWWo/
Arduinoではないけど、Microchip社のCompiled Tips `N Tricksってドキュメントに
6個駆動する例が紹介されてる
0491774ワット発電中さん
垢版 |
2019/11/25(月) 12:29:16.01ID:MzZyxf9I
Charlieplexing方式と言って1995年にMaximの社員が考案したといわれている方式
nピンの出力ポートでn(n-1)個のLEDを制御できる
3ピンの場合はこのように6個のLEDを制御できる
https://en.wikipedia.org/wiki/File:3-pin_Charlieplexing_with_common_resistors.svg
ピンが増えると制御できるLEDも飛躍的に増加するが同時点灯できるLEDは1個なのでデューティー比がかなり小さくなる
0493774ワット発電中さん
垢版 |
2019/11/25(月) 13:43:50.06ID:nMnud08/
こういうのは ICを追加せずに実現方法を考えるのが楽しいのよ
0494774ワット発電中さん
垢版 |
2019/11/25(月) 14:34:57.99ID:xz1hFLYB
全く関係無いけど、DELLのCRT破壊したらコントロールパネルのボタンが分圧式?で驚いたわ
よく耳にするけど実際にあんな製品で採用されてるとは思いもしなかった

LEDのこんな制御も実際に採用されてたりするんだろか
0495774ワット発電中さん
垢版 |
2019/11/25(月) 17:13:43.40ID:Iu9gZ2fQ
>>494
分圧式のスイッチはモニターだと見かける気がする
だから接点が劣化して抵抗が増えると決定押しても別のボタンとして反応するとかの不具合が発生したりする
0497774ワット発電中さん
垢版 |
2019/11/26(火) 10:54:35.09ID:dkcIW84R
IC制御のタクトスイッチをArduinoでON-OFFの制御をしたいです

IC INPUT_PULL___o ̄o____GND
ICの制御 ------┤← +とGNDをICが切り替えている
Arduino--------┘← はんだをして割り込ませる

ICのプログラムは変えることができないので試行錯誤をした結果
ArduinoのポートをINPUT_PULLUPとdigitalWriteのLOWを切り替えて
+とGNDを再現して思った動作はできました
これって異端だったりしますか?何かスマートな方法あったりしますか?
0498774ワット発電中さん
垢版 |
2019/11/26(火) 16:03:42.71ID:EVCSJz2+
>>497
考え方は間違ってないけど以下の条件を満たしてる必要がある

・GNDの電位が同じ
・ケーブルが短い(内蔵プルアップのインピーダンスが高いため)
・IC側の入力インピーダンスが高い

さらに
arduinoとICの駆動電圧が違う場合
arduino5vでIC3.3vの場合は入力の耐電圧超える可能性がある(入力にクランプダイオード等が有れば問題無し)
arduino3.3vでIC5vの場合は動作の確実性が弱い(誤作動の可能性有り)

一般的には駆動電圧一緒なら抵抗を挟んでdigital writeのhigh lowでやるんじ無いかな
(抵抗はなくても動くが保護の意味も含めて念のため)
0499774ワット発電中さん
垢版 |
2019/11/27(水) 00:26:19.53ID:gfLs32iF
>>491
折角なのでブレッドボードで配線してみました
https://i.imgur.com/cfDQeNC.png
3OUT-6LEDでサウンドレベル表示してみましたが
2msx6=12ms,83fpsでチラつきも無く快調です
4OUT-12LEDも試してみたいと思います。
0500774ワット発電中さん
垢版 |
2019/11/27(水) 05:41:40.76ID:WE3iil0k
見づらい配線図より、実際に動いている写真のほうがいいな
0501491
垢版 |
2019/11/27(水) 08:51:29.43ID:MroG5pfA
https://i.imgur.com/uBVQXsZ.mp4
こんな感じでどう?20LED by 5I/OPort
見かけ上の同時点灯数が5個なのでそこそこスムースに見える
0502774ワット発電中さん
垢版 |
2019/11/27(水) 09:03:03.66ID:XMlRaDXK
>>501
おおお!メリークリスマス!
0503491
垢版 |
2019/11/27(水) 09:47:03.67ID:MroG5pfA
>>502
8PinのAVRとLi-Poかなんかで小さくまとめようと思ってたけど動くのが確認できた時点でもうやる気がなくなってしまったという…
0506774ワット発電中さん
垢版 |
2019/11/27(水) 14:36:31.30ID:3LruFphS
モデム付いたESP32ならあるね
ただ2GのGSMだかで日本じゃ使えないとか?
0508491
垢版 |
2019/11/27(水) 18:03:58.53ID:vhXD3IuQ
>>507
固定パターンの繰り返ししかしていないからね、ほとんどがdelayでの待ち時間だと思う
0509774ワット発電中さん
垢版 |
2019/11/27(水) 18:36:02.75ID:BZfHTIHj
>>498
3つの条件をクリアしているのと駆動電圧も同じなので
抵抗を挟んで動かしてみます
想定される条件など詳しくありがとうございました!
0511774ワット発電中さん
垢版 |
2019/11/28(木) 06:21:40.96ID:EXdQ6Hti
Nano 33 BLE買ってみたけどライブラリもサンプルも全く無くて泣きそう
0513774ワット発電中さん
垢版 |
2019/11/28(木) 16:14:15.76ID:7MKG9o7E
これからArduinoを始めたいんですが
お勧めの本や&#13259;を教えて頂けますでしょうか。
やりたいことは鶏の孵化機で温度・湿度管理にそれに合わせた
加温や加湿、数時間ごとの卵の回転です。
温度などの計測は比較的簡単そうに見えるのですが
モーターなどの動力に関しては色々難しそうなので
そのあたりが詳しい本などを紹介していただけるとありがたいです。
又、お勧めのArduino本体とLCD(20*4)バックライト付き見やすいものも
教えて頂けないでしょうか?
0515774ワット発電中さん
垢版 |
2019/11/28(木) 16:52:41.67ID:7MKG9o7E
>>514
かなり前に温度と湿度だけはできました
加温+循環ファンに関してはSSRにドライヤーつなげでなんとかなりました
ただ、タイマー+モーターによる卵の回転は最初は上手くいっていたんですが
2〜3日でシステムがフリーズしたりするので
動力電源の取り回しやモーターのノイズ拾っておかしくなったのかと?
で、こんどはちゃんとしたものを作ろうと改めて勉強したいので
分かりやすい本など教えていただけるとありがたいです。
0516774ワット発電中さん
垢版 |
2019/11/28(木) 17:46:41.40ID:ee94vSZl
>>515
その最初は上手くいったってやつの情報を出した方がいいのでは?
「タイマー+モーターによる卵の回転」なんて本はない訳だから、
たたき台があった方がいいよ。
0517774ワット発電中さん
垢版 |
2019/11/28(木) 21:00:25.42ID:fQcZTCQA
>>513
ELEGOOの三千円台のスターターキットにPDFのガイドブック付いてるよ。
0518774ワット発電中さん
垢版 |
2019/11/29(金) 10:43:25.14ID:CAzmVR2Y
>>515
タイマー+モーターだけで済むでしょ?
Arduino介するからフリーズとかするんだよ
電子回路でなく電気回路で充分
0519774ワット発電中さん
垢版 |
2019/11/29(金) 19:44:39.05ID:ebgzb0o8
Digispark で、キーボード上のScroll Lockの LEDと、ledPin1を同期させたくて
見つけてきたんだけど、点灯しっぱなしで上手くいかない、何が間違ってますか?

#define LED_NUMLOCK (1 << 0)
#define LED_CAPSLOCK (1 << 1)
#define LED_SCROLLLOCK (1 << 2)
const int ledPin = 1;
uint8_t keyNone[8] = { 0, 0, 0, 0, 0, 0, 0 };

void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop()
{
uint8_t ledStatus;
delay(100);
Serial.write(keyNone, 2); // Release key
// keyboard firmware will send back 1 byte every time it receives a key
// this byte represents the LED status for the keyboard:
// Bit 0 - NUMLOCK, Bit 1 - CAPSLOCK, Bit 2 - SCROLLLOCK
ledStatus = Serial.read();
if (ledStatus & LED_CAPSLOCK) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
0521774ワット発電中さん
垢版 |
2019/11/29(金) 20:46:21.49ID:ebgzb0o8
>>520
ホントだ、気づきませんでした、ありがとう御座います。
でも、動作しません。。。
0522774ワット発電中さん
垢版 |
2019/11/29(金) 21:28:08.78ID:y7JtyF92
そもそも"Serial"に2byte送るとキーボードのステータスが返ってくるの?
0523774ワット発電中さん
垢版 |
2019/11/29(金) 22:27:07.62ID:ebgzb0o8
>>522
ここのやつです。
http://coopermaa2nd.blogspot.com/2011/11/blog-post.html

キーボードのランプは、PC側が光らせているので、複数あれば全て同期するようです
Scroll LockのLEDを、HDDのアクセスランプにするツールを使って、派手なアクセスランプが作りたくて
もう数年かけてます
0524774ワット発電中さん
垢版 |
2019/11/29(金) 23:12:03.21ID:y7JtyF92
数年もやってるの? すごいね!!
オレなら一日で投げ出してる。
リンク先を読ませてもらいました。(ざっとだけど)
ちなみに"atmega8u2"のファームは書き換え済みなんだよね? >>Uno
0525774ワット発電中さん
垢版 |
2019/11/29(金) 23:52:44.82ID:Kfipzs0J
IMEのON・OFFランプを作りたいんだけどなぁー。なんか無理っぽいね。
日本語入力になってると思って文字打ってたら、英語だったり
またその逆だったり、よくあるんだよなー
0526774ワット発電中さん
垢版 |
2019/11/30(土) 01:11:29.69ID:iApPA+hR
>>524
いえ、USBタイプのDigisparkで・・・

その数年というのは、
USB付きのpicから初めて、Arduinoを知って
スマホ操作の自動化をやりながらなので
0527774ワット発電中さん
垢版 |
2019/11/30(土) 02:15:55.35ID:bc2X//pC
せっかくクーポンゲットしたけど、とりあえず今は何も買う物がないっていう
0530774ワット発電中さん
垢版 |
2019/11/30(土) 11:09:03.46ID:KbJ/pmqp
>>529
出来ないと思う。PC側でソフトを常駐させて、IMEを監視してシリアルでマイコン側に送る方法になると思う
0531774ワット発電中さん
垢版 |
2019/11/30(土) 19:04:30.01ID:8HEd04lH
できるやん
0533774ワット発電中さん
垢版 |
2019/11/30(土) 19:20:38.92ID:8HEd04lH
ちと古いかもしれんが IME_GETOPEN ここらの情報読み出せばおk
0534774ワット発電中さん
垢版 |
2019/12/01(日) 22:57:39.56ID:XlVoazBV
下のコードの goto init; で for(;;){} に分岐した時は無限ループになるのでしょうか?
void loop() {
boolean flg1;
boolean flg2;

if (flg1 == true) {

if (flg2 == true) goto init;

<処理>

} else {
init:;
for(;;) {

}
}
}
0538774ワット発電中さん
垢版 |
2019/12/02(月) 21:27:16.69ID:1vHELBn2
Arduinoの語られざる歴史
https://arduinohistory.github.io/ja.html

Arduinoは今はSTM32でもESP32使えるけど当初はAVRありきだったのか、いつ頃どうやって他のプラットフォームでも使えるようになったのか、全く謎だったからググってたらこういうページが見つかった
これってつまりどういう事ですか?
0539774ワット発電中さん
垢版 |
2019/12/02(月) 21:52:44.10ID:tft+oUdS
つまり、君の疑問の答えはそこには書いてないという事だ。
0540774ワット発電中さん
垢版 |
2019/12/02(月) 23:00:06.84ID:76gHmQQt
>>538
はじめにavr以外を対象にwiringがあって
それを利用してavrを使った別プロジェクトの成果としてArduinoができて
その後Arduinoが流行って、Arduinoをスタートラインとして他のマイコンでもつかえるよう対応されていった
0541774ワット発電中さん
垢版 |
2019/12/02(月) 23:19:05.30ID:tft+oUdS
どの段階でピンへだがクソ配置になったか分かるね。
今となっては経緯なんざくだらねえし、NanoかESPしか使わんからどうでもいいが。
0542774ワット発電中さん
垢版 |
2019/12/02(月) 23:35:52.66ID:76gHmQQt
そのクソ配置のArduinoが流行ってシールドがいっぱいでて
Arduino のシールドが挿せるピン配置互換ボードが STM32などでも出てきたが、その頃はまだ Arduino IDE での開発は対応していなかった
https://pc.watch.impress.co.jp/docs/news/635614.html

その後 Arduino 1.6.2 のボードマネージャが実装され(2015年)、ボードマネージャで STM32 対応環境が落とせるようになって、かな?
0543774ワット発電中さん
垢版 |
2019/12/02(月) 23:41:35.99ID:gt3wu70T
そのシールドというものは1枚も持ってないなあ
件のピン配置見たあと初ArduinoだったUNOはそっとしまい込んだから
もっともそれも中華製クローンだったがw
0544774ワット発電中さん
垢版 |
2019/12/03(火) 21:17:21.69ID:hxJ8ZDg4
最初のArduinoが最近買った「ATmega2560 (Mega 2560)」の新参者だけど
使用例としてコードを渡されて書込装置が「atmel STK500」なので比較的すぐ慣れた。
0546774ワット発電中さん
垢版 |
2019/12/04(水) 14:57:10.40ID:luGrr//t
>>545
そうかな? 下で買ったから1枚千円で2枚買った。今見ると更に安くなってる。送料込で2600円だった。
https://www.banggood.com/RobotDyn-Mega-2560-PRO-Embed-CH340G-ATmega2560-16AU-Development-Module-Board-With-Pin-Headers-For-Arduino-p-1397734.html?cur_warehouse=CN

OSCで頼んだので梱包用は紺のビーニールで、その中がビーニール袋(物は入っていたけど)1枚のみだったので電子部品なのに大丈夫かと驚いた。

黒い基板(2段目以降の写真)は少し前に半田付けしたけどarduinoは取り組み初めて5日目。
https://imgur.com/a/liYUqsn

昔の8ビットPCのあるビットをオンにするとLEDが点灯する。そのビットをオフにしてと「制御」が
戻ってくれば有り難いけど、結果はLEDが消灯するだけ。Lチカが目的ではないからORZ状態。

因みに黒い基板は自作ではなくて緑の基板と交換して貰った基板。写真では見えないけど黒の隣に緑がある。
0548774ワット発電中さん
垢版 |
2019/12/04(水) 16:29:07.90ID:Yd+jpYRD
>>546
やっぱ富豪だよ
ここの多くの住人は300〜400円(送料込)の中華unoとか200円前後(送料込)の中華nanoとか使ってる
さらに80円(送料込)以下の使う人らも
0551774ワット発電中さん
垢版 |
2019/12/04(水) 17:18:53.03ID:vWbhVNM9
そんなわけ無いだろうけど、もしそれだけの処理ならATTiny13で出来そうw
0552774ワット発電中さん
垢版 |
2019/12/04(水) 18:35:33.41ID:luGrr//t
昔の8ビットパソコンのCPU代わりに使うのでVCC、GND除いてI/Oピンが30本程必要。

それにしても Pro Mini でさえ某店舗では 1,266 円 とは高い。
https://www.switch-science.com/catalog/946/

どちらにしても今回の使い方では nano も使えないし ATmega2560でも速度が足りない感じで
期待した動きにならない。アセンブラで短いサイクル、一括でI/OピンがINPUTになる命令はないかなと。
0554774ワット発電中さん
垢版 |
2019/12/04(水) 19:44:51.75ID:5JiTNwtB
>>552
自分のレスをよーく読んでみたらいい。
何やりたいか情報少なすぎて分からないから、はたからはただのひとりごとにしか見えない。
0555774ワット発電中さん
垢版 |
2019/12/04(水) 20:19:07.20ID:luGrr//t
>>554
大筋でやりたいことは自分では判っている。

挨拶から始まり道草したけど質問としては下。
「ATmega2560のアセンブラで短いサイクル、一括でI/OピンがINPUTになる命令」があるか否か。
0556774ワット発電中さん
垢版 |
2019/12/04(水) 20:47:58.26ID:1SH5knyh
USBシリアル変換機を繋いでATTiny13とか85にブートローダーやスケッチを書き込むにはどんな配線にしたらいいんでしょうか?
ググってもUNO経由のやり方しか見つけられないです
0557774ワット発電中さん
垢版 |
2019/12/04(水) 20:54:53.99ID:luGrr//t
補足
ハード的にはバッファとして74LS244等を追加すれば機能は実現するも知れないけど
確証がないしハードを追加してまで確認する必要はないと現時点では考えてる。
0558774ワット発電中さん
垢版 |
2019/12/04(水) 21:01:35.78ID:Pe+vaCak
>>555
DDRxポート(xはA〜D)に0書けば全部入力ポートになる
というかリセット直後がこの状態だけど

PORTxポート(xはA〜D)を読み出せば8bit分一括で読み出せる
しかしなんで質問者がこんなに態度がでかいんだw
0559774ワット発電中さん
垢版 |
2019/12/04(水) 21:07:20.08ID:+lK/st5C
富豪だからな
0560774ワット発電中さん
垢版 |
2019/12/04(水) 21:19:37.91ID:5JiTNwtB
有能な人は自分の能力の程度を客観的に把握できており、
さらに上を目指す以上、自分が身を置いた場所に自分より上が必ず存在することを必須条件として生きている。
よって物腰はやわらかい。
0562774ワット発電中さん
垢版 |
2019/12/04(水) 21:41:13.27ID:luGrr//t
>>558
レスありがとう。リセット直後に全部が入力ポートの状態になることは知ってる。
欲しい機能は「出力ポートの状態から一瞬で入力ポートの状態になる命令(機能)」。

>PORTxポート(xはA〜D)を読み出せば8bit分一括で読み出せる
多分PORTAと言う1本(1ビット)の入力ポートから一括で8bit分と言う意味じゃないのか?
そうではなくて24本の出力(に設定状況)ポートが一瞬で入力ポートの状態になる命令が欲しい訳。
理由は、出力ポートが一瞬で入力ポートに変らないから不都合が生じると考えてる。
補足で書いたように、バッファとして74LS244等を入れれば一瞬で出力でも入力でもない
ポートにはできるけど、究極的に自分が期待する状態になるかは判らない。

詳しく書いてくれたので自分の欲しい機能と君が提示してくれた機能とは違うことは判った。
0563774ワット発電中さん
垢版 |
2019/12/04(水) 22:02:32.98ID:luGrr//t
図を書けば 74LS244 を挟むことによってファンアウト的な問題が無ければ数命令で済む。
「ATmega2560」←→ I/Oポート → 74LS244 → 8ビットパソコン

直前までの出力ポートを一瞬とまでは行かないけど出力でも入力でもないポートにできる。
Arduino 単独では 出力ポートの状態を変えるには入力ポートにするしかない訳でしょ。
0564774ワット発電中さん
垢版 |
2019/12/04(水) 22:14:53.51ID:EB8zVxEx
>>562
なにも理解してなくて草
ゼロレジスタ用意しときゃ1命令でポート内の全ビット入力に出来るじゃん
てか>>558の書いたことなんも理解してないよね?
自分が解ってない側なのに間違った想像したうえなんでそんな偉そうに出来るのか甚だ疑問
もう二度とレスもらえないと思うよ
0566774ワット発電中さん
垢版 |
2019/12/05(木) 02:44:06.02ID:YwZFmAi4
>>552
ATmega328 nano で能力が足りない場合、mega2560買わないでESP32買う人が多い
ESP32なら僅かな部品追加でVGA出力もできるしライブラリもある
昔の8ビットパソコンのエミュレータもあるよ
http://www.fabglib.org/index.html
0567774ワット発電中さん
垢版 |
2019/12/05(木) 04:47:43.88ID:jgeHHQtf
Pro Microだとポートこんなにバラバラに割り当てられてるのね

┌ B5 B4 E6 D7 C6 D4 D0 D1 xx xx D2 D3 ┐
│                                 │
│           32u4                   USB
│                                 │
└ B6 B2 B3 B1 F7 F6 F5 F4 xx xx xx xx ┘

ビットの取り出しや並べ替えをした上で複数のポートから一部分ずつ出力するにしても
なるべく余計な計算が少なくなるように配線も含めて工夫する必要があるのか…面倒だ
0568774ワット発電中さん
垢版 |
2019/12/05(木) 07:07:39.98ID:N4ShtPH5
Arduinoでこういう変換アダプタを作ってるところです
https://github.com/tmk/tmk_keyboard/tree/master/converter/adb_usb#wiring
プルアップ抵抗としてDATAとPD0の間からVCCまで1KΩの抵抗を繋げるみたいなんですが、PSWをPD1に繋ぐ場合は同じようにVCCまで1KΩの抵抗を繋ぐ必要あるんでしょうか?
0569774ワット発電中さん
垢版 |
2019/12/05(木) 09:59:06.52ID:XqOR94VJ
>>568
抵抗が無い場合、PSWがOFFの時にPD1の信号レベルが不安定になる
CMOSの入力はこういう状態は良くないのでプルアップ抵抗を入れる
Arduinoの内蔵プルアップ抵抗を有効にした場合は
外付けの抵抗は不要になる
0570774ワット発電中さん
垢版 |
2019/12/05(木) 10:33:56.32ID:zcYbeWSH
P0では長いケーブルとかでAVR内部のプルアップだけだと弱いから、外部プルアップ抵抗入れろと書いてある
PSWは調べてみるとStart upとかresetとかに使うようで、Dataピンよりシビアな要求はなさそうで、なくても行けると思うけど
プルアップしておいたほうが無難かと思う
0571774ワット発電中さん
垢版 |
2019/12/05(木) 11:04:52.24ID:bCe873g2
>>566
案内どうもです。面白そうな内容なのでブックマークしました。
ただ今の所は千円程度ならアドレスピン等でも16本は欲しいと考えてます。

昨年までは下のスレにいまして322が自分です。自分も千円がはした金とは思いませんけど
千円程で基板設計やソフトで楽できるなら安いと考えてるから余裕があるのかも知れません。
因みにリンクで画像を貼った「緑色の基板」も実装して1300円で個人的には、お手頃感です。
ただし秋月のFT245RL(千円、しかも送料500円が痛い)は除きます

【懐古趣味】ワンボードマイコン総合スレ 第三章
ttps://matsuri.5ch.net/test/read.cgi/i4004/1504237364/

322ナイコンさん2018/02/16(金) 21:44:28.65>>326
>>315
当時の技術書には拡張ハードの製作があって手を咥えて見てたけど、その手の拡張ハードの基板を
1000円&#12316;2000円の安価で提供し技術書をCD(DVD)等で同梱したERISシリーズを2万円なら納得する。
ここまでするなら横流しと揶揄されない。ただ未だ形になってないので現時点では妄想レベル。

326ナイコンさん2018/02/17(土) 08:20:54.91>>330
>>322
数が出ないものをそんなはした金で提供しろと?
そこまで言うなら自分で企画して開発委託でもしてみりゃいいんじゃないですかね
いくらかかるか
0572774ワット発電中さん
垢版 |
2019/12/05(木) 11:29:21.28ID:fNGipvRP
>>571
求めている物とちょっと離れるけど
Z-80のPIOや周辺をATMEGA32Aに任せて
SDカードやFLASHメモリなどの最近のデバイス使い放題にしてる
Z80-MBCが参考になるんじゃないかな
https://hackaday.io/project/159973-z80-mbc2-4ics-homemade-z80-computer

ESP32にCPUエミュレーションさせて
ATMEGA328あたりに周辺I/Oまかせて
8bit程度のパラレルバスで高速転送すれば
VRAMのDMA転送までまかせられるかも知れないね
0573774ワット発電中さん
垢版 |
2019/12/05(木) 13:24:36.91ID:wNeQQdsn
>>562
俺も詳しくないけど

AVRの場合、wレジスタIOレジスタの移動は1サイクルで実行できるので予めwレジスタにx00とxffを用意しておけば24本のIOを3サイクルでin/outの切り替え出来るって
>>558 の人が書いてる
0574774ワット発電中さん
垢版 |
2019/12/05(木) 18:45:43.82ID:N4ShtPH5
>>569
>>570
どうもありがとうございます
PD1はプルアップ無しで作ってみたんですがやり直します
0575774ワット発電中さん
垢版 |
2019/12/05(木) 19:20:43.21ID:N4ShtPH5
>>568
この続きです
S端子ケーブルを切断してみたら4本の線の他に被覆無しの寄り線も入っていました
コネクタ周りを分解してみると被覆無しの寄り線はコネクタの外側にはんだ付けされてました
この被覆無しのより線はArduinoのどこに繋いだらいいんでしょうか?
これもGNDですか?
0576774ワット発電中さん
垢版 |
2019/12/05(木) 19:39:53.73ID:XqOR94VJ
>>575
シールド線のことだね
それはノイズから信号に影響を受けない様にする
あるいは信号線からノイズを外に出さない様にする為だけど
非常に難しい問題が含まれているのでいるので説明しないけど
1. GNDに接続する
2.金属筐体に接続する
3.カットしてどこにも接続しない
の内のどれかです
ただ今回の場合はどれでもいい気がするけど
0577774ワット発電中さん
垢版 |
2019/12/05(木) 19:46:02.98ID:N4ShtPH5
>>576
どうもありがとうございます
ケーブルの中には色付きの被覆あり単線が4本、被覆無しより線が1本で、そしてそれらの周りにはすぐに千切れる薄いアルミ箔みたいなので覆われていたんですが、このアルミ箔はどこにも繋がないで捨ててしまって大丈夫ですか?
分解してみたコネクタだとアルミ箔は外してあるみたいでした
0578774ワット発電中さん
垢版 |
2019/12/05(木) 19:51:41.75ID:NQIp5i0/
繋げなくていいですよ、アルミ箔はまさしくノイズ対策
ノイズの影響を遮断するために、わざわざコードにアルミホイルを巻いたりするぐらい
0579774ワット発電中さん
垢版 |
2019/12/05(木) 20:26:41.70ID:N4ShtPH5
>>578
ありがとうございました
0580774ワット発電中さん
垢版 |
2019/12/06(金) 00:38:03.85ID:wUDqCI/2
>>572
案内どうもです。はるか昔、8bitPCで拡張カードを作りたかったことを今実践しています。

それで>>546のリンク画像の「黒い基板」でやりたかったことは8ビットPCで、CPUの切替でした。
リンク先の画像に写ってるFM-7と言う8ビットPCはメインCPU(MPU)が6809だけど動作しながら、
オプションのZ80とCPUが交代できる仕様です。今回はZ80の代わりに「Arduino」を使って切り替える
実験をしてます。

それで、「6809 → Arduino」はサンプルがあったので実現できてますけど、その状態から再度6809に
戻すことで躓いています。動作させながら CPU(MPU)の切替は面白い試みですがハードルも高い感じです。
理由は切替のフラグを74LS74で持ってるようですが、既定値を書いて「Arduino → 6809」に戻す際に
ソフトで処理してるので、Arduino と 6809 でバスが衝突してるのではと推測しています。ですので
ハードを追加しないと確実な動作は無理かなと思いながら衝突する時間が短ければ大きな不都合がなく、
制御が 6809 に戻る可能性もあるとも考えてまして Arduino の出力を一瞬で停止したかった訳です。

>>573
説明して頂いたことを指針として高速処理したい部分をインラインアセンブラにしてみましたした。
結果は質問の前よりは前進しました。因みに前進した内容は「BREAK + RESET」で先に「RESET」を
離し次に「BREAK」を離すと(ホットスタートと言うことがあります)6809に戻ることがあってメモリに
Arduino で書いた内容が残っていました。ただ書いた内容が正確に反映されてない問題や確実に戻ると
言う状態でもないので、その辺りはもう少し実験してみます。

長文失礼しました。
0581774ワット発電中さん
垢版 |
2019/12/06(金) 02:35:04.75ID:VordwJlp
>>580
やっと具体的な機種名出たか
FM77ならESP32に入らないけど、FM7ならVRAM含めて
520kbで収まりそう、メイン6809サブ6809拡張Z80も240MHzデュアルコアでスレッドまわせばいいだけ
あんまやる意味無さそうだなと思いつつ

16MHzのMEGA2560では能力不足だと思う
ttps://blog.goo.ne.jp/purupoo/e/f483d12a80cea5222e3dcd22d02ac22d
この人みたいにCPLDかFPGAでバスI/Fチップ作ったほうが早そう
0583774ワット発電中さん
垢版 |
2019/12/06(金) 03:02:08.40ID:+c4Ifsvr
全く理解出来ない趣だけど、実機でCPUエミュレーション?する事に意義があるんじゃないのか
0584774ワット発電中さん
垢版 |
2019/12/06(金) 04:31:41.05ID:Ckd/sKaK
対策はわからないけど、そういうものを何に使うのか、なぜそうなっちゃうのか興味がある。
0586774ワット発電中さん
垢版 |
2019/12/06(金) 04:47:42.87ID:VordwJlp
>>584
歳取って時間を持て余すようになるとな
当時出来なかった事を死ぬ前にやっておきたいと思うようになるんだよ
悔いが残らぬよう
0587774ワット発電中さん
垢版 |
2019/12/06(金) 04:52:06.96ID:VordwJlp
そういえばFPGAにZ80コアあったからそれ使えばワンチップで出来ちまいそうだな
0589580
垢版 |
2019/12/06(金) 14:50:10.22ID:wUDqCI/2
結果報告をします。アドバイスを提示してくれた方へ、ありがとうございました。
下のようにインラインアセンブラのコードを入れましたけどソフトでは無理のようです。

asm("DDRG = B00000000"); // data D40 EB port inputmode
asm("DDRF = B00000000"); // address(0-7) port inputmode
asm("DDRK = B00000000"); // address(8-15) port inputmode
asm("DDRL = B00000000"); // data D43 RWB=WRITE port inputmode
asm("DDRC = B00000000"); // data(30-37) port inputmode

>>581
>やっと具体的な機種名出たか
画像から判る方はいると思いましたし黒い基板の製作者に迷惑が及ぶのではと考え当初は
積極的な明示は控えました。とは言え回答する方も「結局、何がしたいのか?」と訝しむ的なことは
当然と思います。基板の製作者に迷惑が及ぶことを避けたかったことが真意ですので御了承下さい。

因みにリンク先の方は知ってました。現在彼が趣味で取りくんでる内容は40ピンのインターフェースを
通じてMMUを用いて 6809 で1Mバイトのアドレス空間にアクセスする(ほぼFM-77仕様)ことです。
FM-7の40ピン使う着想は似てるかも知れませんが今回の基板は自分のオリジナルではありません。

>>586
正にその通りです。
0590774ワット発電中さん
垢版 |
2019/12/06(金) 14:50:53.73ID:gR7wkrSC
実機に新たに作った拡張ボードや周辺機器を付けたいってのはいっぱいあるし
逆に周辺側のものや古い部品で新たに作ったものを
実機じゃなく今新たに制御したいってこともよくある
0591774ワット発電中さん
垢版 |
2019/12/06(金) 15:53:39.15ID:VordwJlp
>>589
同期はどうなってんの?
6809は2MHz、MEGA2560は16MHzなんだから
7命令以内で完了すれば間に合いそうだけどな
0592774ワット発電中さん
垢版 |
2019/12/06(金) 17:01:17.52ID:XI1exu/5
Arduinoで日本語を扱いたい場合どうしたら良いんだ
UCS/UTF16なら全対応のSJISテーブルでどうにかなるけどUTF-8とか
どうしたら良いのかさっぱり
0593774ワット発電中さん
垢版 |
2019/12/06(金) 17:12:21.54ID:v04fyUdT
>>589
インラインアセンブラをなんだと思ってンの?
何もかも違うしそのコードコンパイルしたアセンブリコード見た?
何もしてないでしょそれ
0594774ワット発電中さん
垢版 |
2019/12/06(金) 17:30:17.91ID:ycymqQNh
ATmega2560でDDRC,F,G,K,Lを0b00000000するインラインアセンブラならこう

__asm__ __volatile__(
"eor r16, r16" "\t\n"
"out 0x07, r16" "\t\n"
"out 0x10, r16" "\t\n"
"out 0x13, r16" "\t\n"
"sts 0x107, r16" "\t\n"
"sts 0x10B, r16" "\t\n"
);

もちろんこのままじゃr16は破壊されるからそこは自分でなんとかしろ
その関数内でゼロレジスタとして決め打ちしておくとかpush,popで待避するなり
0596774ワット発電中さん
垢版 |
2019/12/06(金) 18:45:27.76ID:2WINBoS0
Pro MicroにLチカのスケッチを書き込んだらその後シリアルポートから消えてしまい書き換えが出来なくなってしまいました。
どうやったら再書き込み出来るんですか?
0597774ワット発電中さん
垢版 |
2019/12/06(金) 18:55:15.63ID:9sDeXhF9
その手のは書き込みが始まった時にリセットボタンを押せばなんとかなったりするんじゃなかったっけ
0599774ワット発電中さん
垢版 |
2019/12/06(金) 19:03:27.36ID:wUDqCI/2
>>591
下のCPUの状態(遷移)は74LS74が保持してることを前提として

1)6809 の停止は「POKE &HFD05、1」と言う命令で FM-7 自体が停止状況を作り出す(LED点灯)
その後 6809 が停止した状態では MEGA2560 が FM-7 のバスを支配下に置きメモリ等に読み書き可能

2)6809 が停止した状態から同じアドレスに MEGA2560 が「0」を書き込んで 6809 の停止状態を解除する(LED消灯)
3)しかし「0」を書き込んで 6809 が動きだした時点で MEGA2560 は未だアドレスバス等でOUTPUTの状態を維持し
信号を出しているので バス が衝突してることは確かなのではと考えてる。つまり MEGA2560 が 6809 の停止解除後の
7命令以内であれば 6809 が停止を続けてると言う訳ではなく、解除したと同時に動作は始めてる。

自分としては、その状況が有っても、運良く大きな支障(影響)もなく 6809 に制御が戻る可能性に期待したけど
確かめてみると、そうは問屋下ろさなかったと言う結論になりました。

なおロジックアナライザがあれば更に詳しくは判ると思うけど、その類の機材はないので。

>>594
MEGA2560 が FM-7の「&HFD05」に「0」を書き込んだ後は物理的に MEGA2560 が壊れれない限り
レジスタ の内容の破壊は許容範囲。とは言え asm("DDRG = B00000000"); ではダメなのかな?
一応、自分なりに調べて「DDRD = B11111110;」を真似して asm(" "); で括ったけど。
http://www.musashinodenpa.com/arduino/ref/index.php?f=0&;pos=850
0600774ワット発電中さん
垢版 |
2019/12/06(金) 19:21:01.57ID:ycymqQNh
>>599
asmで囲むことにどういう意味があるかわかってんの?
なんかやりたいことに対してあまりにも知識が無さすぎると言うか
バカにしてるとしか思えん
俺は抜けます
>>595が正解だな
0603774ワット発電中さん
垢版 |
2019/12/06(金) 19:42:58.24ID:zPo1MQIV
>>601
中華コピーだとオマケのUSBケーブルがくそだったりするから
ケーブル変えるのも1つかな。あとはIDE再起動。
0604774ワット発電中さん
垢版 |
2019/12/06(金) 19:46:00.69ID:2WINBoS0
>>602
>>603
Hiletgoの中華コピーです。ケーブルは付いてきて無いです。
GNDとRSTにタクトボタン取り付けてみました。
ボタンを押すと一瞬だけシリアルポートが見えるみたいでした。
これが通常の動作ですか?
0605774ワット発電中さん
垢版 |
2019/12/06(金) 19:47:40.83ID:2WINBoS0
PC再起動も試しました。

一番最初にPro MicroをMacに繋いだ時、キーボードがなんとかってダイアログが出てきてそれを閉じたんですが関係ありますか?
それ以降そのダイアログは出てきてないです。
0606774ワット発電中さん
垢版 |
2019/12/06(金) 19:54:18.36ID:W5K0z++m
6502といい6809といい、なんでZ80ボード載せたがるんだろうなw
0607774ワット発電中さん
垢版 |
2019/12/06(金) 19:54:22.90ID:XI1exu/5
テーブルや変換に莫大な容量使う位なら、テキストをSJISのHEXでchar型に入れた方が手軽なのかな
0609774ワット発電中さん
垢版 |
2019/12/06(金) 20:02:52.98ID:2WINBoS0
>>608
いくつかケーブルあるけど他のボードだと大丈夫でした
(sparkfunやadafruitなど)
0610774ワット発電中さん
垢版 |
2019/12/06(金) 20:16:26.00ID:zPo1MQIV
>>609
中華&Macか、CH340のドライバかも。
以前MacOSごと落とすひどいドライバに当たったことある。
0612774ワット発電中さん
垢版 |
2019/12/06(金) 20:41:59.26ID:9sDeXhF9
>>609
リセットの手順ちょっと違った
pro miniの場合だけどこんな感じ
参考にしたページのアドレス貼れないからコピペ

Arduino Pro Mini側のリセットボタンを押しながら、
Arduino IDEのアップロードを実行し、
FTDI-USB変換ボードのTXが光った瞬間に、
Arduino Pro Mini側のリセットボタンを離す。
0613山本太郎はおまんこ消費税
垢版 |
2019/12/06(金) 20:46:45.86ID:BZm74fqN
 山本太郎はオマンコ



 山本太郎はオマンコ
0615774ワット発電中さん
垢版 |
2019/12/06(金) 20:58:14.31ID:U2c0cHZQ
>ボタンを押すと一瞬だけシリアルポートが見えるみたいでした。
って書いてるから、んなわけないでしょ
0616774ワット発電中さん
垢版 |
2019/12/06(金) 21:01:01.01ID:hO0EnCGR
書き込めなくなったときのリセット2回押しとかのタイミングって
何回かやってるとコツが分かってくるんだけど
問題起きたときしかやらないから記憶に残ってないし口では説明しにくいな

2回押ししてから素早くポート選び直して転送開始し
LEDが通常の転送成功時と同じパターンで点滅した直後か点滅してる途中ぐらいで再度2回押し
とかだったかな
0617774ワット発電中さん
垢版 |
2019/12/06(金) 21:12:56.69ID:VordwJlp
>>599
マップドIOだと思うので
アドレスバス使わないとレジスタ&HFD05に書き込めない
6809のクロック立ち上がりか立下りを待って
同期取らないと7命令確保できないよ
0618774ワット発電中さん
垢版 |
2019/12/06(金) 21:15:11.25ID:2WINBoS0
>>610
Pro MicroなのでCHxxxなどの話は今回は関係ないです

>>612
リセットボタンを押して一呼吸くらいしてから(そしたら一瞬現れる)からシリアルポートを選択
書き込みボタンを押してからふた呼吸くらいしてからリセットボタンを押したら書き込めました

>>614
ls /dev/tty.*で確認してます

>>616
ぐぐると、2回押すとDFUモードに入るかとかなんとかって書き込みがあったんですが、その状態になるとどうなるか分からないので難しいですねこれ
0619774ワット発電中さん
垢版 |
2019/12/06(金) 21:29:01.22ID:n8rugkKJ
>>618
もう一度、確認してみな。
今、LeonardoでLチカをやってみたが、
com5で書きこみしてcom13に変わったぞ。
0620774ワット発電中さん
垢版 |
2019/12/06(金) 22:04:08.43ID:2WINBoS0
>>619
すみません、Windowsの話は分かりませんが、自分は特定のポートを決め打ちして書き込もうとしてる訳じゃなくて、そもそもポートが見えないって話です。
で、リセットボタンを押すと一瞬だけ表示されるからその時IDEで選択して書き込みボタンを押す、そしてまたリセットボタンを押すと書き込みが出来るという所まで分かったというのが618です。Macではポート番号は変わってないです。(結果的に決め打ちしてますけど)
中華はともかくとして、SparkFunのPro Miniでも毎回この手順を踏まなきゃ行けないんでしょうか?
0623774ワット発電中さん
垢版 |
2019/12/06(金) 22:21:19.77ID:n8rugkKJ
書き込めたのね。よかったよかった。
Leonardoを引っ張り出して思いだしたw
HIDを使ったあとはcomポートがすぐにHIDに切り替わっちゃって、
パソコン側でcomポートがつかめなくなっちゃうんだった。
オレも経験したわw

>>620
むかし、オレもこのケースはすごく悩んだ気がするが、
LeonardoはArduinoIDEが"書き込んでます"の表示になったら
リセットボタンを押すとアップロードできたと思う。
HIDを使わなければこの症状はならない。
0625774ワット発電中さん
垢版 |
2019/12/06(金) 23:15:17.33ID:wUDqCI/2
最終的にピンモードの高速変換を下のようにして(インラインアセンブラなのか?)
1)MEGA2560 使った FM-7 のメモリに書き込みは成功(これは前から成功例あり)
DDRG = DDRG | B00000000; // data D40 EB port inputmode
DDRF = DDRF | B00000000; // address(0-7) port inputmode
DDRK = DDRK | B00000000; // address(8-15) port inputmode
DDRL = DDRL | B00000000; // data D43 RWB=WRITE port inputmode
DDRC = DDRC | B00000000; // data(30-37) port inputmode

2)この後ホットスタートで 6809 に制御が戻り、モニタコマンドでメモリの変更を10回程確認

3)しかし FM-7 のメモリに書いた(テスト)プログラムの起動は BASIC の EXEC コマンドでも
モニタの G コマンド でも失敗。最終的に↑がしたかった。ソフト的な面では、この辺りが限界かなと。

お騒がせしました。

>>600
何せ「Arduino(IDE)」を使い初めて8日目なので判らないことが多いです。
0626774ワット発電中さん
垢版 |
2019/12/06(金) 23:27:20.21ID:n8rugkKJ
>>624
HIDはヒューマンインターフェースデバイスだったかな。
つまり、"Keyboard.h"や"Mouse.h"をインクルードしない。という意味なんだけど...
0627774ワット発電中さん
垢版 |
2019/12/06(金) 23:30:38.67ID:2WINBoS0
>>626
どうもありがとう
サンプルスケッチのLチカを呼び出しただけだからそれらはインクルードしてないはずなのに…なんででしょう?
0628774ワット発電中さん
垢版 |
2019/12/07(土) 00:24:26.37ID:71Es0NC8
>>626ではないが
原因はわからないけど、そういう報告が結構あるから>>612みたいな対処法を書いてくれてる人がいるんだと思う
ちなみにおれもPro MiniでLチカやっただけなのに2度め書き込めなくなった経験がある
0629774ワット発電中さん
垢版 |
2019/12/07(土) 01:13:48.22ID:mchNAhUj
>>627
うちの場合は、Leonardoだけど、下記の三つがある。
Arduino Leonardo bootloader (com4) リセットした時に一瞬でるやつ。
Arduino Leonardo (com5) "Keyboard.h"をインクルードするとcom5になる。
Arduino Leonardo (com13) "Keyboard.h"をインクルードしないとcom13になる。
Windowsだから参考にならないかもだけどw
あ、原因はオラにもわからんです。すまん。
0630774ワット発電中さん
垢版 |
2019/12/07(土) 04:15:49.39ID:dTyN+poR
SSD1306の描画ライブラリ書いてて思ったけどVerticalモードでアクセスした方が良いのかな
P/Hは縦8ドットのフォント描く場合に限って楽だけど、それ以外はVの方がビット配列的に自然?
0631774ワット発電中さん
垢版 |
2019/12/07(土) 23:36:58.54ID:g0tpG0n6
>>628
>>629
どうもありがとうございます
昨日の >>596 です
今日は別の店のPro Microが届きました
昨日のボードとは違ってMacに繋いでもキーボードがなんとかのウィザードは出てこないし、MacのシステムプロファイラやArduino IDEではArduino Microとして認識していました
ボードからArduino Microを選んでサンプルのLチカを書き込んでも昨日のようにシリアルポートから消える事もありませんでした。
これなら普通のArduinoとして使えそうです
0633774ワット発電中さん
垢版 |
2019/12/08(日) 08:58:49.32ID:25hHIVlk
>>632
賛成
Arduino側が扱う回路によっては、USB経由で最悪パソコンを壊す可能性あるし、中古で充分だから、万一壊しても損害の少ないWindowsマシンを1台持っとくといいと思う
0634774ワット発電中さん
垢版 |
2019/12/08(日) 11:16:57.87ID:MfkHkBfZ
>>585
音源に付いて同様な思いがありますけど例えば Arduino を使って脈はありそうですか?
0635774ワット発電中さん
垢版 |
2019/12/08(日) 16:50:55.13ID:/AL3arYA
PSGなら実際にやってみたしFM音源もやればできると思う(やってる人は沢山いる)
今やってるのはAVR16MHzのdigitalWriteだと辛い感じだけど
0636774ワット発電中さん
垢版 |
2019/12/08(日) 17:35:19.76ID:MNB8z7tQ
日高総帥のマシン語サウンドプログラミング読めば
FM音源チップでまともに演奏するには気が遠くなるぞ
0637774ワット発電中さん
垢版 |
2019/12/08(日) 18:15:36.81ID:J7oa2A50
>>635
>>636
レスありがとうございます。

先ずはPSG音源から始めてFM音源については、その後に考えてみます。
0638774ワット発電中さん
垢版 |
2019/12/08(日) 21:12:01.82ID:EG4SHnxM
Arduino Nano 33のMicro USB端子はもげやすいタイプなんだな
高いのになんだかなー
0639774ワット発電中さん
垢版 |
2019/12/10(火) 06:55:39.69ID:Z8myB5QI
先日始めたばかりの者で、プログラミング関連は全く入門以前の知識ではありますが質問失礼いたします。

前置きとして・・・電子タバコの電源機器(電気回路としての分類上は電熱回路)を作りたいと思い、ひとまず現在システム試作としてUNO REV3と
OKL-T6-W12N-C搭載秋月オリジナルモジュールを組み合わせて、以下に提示する接続回路およびプログラムでコンバータモジュールの出力を
任意で調整できるところまではやってみました。
・ブロック図(Trim-GND間の部分をトランジスタ換装でデジポテ的に電流制御しました)
https://dm-vaporizer-produce.webnode.jp/_files/200000058-a6865a6866/KIMG0301.JPG
・プログラム
https://dm-vaporizer-produce.webnode.jp/_files/200000059-ea2a6ea2a8/Arduino_vv_curve_prototype1.JPG
・テスト時の実際の様子
https://www.youtube.com/watch?v=Cv0PycJ8j20

ここで次の段階として、コンバータ出力段に接続した発熱体コイルの抵抗値を常時読み取り、演算を介して電力指定でArduinoボードが出力電圧を
自動的に調整するようなプログラムおよび回路を組むには一体どんな方法がありますでしょうか?
例えば発熱体コイルの抵抗値が1Ωだとして、9Wの出力電力を指定して3Vの出力電圧に自動で調整するといった感じです。
0641774ワット発電中さん
垢版 |
2019/12/10(火) 08:00:49.86ID:nqtLvSn4
>>639
> 発熱体コイルの抵抗値を常時読み取り
考え方として
発熱体に与えた電力は全て熱に変わると仮定して
供給電力制御のみ行ったほうがシンプル

DCDCの発生する電圧は発熱体の許容80%程度にTrim設定しこれをいじらない
上記を100%性能とし、DCDCのON/OFF端子をスイッチングしPWM制御する
データシートを見るとDCDCのON応答は6ms遅延があるので数Hzで
次のステップは温度センサーで制御になるけど
最初の10秒はフルパワー、以降50%、3分後に自動OFFとかでいいんじゃね
0642774ワット発電中さん
垢版 |
2019/12/10(火) 09:02:46.25ID:z3XCtO2e
1Ωは計測できるでしょうけど、サブオームを計測するのは、無謀なのでは?
温度管理するには、Ni、Ti、SS、どのコイルもサブオーム帯での運用ですよね。
普通に FT なりで MOD 買った方が早い。どっちにしろ温度管理も、制御カーブも
使わんようになる。

コイルの抵抗値を計測するために、引っ張りだした配線の抵抗値だけでも。。。
それにコイルに流す電流が 20W〜75W でしょ?
0643774ワット発電中さん
垢版 |
2019/12/10(火) 10:28:40.99ID:q4XsEPNV
温度はどうでもよくて単に指定のWだけ発熱させりゃいいんだろ?
V=√(WΩ)で済むじゃねーか
0644774ワット発電中さん
垢版 |
2019/12/10(火) 12:12:05.25ID:LxSdNSAj
>>639
初心者にわかりやすい手段としてarduinoのADコンバータを使った手法

回路を以下の通りに変更する
・発熱部のGRD側と出力コンデンサの間に0.1Ω程度の抵抗を挟む(入れる)抵抗値は流す電流によって選択する
・arduinoからVoutの電圧を取得出来る様にする
・arduinoから発熱部のGRD側と上記で追加した抵抗の発熱部側の電圧を取得出来る様にする

測定
DCDCが作動してる状態で抵抗側の電圧測定する(例2.5Aで0.25Vの電圧発生)
DCDCの出力電圧を測定

あとは計算すれば発熱部の抵抗値が求められる

例 3v / 2.5a -0.1Ω = 抵抗値
0645774ワット発電中さん
垢版 |
2019/12/10(火) 19:15:12.34ID:z3XCtO2e
発熱回路を作りたいんでしょ?

電子タバコの抵抗値は少数2桁の精度だよ。
0.10Ωから1.80Ωの間で、赤熱するコイルを計測するんだが、
18650バッテリーを極端に言うとショートさせてる状態。
常時 5V 30A とか流れ、吸いはじめのピークは 60A にもなる。
USBの 5V とは、レベルが違う。

だからバッテリーの許容範囲を超えて、低抵抗にして
爆発事故が頻繁に起こる。低抵抗の方が発熱量が多くて
いわゆる若者が好きな爆煙になる。

素直に MOD を買うか、DNA基盤を買ってケース自作程度にしとけ。
0646774ワット発電中さん
垢版 |
2019/12/11(水) 17:52:36.28ID:B262GCrt
直接arduinoの質問では無いんですが、よくあるピンアサイン図の様な物はどう言ったソフトで作るのが楽なんでしょうか
おそらく一番楽なのはエクセルだとは思うんですが、フリーソフトで何か無いですかね
0647774ワット発電中さん
垢版 |
2019/12/11(水) 18:02:30.27ID:/o5u8vXm
KiCAD
0649774ワット発電中さん
垢版 |
2019/12/11(水) 19:32:12.09ID:bWn8dZ41
>>640
ご提案有難う御座います。
要するにリバースエンジニアリングするということでしょうか?

>>641
ご教示・ご提案有難う御座います。
すみませんが“発熱体の許容80%程度”という部分につきまして、具体的に何の許容値のことかお教えいただけると光栄です。
この許容値とは熱容量のことになりますでしょうか?
また、リモート端子の数HzON/OFF制御に関してですが、digitalWriteのHIGH・LOWを使いHIGH側のdelay値を101以上にするということでしょうか?
ちなみにですが次のステップとなる温度センサーは、測温抵抗体式として発熱体自体が検温部になることを考えています。

>>642
ご指摘有難う御座います。
まず抵抗値に関してはミリオーム単位の世界で細心の注意を払わなければならないのは重々承知しています。
つきましては各種接合に関しても従来とは違った設計を考えています。

例えばコネクタ部と基板部の接合は、リード線ではなく例えば以下に紹介するLUXOTIC MF BOXのようなターミナルとネジ止めで考えています。
https://dm-vaporizer-produce.webnode.jp/_files/200000060-d9ea2d9ea4/KIMG0303.JPG
この他にもアトマとMODの接合において、ポジティブピン端面接触ではなくネジ接合を考えています。
また、ネジ切り違いによる問題は例えばアトマベース取り付け後に別途ポジティブ側アセンブリを組み込む構造で解消しようと考えています。

あと余談ではありますが・・・一応既製品は既にいくつも所有しており、電子タバコの愛好暦は現在5年半ぐらいとなりTC使いはKOOPORmini
(KP60)使いを機に4年ぐらいになりますが、個人的にはTC機能はおそらくこのままずっと使い続けていくと思います。

特に今はArcticFoxがあり、更に嗜好性・応用性が高められる物があるのでこれはもう手放せません。
それこそパフカットタイム60秒設定やオートスイッチ機能は、電子タバコとしてだけではなく、例えばCigalliaのCIG2.0のアトマを流用して
加熱式タバコおよびハーバルヴェポライザーとしての運用も難なく可能になります。

また、この電熱技術は例えばNovelLife TS80のようなTCハンダゴテとか製作する上で応用が利くと考えています。
ArcticFox使いを機にウェアシステムおよびプログラミングに魅了され、これからはそういった工作も趣味にしていく所存です。

>>643
ご教示有難う御座います。
最終的には温度制御も目標にしています。
一応段階的にシステム開発を考えていましたので、次点としては電子タバコ用語で言うところのVW機能の構築を考えていました。

先に説明した私のプログラムでは、まだVV機能と言われるものでしかなく演算による制御が含まれておらず、温度制御システム構築以前の
問題なので段階的には演算を組み込んだプログラムの作り方を覚えるためにまずVW機能を選択しました。

つきましてはご教示いただいた演算を組み込むための文法等はどんなものがあるのかをお教えいただけると光栄です。
恐縮ですが現段階では各文法等の意味や使い方すらまだろくに知らない状態にあります。
0650774ワット発電中さん
垢版 |
2019/12/11(水) 19:32:31.93ID:bWn8dZ41
>>644
ご教示・ご提案有難う御座います。
つきましてはプログラミングにおいては一体どういった文法等を選択すれば良いのでしょうか?
恐縮ですが現段階では各文法等の意味や使い方すらまだろくに知らない状態にあります。
また、シャント抵抗に関してですが、ご提案はVoutに対し並列に組むということでしょうか?

>>645
ご指摘有難う御座います。
まず危険性については重々承知しています。
そして試作において電池の消費電流に関しては、ラジコン用ワットメーターを活用し監視する所存です。
※先に提示した動画をご覧いただければそのワットメーターによる監視状態が判るかと思います

ちなみにですが最終的な想定としては、コンバータモジュールをもっと高スペックにして50W運用あたりを最大として考えています。
そして電源構成は採用コンバータモジュールの仕様のこともあり、3セル直列構成あたりで終止電圧をセル当たり3.0Vで想定していますので
安全マージンを考慮して効率70%と低く見積もって入力段消費電流は最大10A未満で考えています。
また、採用セルはラジコン用とかの高出力対応小型リポかリフェを考えています。
0654774ワット発電中さん
垢版 |
2019/12/11(水) 20:33:58.51ID:bWn8dZ41
>>945
あと余談ですが・・・DNAは200以降はチョークコイル二個使いによる昇降圧独立制御コンバータなので魅力的ですが、
肝心のウェアシステムであるEScribeが機能的に狐より劣るのでイマイチ食指が動かずにいます・・・。
特にハーバル使い含めいろんな使い方・ビルドする私にとって、オートスイッチ機能やPI値変更機能が無いDNAはデメリットが大きいです。
0658644
垢版 |
2019/12/12(木) 10:02:21.73ID:yK3l3Pla
>>650
一応簡単な回路図面
https://imgur.com/iMphtIr

適当にスケッチ書いてみたけど、以下言い訳
・Arduinoのスケッチを描いたのはこれを入れて3回目のみ
・検証はしていないのでこのまま動かない可能性の方が高い
https://imgur.com/tmtPDpW

これも、650さんが動かしてるのもそうですが、DCDCが正しく機能してない・・・
正直MOSFETに置き換えても同じ結果が得られるはず

電子タバコは吸わないので詳しくないけど発熱の回路を作るなら 
バッテリー>LCローパスフィルター>発熱体>シャント抵抗>N-FET>
バッテリー>LCローパスフィルター>P-FET>発熱体>シャント抵抗>
で構成してFETをPWM制御した方がシンプルじゃないかな
0659774ワット発電中さん
垢版 |
2019/12/12(木) 10:44:21.00ID:Hxkl2EPV
>>656
その程度なら、cassavaという表計算が超軽くていい
メモ代わりに使えるくらい軽い
0660650
垢版 |
2019/12/13(金) 01:36:35.91ID:JTyAV2cM
>>658
ご教示・ご提案誠に有難う御座います。
まずご教示いただいた内容をきちんと理解して、これから実践して覚えていくと共に精進する所存です。

つきましては恐縮ですがご教示いただいたプログラムにおいて、大まかな概要を人間語および日本語的に箇条説明していただくことは可能でしょうか?
なにぶんまだ機械語(および英語)に慣れておらず、更に自身がアスペルガーなこともあり各文法の意味等の理解に苦しんでる状況にあります・・・。
一応人間語的な話で取っ掛かり的な部分が掴めれば理解可能なんですがそれがまだ出来ていない状態です。

ちなみにですが教本は今のところ“ゼロからよくわかるArduinoで電子工作入門ガイド”と“みんなのArduino入門”の二つは買ってみたのですが、先に
説明しましたアスペルガーなこともあり中々行間が読めず教本内容の理解に苦しんでいる状況にあります・・・。
お手数かと存じますがもし可能であればプログラムにおいて箇条説明を宜しくお願い致します。

また、後学のためにDCDCが正しく機能してないという部分において、どういった部分の問題要素なのかご教示いただけると光栄に存じます。
つきましてはシステム全体の回路において、チョッパを介さない方が良いのはどういった要素があってのことなのかご教示いただけると光栄に存じます。
一応電子タバコ用途としての大まかな概要を説明しますと、発熱体は常に単一の物では無く使用者が随時いろいろ仕様を変えて組み込む感じになります。
0661774ワット発電中さん
垢版 |
2019/12/13(金) 01:54:38.07ID:JTyAV2cM
すみません補足です。
チョッパの意味はチョークコイル等のインダクタによるコンバータの意味で言いました。
0662774ワット発電中さん
垢版 |
2019/12/13(金) 03:44:04.67ID:JTyAV2cM
>>658
補足としてもう少し電子タバコ用途としての概要を説明しますと、発熱体は測温抵抗体となり主にニッケルコイル等を採用します。
そのニッケルコイル等の抵抗値変動を読み取り、その変動値を温度に換算して演算により指定温度=指定抵抗値になるように
出力電圧および電力を制御するシステムです。
また、多種多様な発熱体を換装して、その都度演算のための基準値を任意の値に変更することが可能なシステムです。
0663774ワット発電中さん
垢版 |
2019/12/13(金) 04:06:50.78ID:/PISHJ6d
Niコイルってことは、大まかに言うと、常温時に 0.1Ω、発熱時に 0.8Ω
ぐらいだよね?
その抵抗値を計測する、リード線の抵抗値は?

生セルのメーカーにもよるけど、0.1Ωを少しでも切ると。。。
https://youtu.be/PLBOqRg79bg?t=1m19s
0664774ワット発電中さん
垢版 |
2019/12/13(金) 04:43:50.69ID:JTyAV2cM
>>663
ご指導有難う御座います。
まず基準となる冷間抵抗値が0.1Ω仕様なら、電子タバコとして実用的運用温度帯の理論値は以下のようになります。
https://dm-vaporizer-produce.webnode.jp/_files/200000061-6c7256c727/ni_tcr.JPG
※基本的には200℃前後の運用温度になるので0.2Ωあたりとなります

また、抵抗値測定方法として4端子法のシステムが組めないか考えています。
これであれば問題無いのでは?と考えています。
TCMODの既製品は例えばDNAや狐仕様ですと、リアルタイムレジスタンスで1mΩ単位の分解能で測定していたり、
基板内部抵抗を測定していることからおそらく基板上で4端子法の回路を組んでいるのでは?と解釈しています。

あと破裂事故についてですが、第一にインダクタ式コンバータによる出力制御を想定していますので、出力段の負荷の
抵抗値において直接的影響は低減可能であると存じています。
0665774ワット発電中さん
垢版 |
2019/12/13(金) 05:03:01.46ID:JTyAV2cM
>>663
補足としまして・・・>>649で触れましたが、各種接続にリード線は一切使わず全てブロック的な物体で接合して
更にネジ止め可能な箇所は全てネジ締め付けにより接触抵抗の影響も低減する考えではあります。
0666666
垢版 |
2019/12/13(金) 06:35:15.81ID:txx/ibtz
666
0667644
垢版 |
2019/12/13(金) 12:26:24.27ID:Z6MsnzC0
>>650
コメントつけたよ
https://imgur.com/wfGCfup

まあ、本読んでも理解するのに時間はかかると思うよ
マイコンの場合、電子工作の知識・プログラムの知識の両方が必要だからね(どちらか一方でも詳しければいいけど・・・)
Arduinoあたりだとよく理解しないでやってる人も多いんじゃないかな?
私はArduinoに関してはリファレンスマニュアルに目を通した位しか知識ないです

DCDCの間違いに関しては以下のことが考えられます
・ArduinoのanalogWriteはアナログの電圧を出力してる訳ではない、490Hzか980Hz周期の矩形波を出力する(指定した数値に合わせた幅でHIGH・LOWが変わるだけ)
・Trim端子は電圧を調整るするために使うが、現状だと低い電圧と高い電圧を上記記載の周期で変化させてるに過ぎない
・負荷が小さいときに出力電圧を測定すると一見うまく動作してるように見えるが、負荷を大きくし、出力の波形をオシロスコープ等で観測すると矩形波に近い出力になると思われる
・つまり現状の回路だとDCDCは正しく機能してるとは言えず、もはやスイッチ程度の動きしかしていない

>>チョッパを介さない方が良い
これに関しては良いとか悪いとか優れてるとか優れてないの話ではなく(そもそも良いとは言ったわけでなくシンプルと表現した)
目的を達成するために少ない部品(単純な)で構成できたほうが、回路全体に対して理解がしやすいのでは?との考えです。
昇圧なしで単純に発熱コイルの出力制御だけならFETのスイッチングでも良いと思う

あと発熱部の抵抗が0.1〜0.2Ωの電流測定なら、シャント抵抗での損失を減らすために、
より低い抵抗値のシャント抵抗(もはや抵抗じゃなくて単芯の銅線を使ってもいい気がする)を使い
低い電圧をはかるための差動増幅回路が必要かもね
0669774ワット発電中さん
垢版 |
2019/12/13(金) 19:32:48.01ID:JTyAV2cM
>>667
ご教示そしてコメントの件誠に有難う御座います。
まずご提案いただいた文法内容の意味と使い方をしっかり理解して、実践を通じ更に自身のやりたいことと合わせて精進する所存です。

それから問題点の意味は解りました。
言ってしまえば矩形波の如くまさに四角い車輪の再発明をしていたことになるんですね・・・苦笑
同時に>>641さんのご提案の意味も解った気がします。

確かに自分としても発熱体運用テストのとき、出力電圧が降下するのではなく逆に無負荷時より上昇する点は気になってました。
※動画では無負荷時の最大電圧を撮ってませんが開放電圧を測ったら5.65Vぐらいになります
一応自分なりに解釈してみたんですが、この現象はTHDの上昇により歪みまくった波形になってしまってるということになるんでしょうか?
可能ならオシロテストはやりたいんですが、高価故にまだ買えてないことが本当悔やまれます・・・。

そしてこれは一つの教訓としまして、まず回路構成の簡素化を実施する所存です。
また、これはこれでちょっと面白みがあるので、別途如何にアナログに近づけられるかは探求しようと思います。
つきましてはデジポテについてなんですが、デジポテも結局は同様な意味合いにはなってしまうのでしょうか?

あとシャント抵抗の件は解りました。
一応出力段の運用電流が10A以上とかも想定していまして、マルツ経由でデジキーに扱いがある数mΩとかを探していく所存です。
また、差動増幅回路のご提案も誠に有難う御座います。
自分としてはシャント抵抗を低くしたはいいが、その弱電圧をどう扱い処理すれば良いのかが判りませんでした。

ちなみにですが代用の件で銅線以外に、例えば相応に太いカンタルワイヤーとかでも代用は問題ないでしょうか?
カンタルであれば抵抗温度係数も抑えられるので最適なのでは?と考えた次第です。
一応現在所有の最大は20ゲージです。
また、抵抗値を決める際はどの測定器がお勧めかご教示いただけると光栄に存じます。
0670774ワット発電中さん
垢版 |
2019/12/13(金) 20:47:40.91ID:fXwMlg5v
Intelの2MbitフラッシュROM、28F200のワード幅モード(BYTEピン=HIGH)って、通常のバイト幅モードだと
0x00000〜0x40000のアドレスで262144バイトにアクセスするところを
0x00000〜0x20000のアドレスで131072ワード=262144バイトにアクセスすることになるの?
バイト幅モードだと16bitデータバスの使わない上位8bitのうち1本を追加のアドレスバスとして使うようなことが書かれてるから
アドレス空間が2^17=131072になったり2^18=262144になったりするということで、多分そうなんだろうけど
0671667
垢版 |
2019/12/14(土) 12:39:50.12ID:19rMlE2m
>>669
DCDCの出力電圧について
ちょっとDCDCの仕様書を見てきました
回路から計算すると、トランジスタがONでDCDCの出力目標が約5.51V(Vce0.09Vの場合)に設定される
トランジスタのベースに電流が流れない状態だとDCDCの出力目標0.591Vに設定される
負荷が存在し、DUTY比50%の状態だとテスターではこれの中間程度の電圧が表示されるはず
DCDCは出力コンデンサにたまった電気を放電すること出来ないので、約5.51V付近の電圧でとどまる
測った数値が5.65Vとのことなので、ほぼ一致すると思います

テスターで見えない恐ろしさについて
0.591Vと5.51VをDuty比50%での状況、テスターでは中間の3.05Vほどに見える 
単純に1オームの負荷を接続した場合、電圧^2 / 抵抗 = 9.3W程の出力に思える
実際の発熱 (0.591V^2 x0.5 / 1 )+(5.51V^2 x 0.5 / 1) = 15.35W

一応、ArduinoからDCDCの電圧を調整する方法を提案しときます(コスト重視!)
https://imgur.com/L7s1RhT
この回路なら理論上0.7~5.0V位の範囲で調整可能だともいます
(ただしメーカーの想定した使い方ではないので不具合が出る可能性もあります)
analogWrite(0)で5V付近 analogWrite(255)で0.7V付近
コンデンサの容量を増やすと電圧のリップルが少なくなり、減らすと応答速度が上がります
注意点としてはArduinoで電圧を指定するまでと&電圧に到達するまでは5V付近に調整されることです
DCDCのON/OFFを使い電圧調整後にONすると良いと思います
0672667
垢版 |
2019/12/14(土) 13:01:01.96ID:19rMlE2m
>>669
シャント抵抗について
メーカーから精度の良いシャント抵抗を入手して使う場合は、シャント抵抗に差動増幅回路を接続して電圧を読みよるのが無難かと思いましたが、
そんな高価なものを使うのは負けた気がするので、他の手段を提案します
また、高価な計測器もなしの方向で(俺は持ってないし込々380円のテスターとか使ってる)

例えば、電子タバコの発熱コイルと電源部分がある程度離れてるなら、その電線をシャント抵抗として考えてもよいと思う
(例えば切断面積2.0mm2の銅線1mだと約8.6mオームの抵抗値が有る)
あとカンタルワイヤーをよく知らないので素材として適してるかは分かりません
距離が近い場合やらは適当に抵抗になるものを使う(用意する抵抗値に精度は不要なので予測値を計算で出したものでよい)
(ただ高い抵抗値の物は自己発熱での抵抗値の変化が考えられるので避ける)
必要な電圧に増幅する(単電源のオペアンプ等を使うと楽かな)増幅値は配線の抵抗も含め5V超えない範囲を狙う
最大電流=4V付近を狙う計算例> 倍率 = 4 ÷ (最大電流 * (シャント抵抗 + ローサイド配線抵抗))

この回路では電流と電圧が比例するので、電流をテスターなどで計測してそれを元に補正すれば精度の高い電流計測が可能になる
https://imgur.com/Ih4lbo8
計測1>適当なダミー抵抗などにテスターの測定電流値を超えない範囲で電気を流す(電流値を読み取る)電流はコイル部分よりハイサイド側で測る
計測2>実際に電流検知用の電圧を取り出す所の電圧を計測する(増幅するなら増幅後)
(計測箇所のテスターのマイナス棒は電源グランドのArduino用分岐点かArduinoのグランド)
電圧を電流で割ると1Aあたりの電圧が計算できるのでそれを基準にする
この回路なら発熱コイル直前の電圧・直後の電圧・電流の計算値を使い、コイルの抵抗値を実用的な数値で求められる(と思う)

増幅回路について
シャント抵抗の増幅回路について(増幅回路が必要な場合)
・ハイサイドにDCDCやFETを使った場合、コイル付近のローサイド側の電圧を増幅回路を使い増幅後計測する
・ローサイドにFET(FETをグランドに接地)を使いスイッチングする場合、シャント抵抗の前後の電位差を差動増幅回路で増幅して計測する
(ただし、電源>発熱コイル>FET>シャント抵抗>グランドの場合は増幅回路で計測)
0673774ワット発電中さん
垢版 |
2019/12/16(月) 02:21:44.13ID:vrvwOWHL
プルアップされたGPIOでセンサーのHIGH信号を読み取りたい場合
センサーをNPNトランジスタのBに繋ぎ、CをGPIOにEをGNDに接続して
LOWを読み取れば宜しいのでしょうか
0675774ワット発電中さん
垢版 |
2019/12/16(月) 03:59:23.42ID:vrvwOWHL
>>674
おそらくSB612Aと言われるタイプの焦電センサーとRCWL0516のドップラーレーダーで
反応見ながらどちらかと思ってます
0676774ワット発電中さん
垢版 |
2019/12/16(月) 09:39:28.75ID:JW6TpyMe
>>673
その方式でレベル変換回路として成立しますが、ノイズに弱い回路になると思います
一見正常に動作して見えるので、時々でる誤動作に悩まされる可能性が高いです
一般的にはセンサーとArduinoに距離が空く事が考えられますが
◆トランジスタがArduinoに近い場合
・センサーの配線からノイズを広い、トランジスタで増幅される
◆トランジスタがセンサーに近い場合
・Arduinoのプルアップ抵抗が大きめの抵抗値の為、やはりノイズに弱い
◆対策(一部、もしくは複数の対策をする)
・トランジスタのベース入力に大きめの抵抗を入れる
・トランジスタのベースをプルダウンする
・トランジスタのベースに抵抗とコンデンサを入れる(反応速度に合わせて適度なもの)(RCフィルタ)
・トランジスタのコレクターにArduino内蔵プルアップより低い抵抗値の抵抗でプルアップする
・トランジスタの増幅率hFEの低いものを選ぶ
・Arduinoのプログラムでセンサーの信号を拾う条件を厳しくする(ソフトウェアフィルタ)

また、SB612Aはオープンコレクタ出力なので、上記の接続方法では機能しません
適当な抵抗でプルアップして使うことが前提になります
0677774ワット発電中さん
垢版 |
2019/12/16(月) 16:47:33.26ID:TowVXSlz
ここはド素人がこんなの作りたいんだけどっていうものを相談しても良いスレですか…?
0680774ワット発電中さん
垢版 |
2019/12/16(月) 18:45:23.96ID:TowVXSlz
ありがとうございます
まだ内容がとっちらかっているので
後程纏めて相談させていただきます
0681◆DxC13Fb.fk
垢版 |
2019/12/17(火) 01:42:47.00ID:+t71MNQf
長くなってしまったのでjpgで…
https://i.imgur.com/MvWaQUH.jpg

こんなの作りたいんですがどのようにしてやればいいのか
全く知識がないので教えていただければ幸いです

waves Arduino Pro Mini
HiLetgo pro mini ATMEGA328P
というボードはいくつか持ってます

英語わからんし知識ゼロなので全く理解出来てないけど参考になりそうだと思ったやつ
https://pastebin.com/ZmDuquLc

http://www.france-airsoft.fr/forum/index.php?showtopic=200650

https://forum.sparkfun.com/viewtopic.php?f=14&;t=31118
0685◆DxC13Fb.fk
垢版 |
2019/12/17(火) 11:02:33.64ID:+t71MNQf
>>682
http://www.d-b.ne.jp/~k-kita/arduino_115.html
こんな感じですか?

>>683
microSDを入れるやつですね
一つ持っています

>>684
最近はマイコン制御増えてます
トリガーの部分に入れて制御するものもありますが高いです
0686774ワット発電中さん
垢版 |
2019/12/17(火) 11:15:45.10ID:YWw2HPUy
>>685
じゃあ基板から作る覚悟なんだね
すごいな、てっきりまったくの素人かと思っていたら完全なる玄人じゃんw

頑張って!
0687◆DxC13Fb.fk
垢版 |
2019/12/17(火) 11:21:09.47ID:+t71MNQf
>>686
いや全くのド素人で知識ゼロ
基盤は作らず導線で元のスイッチと連動させるつもり
見た目は悪いけど原理としては基盤直付と同じ動作になる…はず
もしできるのであれば作りたいけどね…
0688774ワット発電中さん
垢版 |
2019/12/17(火) 12:00:14.05ID:o1MHXLQr
あもう必要になりそうな部品は調べてある程度持ってる状態なのね
距離計測のセンサーは何か良いのあった?
0689◆DxC13Fb.fk
垢版 |
2019/12/17(火) 12:09:03.72ID:+t71MNQf
>>688
そんな感じです
距離センサーはまだ見つかってません

ゴルフで使用する距離計をイメージしているのですが
秋月電子で調べても測定距離が2m程度しか無いので実用性が無いです
0690774ワット発電中さん
垢版 |
2019/12/17(火) 12:20:26.89ID:Hlg2m9mL
>>687
回答者は意地悪な人が多いなぁ

俺の電動ガン知識がニッカド〜ニッケル水素の時代に少し触れた程度の知識なので時代に合ってないかも・・

電動ガンのFCUを作るうえで知ってる範囲での注意点を
おそらく今でも電動ガンの電池はニッケル水素がメーカー標準だと思う
3セルのリチウムを直接電気流したら遅かれ早かれギアが欠けると思うので電流の制御が必要になると思う

制御にFETを使う事が多いと思うが、ネットの情報で間違いが多い
以下よくある間違い
・FETを使う場合、フライホイールダイオード(フリーホイールダイオード)無だと逆起電力でFETの耐電圧を超える
 また、サージ電圧が発生するのでマイコンなどを破損するリスクがある
>対策として、上記のようにフライホイールダイオード等を使うかスナバ回路を使う
 (もともとスイッチ保護のためフライホイールダイオードついてるかも)

・FETでモーターを制御する場合、PWMを使うと思うがArduino標準のPWMではスイッチング速度が遅く、滑らかな制御が出来ていない
>対策としてArduinoのレジスタを直接制御してPWMの周波数等を変更する

・大容量FETを高速なPWMで制御した場合、FETのゲートを駆動する上でマイコンからゲートを駆動する為の出力が足りない(最大電流値)
たとえ4V駆動対応のFETでも瞬間的には十分な電流が流せないとだめ
>対策としてFET駆動回路を組む

その他の回答は後回しとして、完成させるためには作業するしかない
・適当な作業スペースを確保する(作業机1台専有する気持ちで)
・改造する電動ガンもしくは同等の制御の物をばらす
・作業台に分解した部品のうちギアボックス(またはモーター)とトリガー部分を適当に配置する
・Arduinoとそれ以外に必要な部品を配置する
・機能や目的ごとの回路を作る
・回路が完成したら組み込む電動ガンの組み込める隙間を探す
・隙間に合わせて回路の小型化をする

まずは手始めにArduinoからモーターを回したり止めたり出来るところで進めると良いよ
用意した部品の回路や写真を上げれば誰かが色々アドバイス(突っ込み)をしてくれるから

質問した内容の物を全て実現するにはそれなりに地道な努力が必要だと思うので、根気よくやるしかないよ
0691774ワット発電中さん
垢版 |
2019/12/17(火) 16:55:49.66ID:RkF4/Bc9
今の電動ガンはリフェかリポです
ニッスイなんて使いません
0693774ワット発電中さん
垢版 |
2019/12/18(水) 00:10:22.81ID:Y5xg7stm
>>685
電池の電圧監視についてですが、違います
もっと簡単にarduinoで電池の電圧検出すればよいと思う
まずはarduinoの適当な入門書を読むことをおすすめします
0694774ワット発電中さん
垢版 |
2019/12/18(水) 00:12:09.10ID:Y5xg7stm
>>691
オレもそう思ったのだが、メーカー標準となると確かにニッ水だった数年前
今は純正もリポ?
0695◆DxC13Fb.fk
垢版 |
2019/12/18(水) 01:56:36.92ID:udq8KEON
>>690
時間作って作業環境作ってみます
ありがとうございます

>>693
何かおすすめというかわかり易い参考書を知っていたら教えていただければ幸いです
何が必要なのか全くわかっていないので
この本にはこれが載ってるとかわかれば探せると思うので



ちなみに電動ガンの主流バッテリーはニッケル水素です
AA-12とかは特にリポ使うと不調になったりしますし
メーカー推奨はあくまでもニッカド・ニッケル水素バッテリーです
0696774ワット発電中さん
垢版 |
2019/12/18(水) 02:40:50.39ID:Y5xg7stm
>>695
手当たり次第に読んだほうが良いと思います。目的を絞って本を探しても電子工作の基礎がないので結局遠回りになりそう。
本屋で立ち読みできるなら自分の知識に近い本を探すとか
さすがにこれ以降は自分で動く努力してもバチは当たらないかと
0697774ワット発電中さん
垢版 |
2019/12/18(水) 19:41:50.72ID:Q3c8RdRo
純正品のUnoに付属してる下にひく透明のトレイのネジ穴のサイズはいくつでしょうか?
0699774ワット発電中さん
垢版 |
2019/12/19(木) 19:03:42.80ID:t1LxRkVa
机の上にちょうどあった
M3のネジ穴が4つ(プラ板のみ貫通)
M2.6 のネジ穴が4つ(プラ+基盤を貫通)

基盤の穴のみならM3が通る
0700774ワット発電中さん
垢版 |
2019/12/20(金) 18:40:18.41ID:AbN76wla
>>698
>>699
手元にあったM3のネジだとUNOの基板は通るけど肝心の透明のトレイのネジ穴には入らなかったので…
M2.6のネジでいけますか?
0701774ワット発電中さん
垢版 |
2019/12/20(金) 19:01:35.50ID:sqSagK2V
なぜ自分で測らないんだろう
てっきり購入前の確認かと思ってたわw
0703774ワット発電中さん
垢版 |
2019/12/20(金) 19:15:48.65ID:AbN76wla
>>701
M3のネジだと使えなかったから他のネジ購入前の確認です
知ってる人いるかと思って
0705774ワット発電中さん
垢版 |
2019/12/20(金) 19:28:52.90ID:wL1sYFcL
>>703
なぜ穴の径を自分で測らんのかということだが?
穴系決まってからのネジ選択じゃねえのけ?
0707774ワット発電中さん
垢版 |
2019/12/20(金) 21:24:39.50ID:s1mj+c3F
ネジなんか安いんだから2.6と2と両方買っとけばいいじゃん
0708774ワット発電中さん
垢版 |
2019/12/20(金) 23:40:37.61ID:PsM0ExHL
トランジスタやモータードライバについて教えてください。
5VモータをArduino Pro Mini(5V)で制御しようとしています。

ttp://startelc.com/elc/elc_14moterContl.html
を参考に2SD2012で回路を組んだのですが、ONにしてもモーターはぴくぴく言うだけで回りません

電源は単三4本で、電池と直結とモーターは元気に回ります。
また、少し小さいモータはちゃんと回りましたので回路は問題なさそうです。

2SD2012ではパワー不足なんだとおもいますが、
他のIC(できればピン互換で)でおすすめはありませんか?
0709774ワット発電中さん
垢版 |
2019/12/21(土) 00:32:47.55ID:p1frVxu5
>>708
ベース電流が足りないんじゃない?
ベース電流設定用の抵抗Rを、現状の半分や1/4にしてみたら?
0710774ワット発電中さん
垢版 |
2019/12/21(土) 00:48:41.84ID:CRiPH3e+
>>708
>>709が書いている通りだけど、それ以前に質問の仕方として、
参考にした回路はともかくとして、
あなたが組んだ回路を提示するべき。

それと大きいモーター、小さいモーターではなくて、もっと具体的にするか、
せめて写真を出したらどうかと思う。

ベース抵抗が問題になっているとしたら、
より少ないベース電流で大きいコレクタ電流を流せるダーリントントランジスタ、
あるいは、(ベースに相当する)ゲートに電流が流れないFETに置き換える手もある。

↓ダーリントントランジスタ
http://akizukidenshi.com/catalog/g/gI-06369/
0711774ワット発電中さん
垢版 |
2019/12/21(土) 02:02:51.05ID:bngG7Eyr
その2SD2012でもいいし、手元に他のトランジスターがあればそれをダーリントンの初段にして試してみればいい。
0712774ワット発電中さん
垢版 |
2019/12/21(土) 10:07:35.22ID:CRiPH3e+
ピン互換の縛りがなくて、自分でトランジスタを追加できるなら、
ダーリントントランジスタの構成そのままにするのではなくて、
追加トランジスタのコレクタはVCCに接続する方がいいよね。
0714774ワット発電中さん
垢版 |
2019/12/21(土) 13:20:53.23ID:0Yxjm3w8
小さいネジの場合問題になる事少ないのかも知れんが、径だけじゃなくピッチの罠もあるよね
あと海外製だとISOのミリネジじゃない可能性も
0715774ワット発電中さん
垢版 |
2019/12/21(土) 13:59:26.05ID:cgz4fKfg
Arduinoに既に書き込まれているスケッチを
空のArduinoにコピーすることはできますか?

ArduinoからArduinoにコピーしたいです
元のスケッチはありません
0716774ワット発電中さん
垢版 |
2019/12/21(土) 14:13:24.60ID:10KSMfDg
読み込み avrdude -c arduino -P com20 -p atmega328p -Uflash:r:C:\test.hex:i
書き込み avrdude -c arduino -P com20 -p atmega328p -Uflash:w:C:\test.hex:i
0717774ワット発電中さん
垢版 |
2019/12/21(土) 14:13:52.49ID:V75Wu6Ar
質問。
black pill 買って、ブートローダー書き込んだ。
mac arduino ide では無事スケッチ書き込み成功。
同じモノをwindowsのarduino ide で書けない。文字化けのようなメッセージ。
ドライバーとかは導入出来てる。
誰か助けてください!

https://i.imgur.com/PvAvDsD.png
0719774ワット発電中さん
垢版 |
2019/12/21(土) 15:12:36.49ID:0Yxjm3w8
橙文字はシステムメッセージでポーレートは関係無いんだっけ?
0721774ワット発電中さん
垢版 |
2019/12/21(土) 15:57:57.90ID:DYO/oURg
おそらくFontの設定のどこかがおかしくなってる
ArduinoIDE側はFile-環境設定-以下のファイルを直接編集すれば…-editor.font= のあたり
ここに物理フォント名ではなく論理フォント名が書かれている場合はWindows側のどっかで論理フォントから物理フォント名に変換しているところかな
0724774ワット発電中さん
垢版 |
2019/12/22(日) 02:38:30.93ID:qAqoQrNf
でも書き込み完了となってるので、avrdude がエラーを返さなかったんだろうな。
書き込みの詳細メッセージを表示してみたら?
0725774ワット発電中さん
垢版 |
2019/12/22(日) 02:47:13.30ID:+NL/xVjS
>>717
です。
windows ストア版のideに不具合がある、という記事を見つけました。なので一旦アンインストール。
本家からインストーラーをダウンロードして使ったら、無事書き込み出来ました。
皆さんお騒がせしました。
0726774ワット発電中さん
垢版 |
2019/12/22(日) 15:43:49.42ID:f3punQ1N
web上にあるatmegaのヒューズリセッタのスケッチが動作しなかったけど無事に全シリーズ修整した
0728774ワット発電中さん
垢版 |
2019/12/22(日) 20:54:32.53ID:+y84IbXs
分野が別だろ
0729774ワット発電中さん
垢版 |
2019/12/23(月) 00:21:15.59ID:3rq5aBDh
こんにちは
arduinoでSpotify(音楽ストリーミングサービス)の曲をBluetoothイヤホンから流すっていうのをしたいのですが、可能ですか?走る時に使いたいのでできるだけ小型にできるといいです
0731774ワット発電中さん
垢版 |
2019/12/23(月) 00:45:59.73ID:VCxBEgwK
>>729
スマホでよくね?
走る時ってどの回線使うの?
0732774ワット発電中さん
垢版 |
2019/12/23(月) 00:51:15.17ID:3rq5aBDh
>>731
スマホだとケース込みで200g超えててかなり重たいです
volumioのSpotifyで本家のようにダウンロードできてオフラインでも流せたらなぁって思ってます
0733774ワット発電中さん
垢版 |
2019/12/23(月) 00:53:22.30ID:VCxBEgwK
あぁ、あらかじめダウンロードするのか。
0735774ワット発電中さん
垢版 |
2019/12/23(月) 00:59:19.29ID:3rq5aBDh
>>734
Spotifyでよく聞いてる曲たちをもってないんですよねー…
買うにしても莫大な金額になりそうなのであんまり買いたくないです…
0737774ワット発電中さん
垢版 |
2019/12/23(月) 02:30:00.11ID:QAeXN+nF
え?金ないのに、ダウンロードしたいとか?
Arduinoで音楽聴きたいのか、違法ダウンロードしたいのか?

スマホが重いなら、Arduino+バッテリーの時点で無理じゃね?
スマホより軽いバッテリーなんて限られてくるけど。。。
0738774ワット発電中さん
垢版 |
2019/12/23(月) 04:39:46.76ID:EIuhVBcK
100均のモバイルバッテリー300円のが64g、500円のが100g
ドローン用リチウムポリマーが37g
走ってる1時間くらいイヤホンで聞きたいってだけなら小容量でいいわけだし
そこまで難しくはなさそう
0739774ワット発電中さん
垢版 |
2019/12/23(月) 10:19:47.17ID:XExT427H
そもそもSpotifyをダウンロードするプログラムってどう作るの?
0740774ワット発電中さん
垢版 |
2019/12/23(月) 15:26:57.42ID:2wnxxHpM
ハードに疎いだけでソフトには精通してるんだよ きっと
ESP32で出来るよ
0744774ワット発電中さん
垢版 |
2019/12/24(火) 02:34:39.51ID:it5KXjBT
ESP系はソースもデカいからvscodeが多そうなイメージ
おいらはちょこっとプログラムするだけだからお手軽ArduinoIDE
0745774ワット発電中さん
垢版 |
2019/12/24(火) 09:18:03.21ID:+LSpGgAU
arduino ideはメモ帳で書いてるのと殆ど変わらないから、用意されたサンプルを
コンパイルして満足するだけじゃなく自分で書くなら、短いのでもvscode入れた方が楽だよ
0747774ワット発電中さん
垢版 |
2019/12/24(火) 23:43:21.07ID:rRK+Px9n
この間、久しぶりにv0.0.3-alpha.previewに更新してる。
ttps://github.com/arduino/arduino-pro-ide/releases
0748774ワット発電中さん
垢版 |
2019/12/25(水) 00:23:08.71ID:RqE48e5j
arduino ide pro、え?これでproを名乗るの?ってレベル。もう少しリッチになってくれ
0749774ワット発電中さん
垢版 |
2019/12/25(水) 06:23:48.62ID:hXoZnmVD
独自IDEはもう最低限でいいから、MSとちゃんと話してVSCodeのプラグインを充実してほしいわ
0750774ワット発電中さん
垢版 |
2019/12/25(水) 07:17:11.85ID:UI+AuTDw
現状のVSCodeプラグインだとサンプルスケッチへのアクセスが分かりづらいのと、ブートローダの書き込みが出来ない事やプロジェクトをわざわざ作らないと行けないのがのが不便かな
0751774ワット発電中さん
垢版 |
2019/12/25(水) 11:32:34.93ID:r9qhItle
>>709

>>710

>>711
遅くなりました。
結果としては、ベース電流の不足だったみたいです。

arduinoベースの2k抵抗を小さくしていくとだんだん回るようになるものの、直結時と同じように安定して力強く回るのは結局0Ω(抵抗無し)の時だけでした。
(最小200Ωまで確認)

ギリギリなんですかね?
0752774ワット発電中さん
垢版 |
2019/12/25(水) 11:36:57.94ID:fxl/dkxj
ベースバイアス足すとか ホントはオシロとかで見ればいいんだろうけど
0753774ワット発電中さん
垢版 |
2019/12/25(水) 11:57:50.06ID:Eq5hYcuh
>>751
arduinoとモーターは同じ電源から動かしてると思うけど
モーターの消費電力が大きく電源電圧が降下してると思う
電源電圧が降下した分ベース電流も落ちてるからその影響も大きいと思う

状態を把握するために電池直結とトランジスタを使った時の各所の電圧や電流を測定した方が良いよ

例えば、電源が3vまで落ちたらベース10mAも流れてないと思う
その場合コレクタには1Aも流れないはず
0754774ワット発電中さん
垢版 |
2019/12/25(水) 12:24:28.53ID:Eq5hYcuh
>>751
リンクのサイト色々と配慮がたりてない
トランジスタもモーター駆動に向いてない
秋月で2SD2012と同じ30円の2SD1326とかどうよ?
0755774ワット発電中さん
垢版 |
2019/12/25(水) 13:05:19.42ID:6RrykWGX
ダーリントンはコレクタ飽和電圧が高いから電源電圧が
低い場合はどうかな。
0758774ワット発電中さん
垢版 |
2019/12/26(木) 00:38:57.63ID:BgwgZGw4
インバーテッドダーリントンって絵の構成だったっけ。
これだと、入力電圧は低くできるものの、出力の飽和電圧の点で有利になったっけ?

でも、今はON/OFFなら「まずはFETを選んでみる」で良いような気がする。
0759774ワット発電中さん
垢版 |
2019/12/26(木) 01:12:35.90ID:OBUK92em
>>758
構成は合ってる。
hFEが2つの積になるから,ベース電流を少なくしても動かせる。
Vbeは1個の場合と同じでいい。ただのダーリントンはVbeが高くなってしまう。

その文脈だと,FETじゃなくてMOSFETかな。
どちらにしても,電圧制御なので,電流は不要だけど,
スイッチ用途の場合,種類によってON/OFFさせる電圧が違うから注意ね。
0760774ワット発電中さん
垢版 |
2019/12/26(木) 07:34:00.47ID:BgwgZGw4
>>759
出力飽和電圧について指摘している>>755の次に>>756がコメントしているから、
>>756は「普通のダーリントンと違ってインバーテッドダーリントンなら、出力飽和電圧の点で有利になる」と
考えているのでは?と思ったよ。

実際の彼の思いはどうなんだろう。>>755とは特に関係がなかったのかな?
0761774ワット発電中さん
垢版 |
2019/12/27(金) 03:47:22.08ID:q5sM2XuD
リセットボタンを作るためにRSTとGNDの間にタクトスイッチを付けたいんだけどプルアップ抵抗もどこかに必要ですか?
0764774ワット発電中さん
垢版 |
2019/12/29(日) 08:45:08.58ID:T2demtZP
>>754
>>753
電池をやめて2.6Aのアダプタにしたらモーターはより強く回ったので電圧降下はしてるでしょうね。
実家帰っちゃったのでオシロが無いんですよね。

あと2個作る予定があるので、SD1326も試してみます。
0765774ワット発電中さん
垢版 |
2019/12/30(月) 07:23:31.27ID:oFV4gCkn
あちゃんでいいのって今売られてるやつもピン幅はズレてるまま?
0766774ワット発電中さん
垢版 |
2019/12/30(月) 09:41:28.04ID:JVnGytYN
>>765
どうやら売り切ったらしい、通販のページには出てない

ただし、店頭限定で売ってる可能性はあるので注意
・店頭で買うときの見分け方
MicroUSBやDC-Jackの付いたタイプは OK
LEDが1つのタイプ(基板のシルクがV2)は OK
LEDが2個で基板のシルクが「0603V2」のタイプは OK
LEDが2個で基板のシルクが「0603」のタイプはおそらく ×
他にはこんな特徴がある(通販ページにある画像と比較するとわかりやすい)
https://i.imgur.com/NVdpcwx.png

他のものに比べてかなり安ければあえて買うのもアリ
0767774ワット発電中さん
垢版 |
2019/12/30(月) 14:02:39.66ID:rWXvmtLS
>>766
めっちゃサンクス
その画像と通販ページの画像見比べると確かに違うね。
シリアルの印字も無くなってるね。これはちょっと戸惑うかも。
今度0603V2買ってみるわ。
0768766
垢版 |
2019/12/30(月) 15:42:09.15ID:JVnGytYN
現物を手に取って選べるならこっちのほうがわかりやすかったか
クロスしてスケール代わりに重ねてみれば…
https://i.imgur.com/VsKHuo8.png
0769774ワット発電中さん
垢版 |
2019/12/30(月) 18:00:46.92ID:kd62aREL
ESP8266-01が全くつながらないです。

https://circuits4you.com/2017/12/31/esp8266-get-ip-address/
をコピペしたのですが、#include <ESP8266WiFi.h>が見つからないとエラーになります。
ネットで探すのですが、

Arduino-master.zip
IRremoteESP8266-master.zip

しか見つからず、ESP8266WiFi.hのライブラリが見つかりません。

どなたかご教授ください。
0771774ワット発電中さん
垢版 |
2019/12/30(月) 22:28:36.18ID:Dm7kE84w
ArduinoでLoop一回分とか作った関数の実行速度を測ってみたいと思ってるんですけど
どんな方法をとればよいのでしょうか?
どういった機材があれば測れますか?
0772774ワット発電中さん
垢版 |
2019/12/30(月) 22:35:13.36ID:5B6e/9ZS
測りたい部分の前後にピンから信号を出してオシロスコープで信号変化の間隔を測って信号出力処理のオーバーヘッドを引く。
0773774ワット発電中さん
垢版 |
2019/12/30(月) 23:07:21.21ID:+x3kapch
>>771
実行速度測るだけなら
micros()を使って実行前と実行後の時間差を引き算すればわかるよ
単位は4μ秒毎でわかる
機材は要らないよ
もう少し細かい単位で時間見たいなら同じ処理を
100回とか1000回繰り返して時間を見ればいいと思うよ
0775774ワット発電中さん
垢版 |
2019/12/31(火) 03:18:16.73ID:QPV6zsYc
>>768
こんな致命的な問題があるものをそのまま売ってたの? 中華業者より酷いな
0780774ワット発電中さん
垢版 |
2019/12/31(火) 08:11:11.62ID:bZRNNfuI
この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
0782774ワット発電中さん
垢版 |
2019/12/31(火) 09:11:32.44ID:bZRNNfuI
フォーラムにこの問題載ってました
Featherの3.3VピンとGroveポートの3.3Vピンを繋いだら改善するみたいな事が書いてあったから試したけどダメだった。それどころか、ダブルクリックしてないのにブートローダーモードに切り替わってしまって大変

っていうか、Adaのサポートヤバイ
このトピックはこのWingが動かないって内容のトピで、
で、ある人が「3.3Vを繋いだら動いたって」書き込みした直後にadaのサポートが「回避策共有してくれてありがとう.」って書き込み、
その2ヶ月後に別の人が「こんな欠陥あるのになぜ売り続けるんだ?知ってたら32u4とこのWing2セットづつ買わなかった」
サポート「は?32u4で動くけど」

だって…
0785774ワット発電中さん
垢版 |
2019/12/31(火) 09:55:48.10ID:aSj6pKNX
>>773
おおむね知りたい数値を知ることができました!ありがとうございます。
arduinoが自分で測ればよかったんですね。
気がつかなかった・・・

>>772
この方法の場合、そのオーバーヘッドがどのくらいかかったかというのはどうやって測ればよいのでしょうか?
0786774ワット発電中さん
垢版 |
2019/12/31(火) 10:14:51.70ID:OgC/n0hl
>>785
772じゃないけど何も処理をしないでピンから2回信号を出してオシロで測ればオーバーヘッドがわかるかも
0788774ワット発電中さん
垢版 |
2019/12/31(火) 11:13:23.46ID:TwFVzw2U
>>782
もう現物と回路図突き合わせて、この2つが一致してるかから調べてみたら?

俺だったら、回路図が正しいものとしてその回路図で意図した動作をするのかをまず確認して
回路図に不備があるようなら回路図を修正して、
次は回路図と現物を突き合わせて、現物をあるべき形に持っていくな

こういうものでサポートガーとかは正論ちゃー正論だけど、めんどくさいしバカっぽいから自分で手を入れて
これできましたってアップするだろうね
0789774ワット発電中さん
垢版 |
2019/12/31(火) 13:05:12.97ID:iiVSmxoX
質問です。Leonardo 互換機を使っています。
Arduino IDEで,ピン指定 A0 は確かに基板のA0にアクセスできるのですが,A0=18のようなのです。この18って何?
32u4 のピン番号じゃないし,UNOの番号かな,と思ったんだけど,それとも違う…
18って何だろう…

同様に,ピン指定 0 で D0=PD2=20ピンにアクセスできるのも不思議
0790>
垢版 |
2019/12/31(火) 13:41:06.55ID:1KV0R57t
>>785
>この方法の場合、そのオーバー
>ヘッド(中略)はどうやって

>>773 にその答えも書いてある
digitalWriteを10000回繰り返したときと20000回繰り返したときの差を取れば純粋にdigitalWriteのコストがわかる。同じ値の繰り返しは最適化の懸念が残るので1/0交互にするかな。
ところで
digitalWriteって最適化懸念無いんでしたっけ?
0791773
垢版 |
2019/12/31(火) 14:37:33.76ID:Zt81snPl
>>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μ秒の結果が出ると思う)
後で部屋の大掃除終わったら実機で試してみるよ
0792774ワット発電中さん
垢版 |
2019/12/31(火) 16:44:42.01ID:aSj6pKNX
>>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)μという感じでしょうか。

以上のような感じで当方が欲しいと思っていた情報を得ることができました。
ありがとうございました。
0793791
垢版 |
2019/12/31(火) 21:37:50.01ID:Zt81snPl
Arduinoの種類(こちらはUNOを使用)によって違う可能性もあるけど

検証した結果
時間を出力するコードは平均3.584μ秒で実行できてました(外部割込みの影響を受けて誤差が出るみたい)
変数をstaticではなくauto(省略した場合auto)だと平均3.080μ秒でした
挟んで時間求めるだけなら、staticで宣言する必要なかったですね

ちょうどいい値なので実行時間から4μ秒を引く感じでいいと思います

多くのコンパイラでは
Serial.print (micros() - StartTimeVal);でも
GoalTimeVal = micros()でも
同じ結果になるはずだったのですが・・・
(もしくは変数に収める方が時間が増える可能性も・・・)
0794774ワット発電中さん
垢版 |
2020/01/01(水) 06:21:26.27ID:W2ANaKWT
Nano+OLED で作り始めたら容量が足らないので、別のマイコンに変更したいのですが、
STM32、ESP32、が順当な候補でしょうか?
最終的に、そのまま組み込みたいので、Mega等のボードは無しでお願いします。
0796774ワット発電中さん
垢版 |
2020/01/01(水) 08:35:49.60ID:+JGwa2zY
トランジスタつかいたまへ
0797774ワット発電中さん
垢版 |
2020/01/01(水) 16:41:53.50ID:dKU5G9gG
>>794
データの容量だけの問題なら余ってるSDカードとかを直接ハンダ付けするのも良いかもしれません
0799774ワット発電中さん
垢版 |
2020/01/02(木) 06:38:01.95ID:3PYR3i+j
>>797
データというより、SRAM(動作中のメモリ)が、2k だと足らなくて。。。
プログラムも、まだ6割程度完成で、30kギリギリ(Optibootで1.5k稼いでも)

U8g2 だとページングでギリギリ、フルバッファだと無理。
Adafruit のライブラリは使いやすいのですが、動作メモリを大量に使うっぽい。

ESP32は、足の数でミニブレッドに刺せないし、STM32だと、いずれ容量が心配?
となり、OLEDを使う上で、定番的な奴があればと思った次第です。
0800774ワット発電中さん
垢版 |
2020/01/02(木) 06:45:06.39ID:SrUge3NQ
>>799
OLEDはどれ使ってる?
NanoにAdafruitのライブラリを使って書き込んでもエラーは出ないのに全く表示されん
ATSAMD21のボードに書き込んだら普通に表示された
0801>
垢版 |
2020/01/02(木) 06:53:25.11ID:JiORKqPq
>>799
そう言うことなら
サンハヤトのSAD-101は幅広でESP32いけるよ。
0804774ワット発電中さん
垢版 |
2020/01/02(木) 09:45:29.04ID:3PYR3i+j
>>800
スピード不要と I2C を買って後悔してる。
https://あまぞん/gp/product/B017M15KX6/
とりあえず Nano で Adafruit_SSD1306、U8g2 のサンプルは全て動くけど、
U8g2 フルバッファは、ギリギリなのでデフォルトのブートローダーだと
動かないかも?

今は Ali で SPI をカートに入れてて、ESP32 を物色中。
0808774ワット発電中さん
垢版 |
2020/01/02(木) 16:28:17.65ID:I5BIpWQ8
グラフィック使うならメモリ2Kbyteやそこらの機種は厳しいですね。
情報表示だけならなんとかなりますが。

IOが少なくて良いならWemos D1 miniなどで、アンテナをもぎ取って使うのもありかもしれません。
0810774ワット発電中さん
垢版 |
2020/01/02(木) 17:40:05.90ID:x9QcccbV
文字を縦横16/8ドット固定長で表示する分にはバッファは要らんと思うね
0812774ワット発電中さん
垢版 |
2020/01/02(木) 17:50:52.76ID:HimJ9S9Z
俺は上向きのメスのピンヘッダ付けてジャンプワイヤーで飛ばす
0813774ワット発電中さん
垢版 |
2020/01/02(木) 17:56:12.04ID:ZzRcHWE6
>>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ケーブルで拡張するからね
0814774ワット発電中さん
垢版 |
2020/01/02(木) 18:04:42.25ID:ZzRcHWE6
ちなみに秋月で
ESP−WROOM−32D開発ボード
http://akizukidenshi.com/catalog/g/gM-13628/
これは買ってはいけない
追加でコンデンサを付けないと自動で書き込みができない
スイッチを操作しての書き込みは可能

買うならこっちを買うようにしましょう
ESP32−DevKitC ESP−WROOM−32開発ボード
http://akizukidenshi.com/catalog/g/gM-11819/
0816774ワット発電中さん
垢版 |
2020/01/02(木) 20:17:17.40ID:Ni6c7YyQ
atmega328のEEPROMに関する質問です。

Q1.EEPROMは書き換え回数10万回となっていますが、これはEEPROM全体でしょうか?
それとも個別アドレス毎でしょうか?

Q2.EEPROMに5分毎に64byteの書き込みを行うと、
1時間に12回x24時間x365日=105120回と1年で10万回に到達します。
EEPROM全体1024byteを16分割し、順次使用すれば16年に延命できますか?

似たような内容ですが、よろしくお願いします。
0818774ワット発電中さん
垢版 |
2020/01/02(木) 22:49:23.73ID:kghNQSNN
>>816
寿命とは違うが、BODを有効にしておかないと、power offで0番地のデータが壊れると言うのがあったね。
頻繁に電源を落とす用途でハマった事があります。
俺以外はみんな知ってる事かな?
0821774ワット発電中さん
垢版 |
2020/01/03(金) 00:18:44.58ID:bvGxlHYf
そんなレスする前に答えてあげろよ
こんな質問マルチしても問題ないだろ
0822774ワット発電中さん
垢版 |
2020/01/03(金) 00:28:37.63ID:UnfTPptb
俺は使ってない
0823774ワット発電中さん
垢版 |
2020/01/03(金) 00:28:50.80ID:MegH9Bpp
俺は使ってない
0825774ワット発電中さん
垢版 |
2020/01/03(金) 03:32:19.79ID:lU4bF5ba
3.3VのProMiniかESP32で、別モジュールの5VでプルアップされてるピンをGNDに落としたいのですが、
3.3Vの信号をNPNトランジスタのベースに入れて5VのピンをLOWにする事は可能なのでしょうか?
0826774ワット発電中さん
垢版 |
2020/01/03(金) 04:15:51.90ID:rDOAqfw2
可能だけど、もうちょっとトランジスタのこと理解してからのほうがいい
0828774ワット発電中さん
垢版 |
2020/01/03(金) 08:12:45.97ID:lgPOSp+U
>>825
図のようなことを意図しているならOK。

>3.3Vの信号をNPNトランジスタのベースに入れて
どんなふうにあなたが接続するのかわからんので、>>826さんが心配されてます。
Rpu次第ですが、通常はR1は10kぐらい、R2は10k〜47kが、「パスコンなら0.1uF」的な
選択。(異論はあります)

反転させたくないときは、右のような方法もあります。電流は増えないですけど。
0831774ワット発電中さん
垢版 |
2020/01/03(金) 13:58:08.01ID:lU4bF5ba
>>828
有り難う御座います 右図見るにベースに3.3Vだとエミッタも3.3Vになるんですね?
この時プルアップされたピンの電圧はどうなってるんでしょうか
0833774ワット発電中さん
垢版 |
2020/01/03(金) 15:24:29.93ID:FWoVyB0p
>>831
BE間電位差ゼロ→CE間電流ゼロ→プルアップ抵抗電流ゼロ→入力端子電圧=5V電源電圧→入力端子電圧ハイ
かな?
0834774ワット発電中さん
垢版 |
2020/01/03(金) 15:39:25.21ID:3ZlWwK6L
>>830
ESP-WROOM-02やESP32-WROOM-32は外部RAMが付いてない
外部RAMが付いてるのはESP32-WROVER-Bが載ってるやつ
0835774ワット発電中さん
垢版 |
2020/01/03(金) 15:42:01.56ID:3ZlWwK6L
ちなみに開発ボードではなくモジュール単体なら秋月にも売ってる

Wi−Fiモジュール ESP32−WROVER−B
http://akizukidenshi.com/catalog/g/gM-13689/
1個 ¥530(税込)

■特長・主な仕様
・対応無線規格:
・WiFi:802.11 b/g/n
・Bluetooth v4.2 BR/EDR、BLE
・MCU:ESP32D0WD
・SRAM:520KB
・PSRAM:8MB
0836774ワット発電中さん
垢版 |
2020/01/03(金) 17:33:53.67ID:VRfoo2Yd
>>829
たかだか8MのRAM載ってるだけで3倍くらいするんじゃあ…
しかもSPI接続って意味なくね?
>>830
いいいね、1つずつポチってみたよ
>>835
安いと思ったら単体じゃん、論外だわ、何で持ち出した?
0838774ワット発電中さん
垢版 |
2020/01/03(金) 17:46:09.67ID:3ZlWwK6L
>>836
パチもんじゃなくてEspressifの正規品だからね
日本国内の販売なのでそのマージンも載ってる
0839774ワット発電中さん
垢版 |
2020/01/03(金) 17:54:32.73ID:3ZlWwK6L
>>836
Arduinoからは話がそれるがインターフェースのESP32の特集記事で
MicroPythonのPSRAM版があってヒープが3.6MBになるらしい
PSRAMがないやつだとヒープが140KBくらいになるらしい
0840774ワット発電中さん
垢版 |
2020/01/03(金) 23:44:48.23ID:3ZlWwK6L
32bitマイコンを使ったArduinoもあるがちょっと標準の機種から外れるだけで
完全な互換性は無いからライブラリを自分で読んで自分のに合うように変更する必要があったりする
そうなるとただのC++だからな
初心者には難しすぎる
0841774ワット発電中さん
垢版 |
2020/01/03(金) 23:56:10.04ID:h7+aSJ9t
Arduino UNOはCPUのクロック周波数たったの16MHz
Raspberry Pi Zero WHのクロック周波数は1GHz
0842774ワット発電中さん
垢版 |
2020/01/04(土) 00:09:05.14ID:6KspIbVV
全く用途が違うその2つをクロックだけ比べて突然どうした
0844774ワット発電中さん
垢版 |
2020/01/04(土) 02:02:58.44ID:ZzoCqwqQ
掲示板関連初投稿になります

以下のURLにある「Arduinoで鉄道模型のコントローラを作ってみたお話」を参考に
コントローラアダプタを作っているのですが、

https://qiita.com/Matrix5411/items/faa7df4290467d32fe9b


以下のURLのプログラムデータをArduinoにスケッチしようとするとエラー表示になってしまいます

https://github.com/KeKe115/Densya_de_go


こちらを解決したいのですがどうすればよろしいでしょうか?
情報お願いいたします。
0845774ワット発電中さん
垢版 |
2020/01/04(土) 02:28:16.27ID:/uUQ30M5
>>844
エラーの詳細がないと原因を特定するのが難しいが
#include <GPSXClass.h>これに対してのライブラリをインストール済み?
0846774ワット発電中さん
垢版 |
2020/01/04(土) 02:33:37.61ID:U1OI7YkM
GPSX.hをテキストエディタで開いて
#include <wiring.h> を
#include <wiring_private.h> に書き換える
0847774ワット発電中さん
垢版 |
2020/01/04(土) 03:22:53.35ID:ZzoCqwqQ
>>845

いえまだ初心者ですのでライブラリ自体のインストールがまだわからないのがありまして…
「ライブラリ」データでしたらこちらのURLにある「Arduino用PS2インターフェース・ライブラリ」からダウンロードしました

http://pspunch.com/pd/library.html


そこから先はわからないです。

インストール方法はどのようにすればよろしいでしょうか?
0849774ワット発電中さん
垢版 |
2020/01/04(土) 05:26:10.58ID:nC7YCn7h
名前見えてるぞ
0850774ワット発電中さん
垢版 |
2020/01/04(土) 06:27:29.84ID:55eVMRTV
>>830
これって 32S ですよね。
書き込みエラー対策済みですか?
32D との違いは無いのでしょうか?サイズ的な所とか?

とりあえず Nano で限界っぽい所まで作りました。
他にも色々と情報を表示してたのですが、とりあえずプログラムを
分割して一部分だけで動作させてます。
https://streamable.com/e90dw
0851774ワット発電中さん
垢版 |
2020/01/04(土) 09:57:54.35ID:NtHa52AM
>>850
なのはグラフィック画面使おうとするとメモリ少ないよね。
aqm0806とかのテキスト画面じゃだめなかんじ?

そういうのは8266にしてる。
グラフィック画面が必要なほど複雑な用途は大抵wi-fi必要な用途だし。
8266ならSSD1306系のディスプレイ2つ使えるよ!
0852774ワット発電中さん
垢版 |
2020/01/04(土) 19:45:19.96ID:O7zfCOPE
ESP32でもI2Cで128x64全体転送するのに22ms位掛かるからメモリはあっても
あまり気楽には使えないぽ
0853774ワット発電中さん
垢版 |
2020/01/05(日) 02:25:41.47ID:dATgJUio
arduinoでデータをとってPCにそのまま送ってるんですけど
PCで動画とか見たりすると電源にノイズが入るみたいで負荷がある間のデータがおかしいんです
PCからくるUSBの5Vをきれいにする方法ないでしょうか?
0854774ワット発電中さん
垢版 |
2020/01/05(日) 02:34:17.93ID:6HNpAIRF
それならPCじゃなくて100vコンセントから電源取ったほうがいいよ
0855774ワット発電中さん
垢版 |
2020/01/05(日) 02:36:05.04ID:uDdfDz4B
>>853
Arduinoがどの種類かわからないのだが
UNOだとしたらUSB電源の問題じゃないと思う
もう少し詳細な情報がないと何とも言えない
・Arduinoの種類
・通信手段、速度
0856774ワット発電中さん
垢版 |
2020/01/05(日) 04:53:34.16ID:+5EK8hlo
>>853
動画見る>CPUやビデオカードに負荷>ATX電源の容量不足>5Vが不安定
PCの電源見直すか、ACアダプタ買ってArduinoは別電源にするか
私ならACアダプタ
0857>
垢版 |
2020/01/05(日) 08:32:03.26ID:yufQYsOp
>>853
シリアルバッファの扱いが甘いんじゃない? データ受ける方は何でどういう設定?
シリアルの速度落としても変わらない?
0858774ワット発電中さん
垢版 |
2020/01/05(日) 14:35:10.37ID:zTFZgLI2
バイクのスピードメーターを作りたいんだけど、画面の更新スピードがおそいんだ。
tft.
oled.
spi色々試したけど、文字が大きいと綺麗にカウントされていない。
何か良い表示モジュールは無いですかね?
0859774ワット発電中さん
垢版 |
2020/01/05(日) 14:37:52.65ID:6HNpAIRF
ターミナルブロックって結構便利ね
ブレッドボードに直挿しだとグラグラしたり抜けたりすることがあったけどこれなら安定してよい
0860774ワット発電中さん
垢版 |
2020/01/05(日) 14:48:05.76ID:uDdfDz4B
>>858
いろいろ混じってる・・・
TFT 液晶の駆動方式 {TFT・STN等}
OLED 表示方式の種類{液晶・OLED(有機EL)
SPI 液晶パネルとの通信方式{SPI・2IC・パラレル}

表示モジュールではなく、表示モジュールに送信してるマイコンの速度が足りない事もあり得るのでは?
SPIでも速度を上げる余地はあるのでは?
画面の書き換え方法の工夫で改善できるのでは?

あと、似たような事を考えたことがあるが
夜なら良いけど、昼使うには実用的な明るさ出来ないよ
0861>
垢版 |
2020/01/05(日) 15:38:47.47ID:HMVG4qBy
>>858
TM1306とかMAX7219使って7SEG系は?
0863774ワット発電中さん
垢版 |
2020/01/05(日) 16:08:45.02ID:u8kkNCPh
そう言えば屋外で白黒SSD1306を見たら印刷物の様な不思議な感覚だった
0867774ワット発電中さん
垢版 |
2020/01/06(月) 15:46:52.95ID:QexlHvR4
基盤って金属の上におくとショートして壊れたりする?
0869774ワット発電中さん
垢版 |
2020/01/06(月) 15:57:12.80ID:QexlHvR4
>>868
浮かせてないと駄目?
木とかプラスチックとかゴムとかは?
0870774ワット発電中さん
垢版 |
2020/01/06(月) 16:42:41.01ID:927fF2wz
表示が遅いんじゃなくて、速度測定が遅いんだと思う。
どういう風に測定してるんだ?
GPSなら1秒以上はラグあるぞ
0873774ワット発電中さん
垢版 |
2020/01/06(月) 19:51:42.26ID:wev4TyYe
> バイクのスピードメーター
> 文字が大きいと
デジタル表示なら60fpsくらいだともう下桁見えないから
20fps程度に間引く処理が必要なんだけど
アナログメーター風とか凝ったデザインじゃないなら
7セグLEDでいいんじゃね大きなのもあるし表示も速い
バーになったの使えばバー表示とかpeak holdもできるよ
0874774ワット発電中さん
垢版 |
2020/01/06(月) 20:29:41.44ID:F2LjnUxU
>>847

さん

ありがとうございます!GPSX.zipをライブラリに読み込むことができました。
その後

>>846

さんの

GPSX.hをテキストエディタで開いて
#include <wiring.h> を
#include <wiring_private.h> に書き換える

を行い、コンパイルをしたら、問題なくできました。
Arduino UNOにも不具合なく書き込みができ、完成しました。

これで問題点がなくなりました。

本当にありがとうございます!!!
0875774ワット発電中さん
垢版 |
2020/01/06(月) 20:30:45.43ID:F2LjnUxU
すみません間違えました

>>848

さんでした

申し訳ありません
0876774ワット発電中さん
垢版 |
2020/01/06(月) 21:27:36.32ID:ICtkS8Nj
無駄に改行が多くても読み難いだけなので 必要がなければ改行しなくていいよ
まぁ表示する環境は人それぞれではあるけれど…
0880774ワット発電中さん
垢版 |
2020/01/07(火) 12:50:54.22ID:xn9JEjEs
アーデュイーノじゃなくてFPGAが乗っかった基板だけど、
電源が入ってる状態でネジを落として壊した事がある。それがトラウマでデバッグの時は金属ネジを使わなくなった。

仕事で作る製品はすべて金属ネジだけど、そもそもArduinoの板なんかはネジ穴にレジストが掛かっているから
ケースへの導通とか考えなくていいからね
0881774ワット発電中さん
垢版 |
2020/01/07(火) 12:57:32.83ID:Ai1QdYng
電源LEDが緑色の中華Pro Microが欲しいんですがAmazonだとどの業者が扱ってる分かる人いたら教えてほしいです
HiLetgo、Rasbee、EasyWorldMallは赤色でした
0883774ワット発電中さん
垢版 |
2020/01/07(火) 13:16:19.75ID:lD/DhM3P
USB電源ってPCから出てるやつじゃなくて
携帯電話を充電するようなUSB電源でもいいの?
0884774ワット発電中さん
垢版 |
2020/01/07(火) 13:18:11.64ID:6qV/rcq8
>>883
当たり前
0886774ワット発電中さん
垢版 |
2020/01/07(火) 13:20:57.55ID:lD/DhM3P
アンペアも何でもいいの?
急速充電とか高いみたいだけど
0887774ワット発電中さん
垢版 |
2020/01/07(火) 13:30:14.78ID:6qV/rcq8
そんな大電流流れないから関係ない
安いので充分
別に急速充電のでもいい
それ使ったからって大電流ながれるわけではない
0888774ワット発電中さん
垢版 |
2020/01/07(火) 13:31:56.34ID:lD/DhM3P
なるほど
おしえてくれてありがとう
0889774ワット発電中さん
垢版 |
2020/01/07(火) 15:07:50.40ID:3IfEsCqJ
何年か前にドコモでもらったモバイルチャージャー、
arduino用の電源で活用してるわ。
ただ、電流少ないと、途中で止めちゃうことあるんだよね。要注意。
乾電池6本にDCDC付きモジュールつなげたモノも使ってる。
0890774ワット発電中さん
垢版 |
2020/01/07(火) 19:29:56.48ID:8XNeot0O
ESP32なんかはWiFi使うと瞬間的に1A超えたりするから、逆にPCのポートだと危なかったりするね
0891774ワット発電中さん
垢版 |
2020/01/07(火) 21:55:37.04ID:EqodRfGn
RaspberryPI用のACアダプタが店頭販売で安売りされてたことがある。
3Aぐらいまで対応してたはず。。。

安く済ませるなら100均で単三x2で駆動できるUSBチャージャーがある。
ATMegaなら十分使えるし、小さくて便利良いよ!
箱に組み込む時のテストとか、手元で扱えるよ。
0892774ワット発電中さん
垢版 |
2020/01/08(水) 02:05:47.61ID:nYZvpgC1
for (byte i=0; i<100; i++) asm("nop");
これは何クロックかかりますか?
0893774ワット発電中さん
垢版 |
2020/01/08(水) 02:09:59.63ID:DkgYNz1e
コンパイルして命令数カウント
0894774ワット発電中さん
垢版 |
2020/01/08(水) 06:18:25.95ID:4Cidskgx
圧電ブザーだけどPro Miniだとそれなりの音量で鳴るけどATtiny13だととても小さな音しか出ないんですがマイコンによって何が違うんでしょうか?
鳴り方もPro Miniだとピッピッって感じだけどATtiny13だとココッココッっていう機械音みたいな感じです
0895774ワット発電中さん
垢版 |
2020/01/08(水) 06:22:43.22ID:4Cidskgx
>>894
自己解決
さすところ間違えてました
あとブザーの音量を大きくするにはもっと大きなブザーにしなきゃいけないんでしょうか?
0896774ワット発電中さん
垢版 |
2020/01/08(水) 06:43:41.81ID:je4p+iad
>>895
大きいサイズに変更、電圧を上げる、が正解なんでしょうけど、
たぶん聞きたいのは、
貼り付けるケースなどを振動しやすいものにする。でしょうか?

>>892
gccの吐き出すニーモニックを見れば分かる。
ちなみにオプティマイズによって単純ループを展開するか、
そのままループを行うか?によっても変わる。
スピードを求めるなら前者、サイズを小さくするなら後者。

で、それを知ってどうするの?
興味本位なんだろうけど、知る必要がある人は、計測の仕方も知ってる。
0898774ワット発電中さん
垢版 |
2020/01/08(水) 07:20:33.60ID:Ss3HMj8D
>>895
現状が裸の圧電素子みたいなもの(A)だったら、共鳴板を兼ねたケースに
入れるだけでもかなり変わりますが、すでに(B 発振回路無)のようなものをお使いですかね。

駆動電圧を上げると音は大きくなります。
(C)のようにすると実質2倍ですが、コイルを使って昇圧する方法もあります。
100均 防犯ブザー 回路 でぐぐってみてください。

100均の防犯ブザーでもすげえ大きい音がします。試したことがなかったら
ぜひ一度買って鳴らしてみてください。
ってか鳴動部分は、防犯ブザーをそのまま使うのもありかも。
0899774ワット発電中さん
垢版 |
2020/01/08(水) 10:26:35.43ID:oN9p418q
>>898
Bが何か運んでるみたいでかわいい
0902774ワット発電中さん
垢版 |
2020/01/08(水) 15:56:21.13ID:oN9p418q
>>900
その味方もあるけれどもう一つの味方もあるよ
Aがドーナツみたいな生き物に足がついてる生き物で
右が目玉焼きみたいな生き物が両手で目玉焼きみたいなものを持っている様に見える
0903774ワット発電中さん
垢版 |
2020/01/08(水) 16:05:11.56ID:Pq+NFInK
>>902
実は最初そんな感じに見えてたんだけど、今はもう棒人間がでかいのを抱えてるようにしか見えなくなってるんだ、自分の脳はw
0907774ワット発電中さん
垢版 |
2020/01/09(木) 01:43:14.11ID:nVyeb+mQ
mbedはまた別だなぁ
でも他にスレが立ってなかったらここでも良いんじゃね?
0908774ワット発電中さん
垢版 |
2020/01/09(木) 02:51:41.69ID:kEMtnqkr
>>905
STM32H747XI dual CortexR-M7+M4 32bit low power ARM MCU
って。。。ATmel 辞めたんか?

>>906
Arduino が ARM採用 したんだから、一緒じゃないといけなくなった?w
0909774ワット発電中さん
垢版 |
2020/01/09(木) 07:04:50.47ID:nIfj1X9S
>>905のボードも

>Arduino sketches on top of the Arm&#174; Mbed OS
>Native Mbed applications

と書いてあるし。

ARMを高速な328Pとして使うだけならともかく、話題としては混じる部分も出てくるでしょうね。
0911774ワット発電中さん
垢版 |
2020/01/09(木) 09:41:04.98ID:eNRVKthW
Arduino nanoにワイヤードで接続されているセンサーを
分離してワイヤレスにする事は可能でしょうか?

調べ方が悪いのかArduinoをワイヤレスでPCから操作するとかそんなのしか出ないの

具体的には
通過センサーとその結果とかを表示するモニターをArduinoから切り離したい
0912774ワット発電中さん
垢版 |
2020/01/09(木) 12:05:54.21ID:DY4jqXKX
>>911
無線化だけならxbee、twe-lite、esp32とか、自前で赤外線通信とかでできる。目的がわからんから手間やコストに見合うかわからんが。
0913774ワット発電中さん
垢版 |
2020/01/09(木) 12:15:11.20ID:Yo4RAbGj
センサーだけをワイヤレスにすることは困難だから
センサーから値を読んでデータにして無線で飛ばす役のArduinoと
その無線で飛んできたデータを受け取って液晶に表示する役のArduinoに分ける感じになる

無線部分は電波でも赤外線でも色んなモジュールがあるしメリットデメリット様々
こう言うときのプロトコル(データのやりとりの決まり事)は自分で考える事になる
0914774ワット発電中さん
垢版 |
2020/01/09(木) 13:12:57.80ID:SeaNMWjU
>>911
できるできないで言えば、できる
だいたいセンサーって広範囲なんだから質問が雑すぎw

スイッチ的にON/OFFを知るだけのセンサー=開閉センサー、水位センサー、動態検知センサーなど
ONになったら赤外線LEDを光らせてArduino側でそれを受光する
受光素子を長い筒の底に入れるなどの工夫が必要になると思う

更にそれに波長を乗せる赤外線リピーター的なものを作れば
低速なプロトコル通信も可能だろう
0915774ワット発電中さん
垢版 |
2020/01/09(木) 15:37:30.59ID:Y8EtWN/7
センサーのデータを取得して赤外線を送信するマイコン(Arduino)が必要かと
0917774ワット発電中さん
垢版 |
2020/01/09(木) 20:23:34.34ID:SeaNMWjU
まあ1bitに限らなくても
NE555でパルス送って、CDSやサーミスタなんかでディーティー比変えれば
ラジコンのプロポとサーボの関係みたく
マイコンなしでアナログ値が送れるよ
0918>>911
垢版 |
2020/01/09(木) 21:02:48.65ID:UDDn5+34
なんか難しそうですね
ド素人にはもっと勉強が必要かなぁ…
無線に関する参考書かPあれば教えてくださいお願いします
見ながらじゃないと何もわからんのです…
0919774ワット発電中さん
垢版 |
2020/01/10(金) 00:38:08.08ID:JFDhfvSJ
ラズパイzero2台用意して送信側と受信側に分けて実装するほうが手っ取り早くない?
ラズパイならwifiもBluetoothもできるし
0920>>911
垢版 |
2020/01/10(金) 01:30:35.76ID:M5mT93yT
どっちにしろ知識が絶望的に乏しいんだ…

今作ってるやつはオープンソースだから丸コピで
あとはワイヤレス化できれば便利に使えると思ってたんだけど
Raspberry Piだとゼロから始めるから難しそう
0921774ワット発電中さん
垢版 |
2020/01/10(金) 01:45:43.31ID:zJIBjGqf
センサーと315Mhzの無線モジュールと50円ATTiny13マイコンでおk
0922774ワット発電中さん
垢版 |
2020/01/10(金) 02:00:30.46ID:e0N9tVNA
受信モジュールの待機電流が限りなくゼロに近い無線モジュールて無いんかね

ESP32で相手からのWiFiを受信しようとすると常にWiFi有功にしてないといけなく
もの凄い消費電力になるけど、無線の受信だけならゲルマニウムラジオ的なノリで
トランジスタの漏れ電流位の消費電力で受信待機出来そうな
0924774ワット発電中さん
垢版 |
2020/01/10(金) 03:03:25.45ID:e0N9tVNA
単純なモジュールでも10mAとか喰わない? 電池駆動は無理かなて感じで
0928774ワット発電中さん
垢版 |
2020/01/10(金) 21:47:45.50ID:NpWWVWAD
どれくらいの量の通信するのかにもよるけど、受信機を間欠動作させてデータが来ない期間はスタンバイ状態にしておくとか
0930774ワット発電中さん
垢版 |
2020/01/11(土) 19:24:13.98ID:vYLr5B6+
調べても良くわからなかったので質問したいのですがI2C接続のI/Oエキスパンダを使用してsoftware serialは可能なのでしょうか
0931774ワット発電中さん
垢版 |
2020/01/11(土) 19:25:49.24ID:92N1XWuR
UNOでIOが足りなくなったら迷わずmegaの互換を買った方が色々と便利な上に解決するのも早いと思った
0932774ワット発電中さん
垢版 |
2020/01/11(土) 19:36:38.26ID:Hbg7svTl
>>930
100bpsでも10bpsでもシリアルはシリアルだという観点からすれば可能
シリアルなら115200は当然出るんですよね?という視点からすると不可能
0935774ワット発電中さん
垢版 |
2020/01/11(土) 21:47:53.02ID:afNjFXnF
>>931
何を今更。ただIOが足りない時はUNOでもTTLと組み合わせて経済的な合理理性や
使い易さなりをmega比較検討することは一案だと思う。抽象論ではなくて例えば
下などはATmega2560であれば単独でアドレスバスとデータバスをカバーできる。
「TTL4個の金額500円」 + 「UNO」 と ATmega2560 との比較も一考かなと。

ttp://susumutaniyama.github.io/HongKongArduino/
0936774ワット発電中さん
垢版 |
2020/01/11(土) 22:30:57.27ID:sgLGEgV8
車のキレーレス・スマートキーも、ずっと受信待機してるわけじゃん?
どっかのサイトで見たけど、あの仕組みはすごく弱い電波で低消費電力で受信待機してて、
信号を受信したらとりあえず起きて、出力を上げて次に本番の送信データを読み取るって書いてあった。

うる覚えなんだけど、これホント?
0937774ワット発電中さん
垢版 |
2020/01/11(土) 23:26:48.18ID:Hbg7svTl
標準プロトコルがあるわけじゃないからホントの場合もあればウソの場合もある
0939774ワット発電中さん
垢版 |
2020/01/11(土) 23:52:53.84ID:PId0ruOw
書き忘れたけどOSはWindows10でリレーとかで100vを強制的にOFFとかは無しね
0940774ワット発電中さん
垢版 |
2020/01/11(土) 23:54:42.84ID:8LEes4Ue
PCとArduinoをシリアル接続してウィンドウズ側にシリアル通信を監視して特定のコマンドを受信したらシャットダウンするプログラムを常駐させる
0941774ワット発電中さん
垢版 |
2020/01/11(土) 23:56:27.03ID:ebb0m72B
>>938
・PC側の常駐ソフトでArduinoからのシリアル通信を待つ。
・Arduinoから特定のコマンドを、その常駐ソフトが受けたら、その常駐ソフトがシャットダウンする。
0942774ワット発電中さん
垢版 |
2020/01/12(日) 00:10:14.56ID:vA5WTve3
PCの電源ボタンてワンポチしたときの挙動変えられなかった?スリープかシャットダウンか選べたと思うが
そしたら電源ボタンにフォトカプラでOK
0944774ワット発電中さん
垢版 |
2020/01/12(日) 00:25:42.09ID:B+DHPdRM
>>936
有ってる部分も違う部分も有ると思う
それにキーレスとスマートキーでは動作方式も違うと思う

以下はキーレス及びスマートキーの自作を試みたときに考えた手法
(デジタル通信はアナログ通信と違い受信器も消費電力が大きいのが大変)

◆キーレスの場合での省電力化の方法
送信機の方はボタンを押した時のみ電波を出すので待機電力は無いものとして考えれる
>送信時の消費電力を抑えるための方法
・送信時は1/500秒送信 24/500秒間停止を繰り返しながら1秒程送信する(約1/25の電力で送信できる)
>受信機の消費電力を抑えるための方法
・常時信状態では消費電力が多きので常に受信状態にするのを避ける
・例 1/20秒受信 9/20秒停止を繰り返す(約1/10の消費電力で待機できる)

◆スマートキーでの方法
・キー側が1/500秒送信 99/500秒停止 1/500秒受信 899/500秒停止を繰り返す(1/500の消費電力)
・車両側が2秒受信 8秒停止を繰り返 す(1/5の消費電力)
(↑の条件で10秒以内に信号を補足できる(運転者が車に向かってる状況))
車両がキーの信号を受信したら、タイミングを合わせて信号を送信する(その後暗号通信等のやり取りを)
(参考までに棒nRF24xxx無線モジュールをつかった場合のスマートキーの消費電力は約0.185mWかな)

両方とも気が向いたら作ろうと思い放置( ^ω^)・・・
0946774ワット発電中さん
垢版 |
2020/01/12(日) 01:03:47.10ID:zrQPSqtH
>>942-943
おおおー素晴らしい。

941だけど、もう何年もデスクトップPCを使ってなかったのでPCの本体に
手を入れる発想がなかった…。

そういう機会があったら使ってみよう。
0948774ワット発電中さん
垢版 |
2020/01/12(日) 01:20:29.87ID:3Hkz9lEZ
なんでデジタルだと受信待機の消費電力高いの?
受信強度に閾値を設定してなんか来たら次の受信から内容解読まで行うのだとダメなの?
0949774ワット発電中さん
垢版 |
2020/01/12(日) 05:36:16.74ID:YvfF7CXW
デジタルって突き詰めるとアナログ信号をサチらせて使ってるんだよね
だから消費電力も高いんだよ
0951774ワット発電中さん
垢版 |
2020/01/12(日) 10:40:49.88ID:zrQPSqtH
>>948

>受信強度に閾値を設定してなんか来たら次の受信から内容解読まで行うのだとダメなの?

普通のラジオの場合は、放送の電波の周波数は局ごとに違うから同調回路と
簡単なアンプで、ある程度の選局ができます。この場合なら「受信強度に閾値を設定して」が可能。

でも、デジタル通信の場合は同じような周波数にたくさんのデータが流れているのでこの方法では
実用になりません。いっけん混信だらけの電波の中から自分に関係のあるデータを拾うこと自体が
演算で行われています。
0952774ワット発電中さん
垢版 |
2020/01/12(日) 13:25:27.33ID:Oh/iVn4b
常にフーリエ変換しないとダメなのか
0953944
垢版 |
2020/01/12(日) 15:19:32.62ID:B+DHPdRM
>>948
>(デジタル通信はアナログ通信と違い受信器も消費電力が大きいのが大変)
>なんでデジタルだと受信待機の消費電力高いの?
>受信強度に閾値を設定してなんか来たら次の受信から内容解読まで行うのだとダメなの?

ちょっと誤解があったかもしれないので追記を

送信機は電波を出力するので消費電力が多い←これはその通り
無線で送信に対して受信は消費電力が少ないイメージがある
(アナログのAM/FMラジオ等は少ない消費電力で受信できるイメージが強い、実際少ない)
なので常に受信状態でも消費電力は大きくないイメージがある

しかしアナログの受信機と違い色々な行程での消費電力が大きくなってしまう
変調方式によっては強い電波を検知するまで受信を無視することもできるけど、
それだと強い電波しか受信できない現実的にはノイズだらけの中から自分宛の弱い電波を見つけ出す必要があるんだよ
そのために色々な処理やら計算やらで受信中の消費電力がそれなりに大きい
(私自身あまり詳しくないので今度勉強してみたいと思ってる)

もちろん送信機側の消費電力を無視すれば高出力の電波を出し、受信機で受信強度にしきい値を設定することも出来るとは思うが・・・
それか周りで同じ周波数使わないなら出来るかも(非現実的)
0954774ワット発電中さん
垢版 |
2020/01/12(日) 16:46:27.67ID:lz+taXty
>>953
違う

>(アナログのAM/FMラジオ等は少ない消費電力で受信できるイメージが強い、実際少ない)
受信だけなら、この通り。

通信は、(これに例えるなら)ラジオ側から返信が発生する。
これに電力が必要だから。
0956774ワット発電中さん
垢版 |
2020/01/12(日) 16:56:37.79ID:B+DHPdRM
>>954
受信状態で待機中の消費電力のことなんだけど・・・・
周波数を独占できてASK変調で通信するならラジオとあまり変わらいとは思うけど
実際にはそうもいかないからね
0957774ワット発電中さん
垢版 |
2020/01/12(日) 17:43:41.06ID:8k07T+Lb
使い方にもよるんだが、単なる検波整流ならダイオード1個で済むところを、
デジタルならわざわざ、ADして演算してプラス変位をだして、更にDAしなきゃならない。
0958774ワット発電中さん
垢版 |
2020/01/12(日) 21:33:59.72ID:NCAs2pGB
何MHz帯のモジュールだったか忘れたけど、以前ぐぐってたらシリアルで受信したデータが
自分の目当ての電波か、Arduino側でチェックサムとか使って確認しないといけない
みたいな話見かけたけど、WiFiの様な規格化された混雑帯域の物はまだしも
Arduino用のうんMHz無線モジュールとか言う類もそんな色々やってるの?
0960774ワット発電中さん
垢版 |
2020/01/13(月) 03:24:12.09ID:K130PKbu
DFPlayerで音声再生をしようとしてるのですが、
無再生時でもキーという電子ノイズが聞こえます。
DFPlayerはどれでも音が鳴るのか自身の作成環境が悪いのか、
参考までに皆さんのDFPlayerの動作状況を教えてくれませんか?
0962774ワット発電中さん
垢版 |
2020/01/13(月) 04:02:29.07ID:wlCZiM5J
3.3vぐらいか。データシートに4.2vがベストって書いてるな。リチウムイオンに丁度良いように作ってるな
とにかく、Arduinoを経由せずに電源から直接取るようにしたほうが良い
0963774ワット発電中さん
垢版 |
2020/01/13(月) 07:58:57.75ID:9SUlx5E7
>>960
内蔵アンプ経由?
他の方が言うように Arduino経由 を辞めても同じ電源から
DFPlayer と Arduino を取ると多少のノイズが乗ることがある。

完全分離は、面倒だと思われますので、ボリュームを上げたり
内蔵アンプを使わないでごまかすのが現実的?
あと LOUT、ROUT に 100uF程度のコンデンサを入れる。
0966774ワット発電中さん
垢版 |
2020/01/13(月) 13:23:08.29ID:K130PKbu
>>961
>>963

ご返答ありがとうございます。
ご指摘のようにarduinoからの電源で運用してます。

環境次第ではノイズを抑える事ができるみたいですね。
お二人のアドバイスを参考にやってみたいと思います。
0967774ワット発電中さん
垢版 |
2020/01/13(月) 15:26:58.23ID:9SUlx5E7
>>964
DFPlayer 側をプラス、外部機器側をマイナス。
ヘッドフォン接続なら以下の通り。

LOUT - (+)コンデンサ(-) - ヘッドフォンL
ROUT - (+)コンデンサ(-) - ヘッドフォンR
GND - ヘッドフォンGND

チップが同じものなので、Amazonのレビューに改造方法が
載ってます。

https://www.あまぞん.co.jp/dp/B0154PN2FU/
https://www.あまぞん.co.jp/dp/B01MQW7EEJ/
0969774ワット発電中さん
垢版 |
2020/01/13(月) 22:28:38.96ID:4f4xYA/V
A power supply with a higher rating than one amp could damage your Arduino.
って書いてあったんだけど、
このスレッドで聞いた時
>>886, >>887
アンペアは何でもいいって聞いたんだけど
違うの?
0970774ワット発電中さん
垢版 |
2020/01/13(月) 22:31:41.98ID:mkC2DN0y
そのサイト読めよ
0971774ワット発電中さん
垢版 |
2020/01/13(月) 22:38:13.19ID:4f4xYA/V
読んでもわからんから聞いておるのだが
0972774ワット発電中さん
垢版 |
2020/01/13(月) 22:42:05.29ID:GJ5OppE4
>>969
どこに書いてあったかを書くべき。

ここかな?
https://arduinotogo.com/2016/10/07/chapter-4-current/

Arduinoの回路にトラブルがあったときに、少ない電流しか流せないパワーサプライの方が
舞子回路の破壊につながりにくい、ということはあります。
0973774ワット発電中さん
垢版 |
2020/01/13(月) 22:46:06.61ID:JSu03GzS
ユーザーが回路を間違えてもレギュレータで電流が制限されるから基本的に問題は起きない。
0974774ワット発電中さん
垢版 |
2020/01/13(月) 23:23:22.81ID:qSbn891f
中華arduinoクローンのレギュレータ(ams1117)は良くショートモードで壊れるから、電源容量は大きくない方が良いんだろうか?
ただ1Aでもパーツ破壊するには十分だからなあ
0976774ワット発電中さん
垢版 |
2020/01/14(火) 00:20:01.42ID:pWqraceY
>舞子回路
マイコン回路だった…

この記事自体はかなりの初心者が対象に見えるし、安全な方に配慮している
のだと思う。
UNOだったら拡張コネクタのVIN(電源入力からダイオードを通したもの)を使った
回路を作っていてそこで何かを間違っているとかも含めて。

・回路が正しく組まれていれば、DCジャックから供給する電源の電流容量が大きくてもかまわない。
・DCジャックから電源を供給する場合、5V系の電源を使う回路だけなら、それは5Vレギュレータで電流制限がかかる。
・ただし、5Vレギュレータがタコなものならその限りではない。
・USBコネクタから、パソコン、充電器やモバイルバッテリで電源を供給する場合は、UNOなら500mAリセッタブルヒューズで保護される。
・ただし、リセッタブルヒューズは働くまでにタイムラグがあるし、実際には500mAよりずっと大きい電流が流れないと働かない。

習慣として、大きすぎる電源容量は実験には適さないと思う。(安全が確認された回路なら大きくてもいい)
個人的には、組んで最初に電源を投入するときは、電源装置の出力電流を少し絞り気味にしている。

かといって、いまどき、小さすぎるACアダプタなんて、入手が難しい場合もあるだろな。

・できれば小さい電流容量のものも持っておく。
・1Aを超えるものだからといって、記事の「ダメージを与えるかもしれない」の「かもしれない」にいきなり該当することはない。
ということでいいのでは。
0978774ワット発電中さん
垢版 |
2020/01/14(火) 08:39:00.59ID:kYjTT+bp
>>976
USB電源のリセッタブルヒューズって互換機についてないの?
Elegooの互換機には付いてる?
それに3Aの充電器とかつかったらやばい?
0981774ワット発電中さん
垢版 |
2020/01/14(火) 09:13:19.38ID:kYjTT+bp
書いてある文字はちがうけど同じのついてた
これなら大丈夫やな
0982774ワット発電中さん
垢版 |
2020/01/14(火) 18:22:28.47ID:wFJON8FV
>>979 これ俺の持っているヤツ。古くなってきたから変え換えたいんだけど、
秋月見たらArduino Nano Every((ATMega4809)が売ってるから、これにしようかと,安いし(値段1/3)、メモリも3倍
0983774ワット発電中さん
垢版 |
2020/01/14(火) 22:49:20.23ID:9tKG64DZ
Arduino Aから別のArduino Bを制御したい(LEDとブザーを鳴らす)

Arduino A(ESP32) の2ピンと5ピンをArduino B(Tiny13aまたは85)に繋ぐ
LEDを光らせたい時はArduino Aの2ピンをHIGHに、ブザーを鳴らしたい時は5ピンをHIGHにする
Arduino B側のアナログ入力の2ピンや3ピンに入力があればLEDやブザーを鳴らす

これだと、LEDやブザーの鳴らし方のパターンはワンパターンしか鳴らせないです。
LEDの光らせ方やブザーの鳴らし方のパターンを増やしたい場合は、Arduino Aの出力のピンとArduihno Bの入力のピンを増やせば簡単に出来ますが、それだとパターンの数だけピンが必要になってしまいます。

Arduino A側の出力をPWMのピンを使えば、PWMの間隔を変えることでLEDやブザーのパターンごとに分けられそうな気がするんですが、
こういう事は可能ですか?
参考になるようなスケッチがあれば教えて欲しいです。よろしくお願いします。
0985774ワット発電中さん
垢版 |
2020/01/14(火) 23:09:12.10ID:khrAk8yp
そういう時のためにいろんな通信手段があると思うのだが
プロトコルを自分で開発しなくてもArduinoには便利なものがたくさん装備されてるよ
UARTでもI2CでもSPIでも使ってパラメータをやりとりすればよかろう
0986774ワット発電中さん
垢版 |
2020/01/14(火) 23:31:15.17ID:9tKG64DZ
>>984
>>985
どうもありがとうございます
ソフトウェアSPIを使う事でATtiny13a側は1つのピンだけですみそうです
繋ぎ方はわかったんですが、ESP32側とATtiny13a側はそれぞれどういうスケッチを書いて通信するんでしょうか?
0989774ワット発電中さん
垢版 |
2020/01/15(水) 08:33:38.65ID:2mwO/p6o
あまりに初心者すぎる質問なのですが、シリアルポートからの入力をwebページに使うのってどうすればいいのですか
シリアルモニタに表示される内容をwebページに投げたいんです
使用機器はardiuno,IDEはardiunoIDEです
なにとぞ…何卒よろしくお願いします…!

個人的にhttpにRequestを投げる感じになるのかな?って推測してるんですが、キーボード入力をwebページが受け取る感じでもrequestを逐一送る感じなのでしょうか…?
0990774ワット発電中さん
垢版 |
2020/01/15(水) 08:50:25.46ID:jtZH8oqH
>>989
まず、ESP-WROOM-02もしくは32でWebServerを構築する
次にESP-WROOMのシリアル入力を閲覧できるページを作る
ターゲットのArduinoシリアル出力をESP-WROOMシリアル入力を接続すれば
3DプリンタやCNCなどの動作監視がどこからでもできるね
便利そうなので俺も作ってみるわ
0991774ワット発電中さん
垢版 |
2020/01/15(水) 10:12:54.77ID:Ve8rcKwf
>>989
非同期にやり取りする仕組みなら、NODE.js WebSocketをキーワードに探してみたら良いと思う。
動作環境はMaddable-SDKかな
0994774ワット発電中さん
垢版 |
2020/01/15(水) 17:20:56.96ID:rRGxPAV9
質問です
4Gの通信でArduinoのプログラムを書き換えることはできますか
0995774ワット発電中さん
垢版 |
2020/01/15(水) 21:03:17.67ID:8w9SXJ6G
PWMの3Vって最大3ボルトのLEDとかに使っても大丈夫なのか?
0997774ワット発電中さん
垢版 |
2020/01/16(木) 09:38:48.14ID:LsoctuB6
Nano EveryにはISP端子が無いんですがどうやってブートローダ書き込むんでしょうか?
0999774ワット発電中さん
垢版 |
2020/01/16(木) 10:51:30.31ID:LsoctuB6
>>998
どうもありがとうございます
プログラマ作れないかとググってたらjtag2updiが見つかりました
Pro Microでもこれ使えますか?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 124日 19時間 2分 49秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。