X



トップページ電気・電子
1002コメント434KB

Arduino初心者熱烈大歓迎質問スレ part25

■ このスレッドは過去ログ倉庫に格納されています
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/
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
みんな凄いなあ 初心者から見るとカッコいい〜
オレも頑張るぞっと 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----アナログ入力
     |
    センサ
     |
   グランド
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況