X



トップページ電気・電子
1002コメント367KB
Arduino初心者熱烈大歓迎質問スレ part33
レス数が1000を超えています。これ以上書き込みはできません。
0001774ワット発電中さん
垢版 |
2021/12/07(火) 10:52:54.82ID:015O2ewy
http://www.arduino.cc/

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

前スレ
Arduino初心者熱烈大歓迎質問スレ part31
https://rio2016.5ch.net/test/read.cgi/denki/1623898761/
Arduino初心者熱烈大歓迎質問スレ part32
https://rio2016.5ch.net/test/read.cgi/denki/1633840724/

過去スレ
Arduino初心者熱烈大歓迎質問スレ part30
https://rio2016.5ch.net/test/read.cgi/denki/1613577696/
Arduino初心者熱烈大歓迎質問スレ part29
http://rio2016.5ch.net/test/read.cgi/denki/1601349163/
Arduino初心者熱烈大歓迎質問スレ part28
https://rio2016.5ch.net/test/read.cgi/denki/1591734520/
Arduino初心者熱烈大歓迎質問スレ part27
http://rio2016.5ch.net/test/read.cgi/denki/1585316143/
Arduino初心者熱烈大歓迎質問スレ part26
http://rio2016.5ch.net/test/read.cgi/denki/1579146318/
Arduino初心者熱烈大歓迎質問スレ part25
http://rio2016.5ch.net/test/read.cgi/denki/1568358922/
Arduino初心者熱烈大歓迎質問スレ part24
http://rio2016.5ch.net/test/read.cgi/denki/1554776918/
Arduino初心者熱烈大歓迎質問スレ part23
http://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part22
http://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
http://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
http://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/
0002774ワット発電中さん
垢版 |
2021/12/07(火) 10:54:28.20ID:015O2ewy
 ・プログラムは、レス内に直接書き込まず右記を利用しましょう。
  http://codepad.org/ https://pastebin.com/
 ・解決したら結果報告しましょう。
 ・次スレは950が立てましょう。
  立てられない場合はレス番で代理を指定しましょう。
0007774ワット発電中さん
垢版 |
2021/12/08(水) 05:42:12.90ID:QXCUHhTB
質問です
もしかして手慣れてくればESP32でほぼ十分でいわゆるArduino自体はほとんど使わなくなったりしますか?
0008774ワット発電中さん
垢版 |
2021/12/08(水) 06:00:20.74ID:dR3Jt4VW
目的による
ESP32の弱点はGPIOが少ない、消費電力が大きい
IOは拡張IOやArduinoをスレイブデバイスとして配下に付ければいけど、
ラジオのコントロールやリモコンなどちょっとした事をバッテリー運用したい場合はTiny
0009774ワット発電中さん
垢版 |
2021/12/08(水) 07:25:51.29ID:Dd4vYVe0
リモコン実験で使う
IRremote.h
ってのはパソコンのどのフォルダにあるのでしょうか?
C:\Program Files (x86)\Arduino
を探しても見つかりませんでした。
0010774ワット発電中さん
垢版 |
2021/12/08(水) 08:46:53.48ID:Xaw6mRjj
>>7
ESP32はCPU、Arduinoは開発環境の名前だから、比べるのが間違ってる。
0012774ワット発電中さん
垢版 |
2021/12/08(水) 09:26:18.91ID:IGFabL6G
最強の定義が不明確、質問がポンコツです
・回路が簡単
・消費電力が少ない
・ノイズに強い
・周辺回路と親和性が高い
・一般的で理解しやすくメンテナンスが楽
すきなものをえらべ
0014774ワット発電中さん
垢版 |
2021/12/08(水) 09:54:01.78ID:XaIdyUUU
>>10
Arduino って書かれると、
IDE のことか、特定のボードのことか
Arduino 対応してるボード一般のことか
いわゆるArduino言語のことか
何を指してるのかわからないよね。
この板でさえそうなんだから。
0015774ワット発電中さん
垢版 |
2021/12/08(水) 10:45:36.16ID:rdfhVR4l
電子工作入門者・初心者の集うスレ 100
https://rio2016.5ch.net/test/read.cgi/denki/1635723041/
上のスレの862です

ボードが届いたので書き込みを実行しましたがエラーが出ます
どこか設定がまずいのでしょうか?

https://i.imgur.com/EqXYyqr.jpg
https://i.imgur.com/9CRzjOa.jpg
https://i.imgur.com/NPKK3W3.jpg

購入したボード
www.@mazon.co.jp/dp/B081DY8Z24
0016774ワット発電中さん
垢版 |
2021/12/08(水) 11:11:16.10ID:6lk0p1/G
>>15
なぜ画面のキャプチャを貼らずにスマホで撮る?
乱れてて読めんよ
それより、エラーメッセージをコピーして貼った方が良いけど
0017774ワット発電中さん
垢版 |
2021/12/08(水) 11:17:56.30ID:rdfhVR4l
>>16
ポート番号が間違っていた様でデバイスマネージャーで位置を確認して訂正したら書込み完了しました
初歩的なミスで申し訳ありませんでした

あとは配線して動作を確認してみます
0018774ワット発電中さん
垢版 |
2021/12/08(水) 11:18:47.49ID:6lk0p1/G
>>16
3枚目の写真の
プロセッサ:"ATmega328P(Old Bootloader)"

プロセッサ:"ATmega328P"
に変更でどうでしょう?
0020774ワット発電中さん
垢版 |
2021/12/08(水) 11:21:17.29ID:6lk0p1/G
>>9
うちの環境では、
スケッチのあるフォルダの下のlibraries以下にIRremoteがあってその中
0022774ワット発電中さん
垢版 |
2021/12/08(水) 11:23:56.11ID:rdfhVR4l
>>18
初歩的過ぎてすみませんでした
また動作で躓いたら相談させて下さい
0023774ワット発電中さん
垢版 |
2021/12/08(水) 11:33:35.46ID:6lk0p1/G
>>22
そのためのスレなんで質問内容は構わないけど
画面のキャプチャを取る方法は身につけてね
0025774ワット発電中さん
垢版 |
2021/12/08(水) 12:21:04.53ID:Dd4vYVe0
>>20
>>21
有りました。ありがとうござる。
0026774ワット発電中さん
垢版 |
2021/12/08(水) 12:55:29.87ID:QXCUHhTB
>>8
おお、ありがとうございます
電力が高かったんですね、知りませんでした
ESP32のモジュールにすれば便利だわ安いわでいいとこ取りだと思ってたら盲点でした
0029774ワット発電中さん
垢版 |
2021/12/08(水) 13:59:48.08ID:XwsMYIHD
>>24
画像をimgurにアップしてアドレス貼るとこまでは出来てるんだから何もSikiでなくてもええやろ
むしろ最近の人は逆にArduino IDEをスマホで使った方がいいのかも
https://togetter.com/li/943517
0030774ワット発電中さん
垢版 |
2021/12/08(水) 17:39:48.73ID:HCxV6nuw
>>29
此方はdebianスマホ使ってるから簡単にumpc化できるけど泥iosじゃ不便なんじゃね
003215
垢版 |
2021/12/08(水) 21:54:07.33ID:hEH61UUh
結線してボタンを押さずに動作する様になったのですが
スイッチが入ってから5秒くらいでスイッチOFFになりまた5秒くらいでONになるのを繰り返します
ONのまま変化させない様にするにはどこを変更すれば良いでしょうか?
void setup() {
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(3, INPUT);
digitalWrite(3, HIGH);
}
void loop() {
delay(1000);
digitalWrite(2, LOW);
delay(1000);
digitalWrite(3, LOW);
delay(5000);
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(3, HIGH);
}
0034774ワット発電中さん
垢版 |
2021/12/08(水) 22:09:18.06ID:XwsMYIHD
>>32
スケッチの各行の意味はわかってる?
その辺は調べて自分で習得する気はないの?

無いなら以下のようにしてください。
void setup() {
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(3, INPUT);
digitalWrite(3, HIGH);

delay(1000);
digitalWrite(2, LOW);
delay(1000);
digitalWrite(3, LOW);
delay(5000);
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(3, HIGH);
}
void loop() {
}
0035774ワット発電中さん
垢版 |
2021/12/08(水) 22:10:41.53ID:XwsMYIHD
この方が早いか
void setup() {
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(3, INPUT);
digitalWrite(3, HIGH);
}
void loop() {
delay(1000);
digitalWrite(2, LOW);
delay(1000);
digitalWrite(3, LOW);
delay(5000);
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(3, HIGH);

while(1);
}
003715
垢版 |
2021/12/08(水) 22:18:12.10ID:hEH61UUh
ありがとうございます
0038774ワット発電中さん
垢版 |
2021/12/08(水) 22:40:40.37ID:hLIMZpMi
「while(1);」のかわりにArduinoをスリープさせて消費電流削減、すなわちCO2削減!

#include <avr/sleep.h> // スリープライブラリ

void setup() {
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
}

void loop() {
delay(1000);
digitalWrite(2, LOW);
delay(1000);
digitalWrite(3, LOW);
delay(5000);
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(3, HIGH);

//スリープ処理
ADCSRA &= ~(1 << ADEN); // ADCを停止(消費電流 147→27μA)
set_sleep_mode(SLEEP_MODE_PWR_DOWN); //スリープモードの設定
sleep_enable(); //スリープを有効にする
sleep_mode(); //指定したモードでスリープを開始!
}
0041774ワット発電中さん
垢版 |
2021/12/09(木) 22:07:29.03ID:p4IPB7oH
上の条件でUSB書き込み装置のお薦めがありましたら、教えてください。
0045774ワット発電中さん
垢版 |
2021/12/09(木) 23:27:16.42ID:p4IPB7oH
Uno,Nano共に持っているで、当面は教えて頂いた方法を試してみます。
USBaspはpro miniに直で挿せないのが厳しいですが、安定してそうですね。
書き込み機によってはドライバやリセットの問題があるようなので、もう少し研究してみます。
0046774ワット発電中さん
垢版 |
2021/12/09(木) 23:50:37.32ID:U9hP+2pB
>>45
USBaspとPro miniの接続はピンヘッダーのオス・メスなんかで自作できますよ
一度作れば挿せばいいだけなので後々楽ですね
pro miniは接続に使うVCC,GND,RST,MOSI,MISO,SCKピンが片側に並んでますから作りやすいかと
0047774ワット発電中さん
垢版 |
2021/12/10(金) 09:56:02.23ID:3NlqNUpv
>>45
USBasp押しの人が多いみたいだけど、これはAVR用のライターなのでややこしくなるだけなので、
個人的にはお勧めしない。もちろん使えなくは無い。

ここは普通のUSBシリアルアダプタを買った方が安いし、汎用性も高い。

ちなみにインターフェイスチップはFDTIのFT232やProlificのPL2303が有名だけど、パチ物がいっぱい
出回っていて、互換性の問題で動かないことがある。また、Windowsはパチ物を発見するとドライバを
使えないようにしてしまうことがあって、話はさらにややこしくなる。

そんなことで、個人的にはCH340系の物をお勧めする。いろんなものが売られているけど、
Aitendoなら500円くらいが相場。なお、Arduinoで使うならDTRが出ていないと自動書き込み出来ない
ので注意。

で、>>41 はPro mini のコネクタに直接挿せる物は無いか、という質問なんだと思うけど、
ごめん、ピン配置まで合っている物は判らない、というこ調べたことが無い。
うちも、>>46が書いているように変換ケーブル作って対処している。
0048774ワット発電中さん
垢版 |
2021/12/10(金) 11:02:03.42ID:ISw4ndbe
>ここは普通のUSBシリアルアダプタを買った方が安いし、汎用性も高い。
同意

AVR用のライターを一生懸命推してる人がいるけど
Pro Mini買いましたという質問の主旨をはき違えてないか?
って気がして、俺は>>44のでいいと思う

もっとも質問者が納得しているようでそれならそれでいいんだけどねw
0049774ワット発電中さん
垢版 |
2021/12/10(金) 14:24:09.62ID:DbGAs70M
41です。沢山のご回答ありがとうございます。

>>44
理想的な商品です。
Arduino互換ボードの書き込みに使える、商品説明にあり、5Vと3.3Vの切り替えが出来る。
しかし現在在庫0なのが残念。新型も売り切れで入荷未定だそうです。

>>46
ケーブル自作は電子部品用の経験はありませんが、試してみたい分野です(自動車用有り)。
USBaspはArduino化など興味深い特徴があるので、研究用?に買いたいと思います。

>>47
ドライバとパチ物に関する情報、参考になります。
>DTRが出ていないと自動書き込み出来ない
これは重要な情報です。

>>48
スイッチサイエンスの商品ということで、初心者には安心感がありますね。
経済性?に難があるのと現時点では手に入らないのが悔しい。

3.3Vと5Vのどちらでも使える、直で刺したい、自動書き込み、ドライバ問題が解決済み、入手性と経済性そして信頼性等の条件を考え探しましたが、すべてを満たす商品は現時点では見つかりませんでした。
3.3Vという条件を落とすと、以下の商品が秋月にあったので、他の部品を注文するときに一緒に注文する事を検討しています。
https://akizukidenshi.com/catalog/g/gK-14745/
0051774ワット発電中さん
垢版 |
2021/12/10(金) 16:50:02.13ID:QWQ+Cl3p
>>50
紹介ありがとうございます。

当初、これを最有力候補にしていたのですが、秋月の商品紹介の画像で横五個並びの真ん中を拡大したものを見ると、6個のピンホールの一番下がRTSになっていました。
スイッチサイエンスの商品では、このピンがDTRになっています。
確認の為、AE-TTL-232R取扱説明書の回路図を見たところ、FT232RQからRTSから6PIN HEDに配線が繋がっていて、DTRは接続が無いのです。

現在のArduinoでは、自動リセットはDTRを使いRTSは古い仕様だという情報があります。
現在でもRTSでも自動リセットがかかりそうだ、という雰囲気もあるのですが、どうも確信が持てないので候補から外した、という経緯があります。
https://ht-deko.com/arduino/usb2serial.html

全く的外れの事を書いているかもしれませんが、ご指摘、ご指導頂ければ幸いです。
0054774ワット発電中さん
垢版 |
2021/12/10(金) 17:33:09.66ID:QWQ+Cl3p
41です
再度秋月のCH340E USBシリアル変換モジュール Type−Cを確認したところ、こちらもDTRではなくRTSになっていました。
https://akizukidenshi.com/catalog/g/gK-14745/

この商品は取説でもArduino Pro Miniとピン配列が同じ、と書いてあるので、50さんからおお勧め頂いたFT232RQも使える、という事になりますね。

やはりFT232RQを3.3Vと5Vの切り替えがあるので第一候補にいたします。
https://akizukidenshi.com/catalog/g/gK-09951/
0056774ワット発電中さん
垢版 |
2021/12/10(金) 17:53:59.67ID:3NlqNUpv
>>47です
>DTRが出ていないと自動書き込み出来ない
と書いたのは、
TXとRXしかコネクタに出てない物があるので、そういうのは使えないと言いたかった。
舌足らずですみません。RTSでもいけると思う。
0057774ワット発電中さん
垢版 |
2021/12/10(金) 17:54:07.69ID:QWQ+Cl3p
>>52
リンクの画像がうまく確認出来なのですが、自作の自動車用シフトライトを作っているので、小さなケースに組み込むため書き込み用のピンヘッダは自分も付けたくない、と思っています。

>>53
これはぜひ欲しいですね。下と一緒に購入決定です。
https://akizukidenshi.com/catalog/g/gC-09831/
0058774ワット発電中さん
垢版 |
2021/12/10(金) 18:01:31.41ID:QWQ+Cl3p
>>55
これは嬉しいです。調査ありがとうございます。自信を持って買えます。

>>56
情報出して頂けるだけで感謝です。
0059774ワット発電中さん
垢版 |
2021/12/10(金) 18:02:34.46ID:VsvJKNW/
>>54
私の知る限りではピン・アサインは2種類です。

◆FTDI USBコンバーター系のピン・アサイン
真上右から下記ピン・アサイン
1 GND
2 CTS
3 VCC
4 TXD
5 RXD
6 RTS

◆SparkFun Electronics系のピン・アサイン
1 GND
2 CTS#
3 VCC
4 TXD
5 RXD
6 DTR#

RTSとDTRは同じですよ。
今、一般的にはDTRが主流です。
DTRがPro miniから見て左から始まる物と、右から始まる2種類あり
機種に合わせてAliExpressから購入してます。
https://i.imgur.com/wbWnVmi.jpg
アリでどちらも送料込みで150円前後です。
0060774ワット発電中さん
垢版 |
2021/12/10(金) 18:05:06.61ID:cBfe7Qd4
>>57
使ってるうちにバネが緩んでくるけど
ちゃんとバネ部分を直しながら使えば非常に便利
ピンヘッダ付けたくないならこれに勝る方法は無いと思う
0061774ワット発電中さん
垢版 |
2021/12/10(金) 19:17:27.23ID:QWQ+Cl3p
>>59
実用上、RTSとDTRは同じものと考えていいようですね。
AliExpressの存在は最近知ったのですが、国内で最近Pro Mini3.3V互換機が高いので、初回特典クーポンを利用して買おうと思っています。

>>60
今まで探していたのはコレだ!という商品ですね。
Pro Miniは小型ケースに入れて使う事を想定していますが、プログラムの書き換えがあったとしても両バネタイプが活用できそうです。
0062774ワット発電中さん
垢版 |
2021/12/10(金) 19:24:13.88ID:WiuxOdxU
>>61
届くまで2〜3週間かかるのだけがデメリット
その間に手持ちのUNOやNanoでスケッチを練って完成度を上げときゃいいわけだけどね
0063774ワット発電中さん
垢版 |
2021/12/10(金) 20:28:04.42ID:k/tjxeuF
>>52
pogo-pin使った書き込み治具ですね。
私の場合は挟むとこは市販の洗濯バサミで作ったけど、耐久性が要る場合はこれが良いですね。
0065774ワット発電中さん
垢版 |
2021/12/12(日) 07:10:54.30ID:m8XQk1hE
普通のICクリップの先っちょを突っ込めるからそれで間に合うのだけど
0067774ワット発電中さん
垢版 |
2021/12/12(日) 10:18:22.49ID:peIpq2sR
AliExpressでpro mini用にいくつかシリアルコンバーターを買ったけど、
全部スケッチの書き込みが出来なかったわ。どれ買ったら良いんだろ・・・
https://i.imgur.com/iTriy4k.jpg
0068774ワット発電中さん
垢版 |
2021/12/12(日) 10:36:54.88ID:rqqM20q6
とりあえず正規のプログラマとか評価ボードを買うもんじゃないの?
初心者ならなおさら。
0070774ワット発電中さん
垢版 |
2021/12/12(日) 11:11:03.44ID:tav7+wb7
>>67
何一つ成功しないなら
・やり方が間違っている
・Prominiにbootloaderが入っていない、もしくは別のものが書かれている
・Prominiがハード的に壊れている
0071774ワット発電中さん
垢版 |
2021/12/12(日) 11:13:49.83ID:peIpq2sR
>>68
やっぱ高いけど正規品をかうのが近道ですかね
日本の販売店で買えばまず間違いないかな
>>70
ブートローダーもハード的に壊れてないから、
もしかしたらやり方が間違ってるのかもですねw
0072774ワット発電中さん
垢版 |
2021/12/12(日) 11:15:46.16ID:tav7+wb7
何一つ成功しないのにどういう根拠で壊れていない、ブートローダーははいっていると判断したのか不思議
0073774ワット発電中さん
垢版 |
2021/12/12(日) 11:19:52.42ID:yXaECRNs
これに正規品があるかどうかわからんけれど、まずは「わりと正規品に近いもの」を扱っている店で買ってみては。
https://www.switch-science.com/catalog/342/
https://www.switch-science.com/catalog/1032/

スイッチサイエンスがそういう店かw って言う人は好きにするといいです。

よくわからん人が、Aliで買ってうまく動かない場合、
自分が悪いのか、製品が悪いのか、を疑う比率って1:9ぐらいになると思う。
そういう場合、いろいろ取っ換え引っ換えしちゃう。
わりとまともだと思えるもので動かなければ、より強く自分のミスを疑えるからおすすめ。
0075774ワット発電中さん
垢版 |
2021/12/12(日) 11:26:00.62ID:tav7+wb7
Promini328ならArduinoIDEに標準で入ってるマネージャーで書き込みできるけど
Promini168はminiCoreとかの追加のマネージャー入れないと使えなかったはず
あと328Pではなく上位互換のPBもデバイスIDが違うといって蹴られることがある
「スケッチの書き込みが出来なかった」ていうだけでエラーメッセージも何も情報がないので判断きないけどな
0076774ワット発電中さん
垢版 |
2021/12/12(日) 12:03:01.46ID:peIpq2sR
>>72
>>74
普段はUSBasp使って運用してるんで壊れてはないだろうけど、
確かにブートローダーは書き込んでるつもりだけど、ちゃんと入ってるかどうか分からないねw
0077774ワット発電中さん
垢版 |
2021/12/12(日) 12:04:48.51ID:peIpq2sR
nanoで試作してUSBaspでpro miniに書き込んでて、あんまり不自由を感じないから
またあの試行錯誤をやるのかと思うと気が引けるw
0078774ワット発電中さん
垢版 |
2021/12/12(日) 13:01:18.16ID:j/XeL9bA
今までUSB−TTLは安物しか買ったことがなかったけど全てProMINIに書き込み出来た
CH340G(3種)、CH340E(かなり小さい)、CP2102、FT232RL、PL2303(当然パチ物)
HT42B534(使ったことがないし予定もないが安く売ってたら1回くらい使ってみようかな)

5Vと3.3Vと両方使う人はこれとかよさそうじゃない?
https://aliexpress.com/item/1005002810770255.html
0079774ワット発電中さん
垢版 |
2021/12/12(日) 15:45:50.51ID:tUdkXmfK
またUSBaspの人が出てきた。
その人はICSP書き込みを前提に話しをしているのてややこしくなる。
0080774ワット発電中さん
垢版 |
2021/12/12(日) 17:00:15.63ID:2LuXpJls
>>67
その状況でまだ自分のせいでなくモジュールのせいだと思い込んでるのが書き込めない理由
008167
垢版 |
2021/12/12(日) 17:43:33.68ID:3d+WRaR4
>>80
別にモジュールのせいだとは思ってないよ?
0084774ワット発電中さん
垢版 |
2021/12/12(日) 19:59:18.40ID:yXaECRNs
書き込めないのがモジュールのせいとは思ってないのに、「どれ買ったら良いんだろ・・・」とはこれいかに。
0085774ワット発電中さん
垢版 |
2021/12/12(日) 20:02:02.43ID:vR+zwmdE
中華はやめましょう
国内で正規商品を買いましょう
0086774ワット発電中さん
垢版 |
2021/12/12(日) 20:11:34.54ID:AXDtwENg
>>77
素朴な疑問だけど、IDEで下記Lチカは出来るの?
[ファイル]-[スケッチ例]-[01.Basics]-[Blink]
0087774ワット発電中さん
垢版 |
2021/12/12(日) 20:18:38.73ID:j6XJr2mm
nanoのバイナリをprominiに書き込むと、「俺はnanoだ」と嘘吐くprominiになるかも知れんのう
0089774ワット発電中さん
垢版 |
2021/12/12(日) 20:47:20.20ID:2LuXpJls
>>85
そう言われてみれば、国内で正規品買ったことない、全部中華製だわw
0090774ワット発電中さん
垢版 |
2021/12/12(日) 21:47:21.61ID:UPTfKZGn
Arduino IDEって使い辛いですよね。
もう少し使い易いエディタはないのかな?
0091774ワット発電中さん
垢版 |
2021/12/13(月) 00:29:58.20ID:ib2EVSwH
>>82
水子の祟りじゃないかなぁ。
あ、僕は童貞なので無縁ですが(^p^;)
0092774ワット発電中さん
垢版 |
2021/12/13(月) 01:29:35.61ID:Ud4NpL/R
Arduino IDE のバージョンとボードデータのバージョンの相性があって書き込めなかったりすることがあるな
ESP32でなにやっても書き込みできなくて、ボードデータのバージョン変えたらあっさり書き込みできて1日無駄にしたことがあるわ
0093774ワット発電中さん
垢版 |
2021/12/13(月) 15:03:15.88ID:KPMiC5iD
>>90
VSCodeがいいよ。
0094774ワット発電中さん
垢版 |
2021/12/13(月) 23:03:04.57ID:1Mb/NPZa
こんばんは
arduino同士を通信させたい場合、500mくらいだとどんな通信方式が最適ですか?速度は遅くても構いません
RS485あたりが伝送距離長くて良いかなと思っているのですが
0096774ワット発電中さん
垢版 |
2021/12/14(火) 00:20:07.86ID:th/fU0nh
>>94
線引けるならRS485がいいと思う。
屋外だろうから絶縁とか雷対策が必要だよ。
0098774ワット発電中さん
垢版 |
2021/12/14(火) 00:41:22.66ID:VmwMzSuh
無線通信はやっぱローラだよ!ウフフ☆オッケー♪
0101774ワット発電中さん
垢版 |
2021/12/14(火) 07:50:42.89ID:i4SlyIQI
>>100
逸般の誤家庭にはありまぁーす
0102774ワット発電中さん
垢版 |
2021/12/14(火) 08:24:29.26ID:laOMmGjq
>>95
ありがとうございます!
なるほど、無線という手もありますね!検討します。

>>96
ありがとうございます!
雷対策というとシールド線とか過電圧対策でしょうか?
0103774ワット発電中さん
垢版 |
2021/12/14(火) 08:24:46.94ID:laOMmGjq
>>97
月!?
0105774ワット発電中さん
垢版 |
2021/12/14(火) 10:12:21.78ID:PtQTN0Fb
それはEME(earth moon earth)と言って50年以上前から行われているんだけど、LoRaでやったのがちょっと面白い程度の話だと思う。
0110774ワット発電中さん
垢版 |
2021/12/14(火) 16:47:56.29ID:5MeMXbmY
月面反射

月に跳ね返すのはムーンサルトって言うんよ
地球の裏側にだって電波届けちゃうのさ
0111774ワット発電中さん
垢版 |
2021/12/14(火) 20:01:05.20ID:QBeVZrYO
ISSに手を振ったけど、見えたかな?
0112774ワット発電中さん
垢版 |
2021/12/14(火) 21:55:25.56ID:WXGS8brG
原野か牧場か河原か知らないけど、WiFiで八木とかパラボラのアンテナでLAN組むとか、
メディコン噛ませて光ファイバーの領分ではなかろうか。
0114774ワット発電中さん
垢版 |
2021/12/14(火) 23:08:33.53ID:JR0/rhgT
見通し良い所ならレーザー+フォトダイオードで挑戦してみたいな
0116774ワット発電中さん
垢版 |
2021/12/15(水) 17:00:04.29ID:cXiO5mPH
ハゲはズラで隠しても駄目、電波はお見通し
0117774ワット発電中さん
垢版 |
2021/12/15(水) 17:08:16.04ID:+iRnmQ5K
月で跳ね返した電波をハゲで跳ね返し直すのさ
月の裏側との通信だぜよ
0118774ワット発電中さん
垢版 |
2021/12/15(水) 17:20:48.27ID:tazv6lKu
宇宙のすぽらじっくE層(^p^)
0119774ワット発電中さん
垢版 |
2021/12/15(水) 21:10:41.45ID:XAAqVnUX
atmega328pを単体で使う場合、
追加のボードマネージャのURLにURLを追加する必要があると思うんですが、
具体的にはどのURLでしょうか?
0123774ワット発電中さん
垢版 |
2021/12/15(水) 22:26:11.75ID:C9LCkg06
UNOで書いてそのCPUを引っこ抜いて使うのじゃダメなの。
もちろんUNOには別のブートローダー入りのCPUを戻しとく。
0124774ワット発電中さん
垢版 |
2021/12/15(水) 23:05:12.03ID:XAAqVnUX
>>120, 121, 122
ありがとうございました。
0125774ワット発電中さん
垢版 |
2021/12/17(金) 09:10:45.35ID:EaYH1imQ
Unoとかに使われるAtmega328シリーズのスペックを見ると外部クロックで20MHzに対応しています。

ですが純正、互換機共にその大半は16MHz(若しくは半分の8MHz)になっています。
なにか意図があるのでしょうか?
16MHzのクリスタルだけ異様に安いとか?
0126774ワット発電中さん
垢版 |
2021/12/17(金) 09:37:10.13ID:iLQht2Bb
>>125
互換機でも純正品と同じにしないと互換性なくなるだろ。
何でUnoを16MHzにしたかなんて知らんけど。
0129774ワット発電中さん
垢版 |
2021/12/17(金) 11:28:41.81ID:1wAeTGzA
>>125
クロックを16MHzにしておくと、タイマーの時間をきっちりした値に作り易い。
ちなみに16MHzを64分周して4usで、これがmicros()の分解能。これを250回
割込みでカウントしてmillis()の1ms。

もし20Mhzとかにするとプログラムがややこしくなって割込み性能が下がるし、
半端な値の水晶が必要になって割高になる。
だから、16Mhzの水晶の値段が安いから?という推理はあながち間違いで
はない。
0130774ワット発電中さん
垢版 |
2021/12/17(金) 11:48:37.48ID:+pQxpzKq
オリジナルのATmega8、Arduinoは16MHzで動作しました。
これは、使用されたATmega8の最高定格クロック速度でした。
ATmega168(最高CPU速度が20MHz)に「アップグレード」されたとき、クロックは16MHzのままでした(おそらく)

設計者は、追加の25%の高速化の恩恵を受けるよりも、
新しいクロックレートでより多くの人とコードに下位互換性の問題があると考えたためです。
俺は彼らが正しかったと思います。
0131774ワット発電中さん
垢版 |
2021/12/17(金) 11:49:28.36ID:+pQxpzKq
第二に、実際、私が聞いた最も良い理由の1つは、UARTが16MHzで実行しているときは
1Mbitと2Mbitのレートに完全に一致するが、20MHzで実行しているときは一致しないということです。
0132774ワット発電中さん
垢版 |
2021/12/17(金) 11:50:26.08ID:+pQxpzKq
3番目のポイントは、ATmega168・ATmega328の低電力の水晶発振器が16MHzを超えて動作していないことです。
したがって、XTALピンに20 MHzの水晶を接続している場合は、
より多くの電力を消費する(または水晶をまったく使用しない)フルスイング水晶発振器を使用する必要があります。
0133774ワット発電中さん
垢版 |
2021/12/17(金) 13:54:16.66ID:iLQht2Bb
>>131
1Mbps のUARTって標準的ではないからそこでピッタリになっても嬉しくないよね。
921600bpsならいいかな。
0134774ワット発電中さん
垢版 |
2021/12/17(金) 16:43:31.26ID:/vbHSGW3
UARTを4個増設したいんだけど、お手軽な方法は何かありますか?
調べたところでは、i2cでunoをつなげてポーリングするかな?と思っています。
親機はxiao(3.3V)です。
0136774ワット発電中さん
垢版 |
2021/12/17(金) 17:06:03.56ID:RI8O7e8T
横からですがソフトウェアシリアルってどうやって周波数を作るんですか?
タイマ割り込みとかで正確にできるんですか?
0137774ワット発電中さん
垢版 |
2021/12/17(金) 17:11:49.53ID:3C+JHiuq
>>135
Software Serial使えば良いかもです。
または、Serial2、Serial3と増やせるのかな?
0138774ワット発電中さん
垢版 |
2021/12/17(金) 17:16:39.01ID:3C+JHiuq
>>136
自分の理解では、多少の誤差があってもいい場合はクロックからとり、誤差が困るときは、unoだと外部にオシレータを付けられるので、そこからとるのだと思います。
xiaoで正確な周波数を生成する手段があるのかな?というのは疑問点です。
0139774ワット発電中さん
垢版 |
2021/12/17(金) 18:26:05.82ID:RI8O7e8T
>>138
ありがとうございます。
クロックから取るというのはatmegaのタイマ割り込みで行うってことですよね。
外部発振回路を使う手もあるのですねー
0144774ワット発電中さん
垢版 |
2021/12/19(日) 22:19:02.19ID:fZ/Inaeo
gpioとプログラムサイズを少しだけ328pより多く使いたいのですが、atmega64aはarduinoとして使えるんでしょうか?
調べたのですが、あまり詳しい情報が無いのです。
チップのみ組み込みたいので、安価で入手しやすいチップを探しています。
0145774ワット発電中さん
垢版 |
2021/12/19(日) 22:59:15.45ID:dqdY9sgR
AVRだし、ボード定義ファイルを作れば使えるんじゃないかな。
Arduino Pro Micro (ATmega32U4) オススメするけど。
0146774ワット発電中さん
垢版 |
2021/12/19(日) 23:02:57.06ID:cVu3onPW
>>144
Arduino IDEからでも使えますよ。

ボード情報
https://github.com/MCUdude/MegaCore
マニュアル
https://avr.jp/user/DS/PDF/mega64A.pdf

atmega328とタイマーとかレジスタの相違点を調べてプログラムすれば良いですよ。
ライブラリも対応してなかったり、atmega328のスケッチをコピペしただけじゃ動かないことが多いので
難易度は上がるけどね。
0148774ワット発電中さん
垢版 |
2021/12/20(月) 15:09:11.16ID:nPBqnxL6
>>145
atmega32u4はシリアルモニタが使いづらくてデバッグに手間がかかったので、やめたんです。慣れてる328pの上位verを探してます。
0149774ワット発電中さん
垢版 |
2021/12/23(木) 06:16:59.68ID:U9iXSMUs
ESP32 / ESP8266 のファームが新しくなってますね。
ArduinoIDE を使ってるとスケッチと同時に内蔵のファームが上書きされるから
意味ないけど。。。

ESP32 v2.2.0.0
https://docs.espressif.com/projects/esp-at/en/latest/AT_Binary_Lists/ESP32_AT_binaries.html

ESP8266 v2.2.1.0
https://docs.espressif.com/projects/esp-at/en/release-v2.2.0.0_esp8266/AT_Binary_Lists/ESP8266_AT_binaries.html
0150774ワット発電中さん
垢版 |
2021/12/23(木) 10:13:17.12ID:BjEwguOD
>>149
d

ところで、IRremoteって最近のバージョンは複雑でややこしくなってね?
昔のバージョンはサンプルもシンプルで使いやすかったのに。
ソフトウェアがバージョンアップで肥大化・複雑化する典型的パターンだな
0151774ワット発電中さん
垢版 |
2021/12/23(木) 11:51:24.06ID:uVQpX/ve
41です。
遅くなりましたが、pro miniに使えるUSBシリアルアダプタの件、
秋月のFT232RQを購入し、問題なく書き込む事が出来ました。
沢山のアドバイスありがとうございました。
0152774ワット発電中さん
垢版 |
2021/12/23(木) 11:52:24.79ID:uVQpX/ve
引き続き41です。

別件になりますが、5個のLEDを同時や走行点滅させるときスイッチ入力に
1、スケッチでINPUT_PULLUPで内部抵抗を使う
2、外部の回路に抵抗を入れる
以上ふたつの例で試した場合、1よりも2の方がキレ?がよく動作する感
じるのですが、いかがなものでしょうか。

1では微妙に引っかかる様に点滅するのに対し、2はテンポよく点滅する
という印象があります。

自分のスケッチがヘボだという事もありますが、ご意見ございましたら
よろしくお願いいたします。
0153774ワット発電中さん
垢版 |
2021/12/23(木) 12:10:28.74ID:7RkNSlBq
電気の講義で習うところの積分回路で、キャパシタンスに電荷を注ぎ貯めるときに
注ぐ電流量は電流制限抵抗の大きさによって増減するんだろうから、
オンチップの内臓抵抗よりも外付け抵抗の方が小さいような場合なら
急速に動作しても不思議じゃないんじゃね?よくしらんけど(はなほじ
0154774ワット発電中さん
垢版 |
2021/12/23(木) 12:28:26.49ID:SuYVXr7v
>>152
私はそういうふうに感じたことがないというかINPUT_PULLUPしか使ったことない。
外部の抵抗は何Ω?
抵抗低いほうが接点部の表面を僅かに覆う酸化被膜が絶縁破壊しやすいとかあるかも、、
nanoとか内部は10Kだった気が、、
0155774ワット発電中さん
垢版 |
2021/12/23(木) 15:14:03.75ID:j2Ayx8V1
早速のご回答ありがとうございます。
当方電気の基礎知識は小中学校レベルですので、とんでもない事を書くかもしれませんがご勘弁ください。

pro miniは車載で利用し、エンジンの最高回転(6500〜7200rpm)付近での動作を想定しています。
その際オルタネーターは14.5V程度の電圧を発するので、スイッチ入力として5V程に減圧するために分圧抵抗の利用を考えました。
抵抗値を決めるのには以下のサイトで、手持ちの抵抗を選んで代入し計算しました。
https://keisan.casio.jp/exec/user/1316485613

入力電圧(VIN) 14.5V
R1の抵抗値  470Ω
R1の抵抗値  420Ω
出力電圧(VOUT)4.9014…V
抵抗は極力小型に収めたいために1/6Wを使っています。
手持ちではR1 8.2kΩ、R2 3.9kΩが4.67V程度なのですが1/4Wなので物体?として大きいので使うのを躊躇しています。

>>153
外付け抵抗が小さい…、という点では合致しますが、当方の場合は小さ過ぎるのでは、とも感じています。

>>154
UNOの内部抵抗は30Ω程という記述がネットでみられましたが、pro miniの資料は見つけられませんでした。プルアップやプルダウンに外部抵抗で10kΩを使う例は数例見つける事が出来たのですが…。

抵抗は初心者には難解ですね〜。
0157774ワット発電中さん
垢版 |
2021/12/23(木) 15:46:57.89ID:7JmBruxo
Uno も pro mini も ATmega328Pだから
プルアップ抵抗は同じでしょ。
20〜50kΩ
0158774ワット発電中さん
垢版 |
2021/12/23(木) 16:29:24.64ID:j2Ayx8V1
41です。
当方の書き込み155に間違いがありました。


入力電圧(VIN) 14.5V
R1の抵抗値  470Ω
R1の抵抗値  420Ω
出力電圧(VOUT)4.9014…V


入力電圧(VIN) 14.5V
R1の抵抗値  470Ω
R2の抵抗値  240Ω
出力電圧(VOUT)4.9014…V

以上失礼しました。
0159774ワット発電中さん
垢版 |
2021/12/23(木) 16:29:57.92ID:j2Ayx8V1
>>156
抵抗だけではなく現時点では電子工作は全て難解ですね。
ギターで例えるとFが押さえられない、とかチューニングが出来ない、とかいうレベルだと思います。でも、そこで諦めると先に進めないという。
モノを作るのが好きななんですよ。クルマやバイクの模型はそこそこ作れます。

>>157
プルアップ抵抗はATmega328Pというマイコン自体に内包された機能なんですね。
0161774ワット発電中さん
垢版 |
2021/12/23(木) 16:38:43.72ID:7RkNSlBq
SW入れるとGNDと電源がR1で直結するのだとすると
流れる電流量I=E/R=14.5/470=0.03085A
R1の発熱量=I*I*R=0.03085*0.03085*470=0.447W
1/6≒0.16666
オーバーしまくりやー あかんやつやー・・・(^p^;)

SW OFF時:
流れる電流I=E/R=14.5/(470+240)=14.5/710≒0.0204
R1の発熱量Q1=I*I*R≒0.0204*0.0204*470≒0.1958W
Q1 > 1/6W

OFFでもあかんやつやー・・・(^p^;)
0162774ワット発電中さん
垢版 |
2021/12/23(木) 17:23:22.40ID:N3mviWQg
何故分圧した5Vをわざわざ作るのか。
ポートとGNDにスイッチ入れるだけじゃダメか?
0163774ワット発電中さん
垢版 |
2021/12/23(木) 18:06:13.72ID:5hZRN3Eb
外部プルアップするにしてもarduinoのVCCですればよいのでは。
0164774ワット発電中さん
垢版 |
2021/12/23(木) 21:06:02.81ID:j2Ayx8V1
>>160
pro miniの電源、回転数のレッド、イエローの信号の合計3系統用として以下のレギュレーターを用意してあります。
https://akizukidenshi.com/catalog/g/gM-06353/
小型で発熱が少ないという事でコレを選んだんだですが、ケースのスペースがきつくて電源以外は抵抗で空間を節約しようと思いましたが…
ケースはこちらです。
https://www.marutsu.co.jp/pc/i/4742/

ダッシュ裏に収めるのを目標にしていますので、USBチャージャーから配線を引くの抑え、クルマ自体の12V配線から分岐させる事を計画しています。

>>161
やはりダメでしたか(;_;)。
ブレッドボードで15V流し指先を15秒ほどあてて、熱くならないので大丈夫だろうと安直に考えていました。入力信号は2系統で、一つは長くても数秒、もう一つは一瞬しか流れないのでアマくみていました。
もう一度勉強しなおします。

>>162
実際は上下の余裕があるようですが、5Vが信号として使う電圧だという事なので降圧の手段として考えました。

信号はタコメーターから12Vで出てきます。以下の商品の商品のポルシェ用というモノで、現在は廃盤になってしまいました。
http://www.nagaidenshi.co.jp/METER/1930.shtml

>>163
すみませんm(__)m、浅学でご指導の意図を汲みかねるのですが、電源電圧を利用せよ、との事でしょうか。
当方も制作したい物の仕様を、はっきり提示していないのがいけないのでしょう。
0165774ワット発電中さん
垢版 |
2021/12/23(木) 21:30:57.03ID:2kbxufbF
スイッチ入力なのか信号入力なのか。信号入力ならプルアップは不要というか入れちゃ駄目。
0166774ワット発電中さん
垢版 |
2021/12/23(木) 21:37:13.07ID:nQ58CYd6
スイッチではなくて、12Vのパルスが入ってくるんだね。
電圧1/3にすればいいんじゃない?
手持ちの抵抗あるならこんな感じ。

PULSE
|
R
|
R
|-> PIN
R
|
GND
0167774ワット発電中さん
垢版 |
2021/12/23(木) 21:41:38.25ID:MQAfjfNd
抵抗分圧よりツェエナーのほうが
無ければLED、Vf3.0Vの青や白とVf1.8Vの赤を直列でクリップ
0169774ワット発電中さん
垢版 |
2021/12/23(木) 23:54:22.77ID:j2Ayx8V1
沢山のアドバイスありがとうございます。
>>165
自分はスイッチ入力と信号入力の区別がついておらず、誤解を与えていた様です。
タコメーターからの12VをトリガーとしてLED動作の切っ掛けとします。

>>166
抵抗分圧の一段目?を直列で二つに分けるのですね。実装のスペースに問題無ければ利用したいので研究いたします。

>>167
ツェエナーダイオード、手持ちはありませんが以下の商品を見つけました。抵抗を入れてもスペースを取らず抵抗分圧とスペースは変らず有力な手段だという気がします。
https://akizukidenshi.com/catalog/g/gI-06000/
LEDはウインカーを自作した時に余った物が各色沢山ありますが、5oのモノだとケーススペース的にキツいかもしれません。配置を試してみます。

>>168
周波数特性は降圧回路を組んだ際にArduinoに影響を与えるものでしょうか。難しい問題です。
0170774ワット発電中さん
垢版 |
2021/12/24(金) 02:57:23.73ID:mQMelyXo
12Vとか14.5Vとか書いてるが
車は平気で100V超えるノイズありうるから
いろいろえろえろ考えるがいい
0171774ワット発電中さん
垢版 |
2021/12/24(金) 03:30:38.63ID:n6rP8Txd
>>150
> ところで、IRremoteって最近のバージョンは複雑でややこしくなってね?

どこかのタイミングから、サポートチップも減ったはず。。。
互換チップが軒並み動かないらしい。
0172774ワット発電中さん
垢版 |
2021/12/24(金) 04:14:09.21ID:Mvs+kyI9
>>170
エンジン運転中はオルタネーターから14.4V出てくる仕様だけど
冬季のバッテリー弱ってる状態だとかなり出てるっぽい
自作の車載リモコンで絶対規格15VのAMS1117が焼けたわ
こうやって痛い目にあって経験を積んでくんやろうなw
0175774ワット発電中さん
垢版 |
2021/12/24(金) 09:43:39.95ID:t7h7x54h
>>172
横からですが焼けた理由が気になる。
オルタネーターからの出力の変動ですか?
ノイズ?
0176774ワット発電中さん
垢版 |
2021/12/24(金) 09:48:56.07ID:yX9uKtqI
なんでレクチファイアとかレギュレータの後じゃなくて
オルタネータなのか? という当然の問いに
交流信号として読み取って回転速度を知るためだろう、
という脳内問答を繰り広げていアナログ入力だと想定している人と、

オルタネータと言っているけれどレギュレータ通した後の直流安定化後の
電源を指しているのだろう、と考えている人との答えが混在している気が
するんやが 誰も確かめようとしないのはなんでなんや;
0177774ワット発電中さん
垢版 |
2021/12/24(金) 10:06:42.02ID:9lZ1IlLz
オルタネーターの出力で回転数をカウントするなんて誰も書いてないよ。
12Vはバッテリー系の電源電圧のことでしょ。
14Vくらいに上がるって書いてるし。

>タコメーターからの12VをトリガーとしてLED動作の切っ掛けとします。
0178774ワット発電中さん
垢版 |
2021/12/24(金) 10:29:09.52ID:oFChi8WX
車に詳しい訳じゃないから、わかる人が詰めてくれ。元質問も信号入力なのにプルアップ云々とか変な流れだったし。
技術的なところは初心者じゃわからないんだから、構想の所をまずは詳しく話してほしい。モノがわかれば仕様は詳しい人がいるだろうし。
0179774ワット発電中さん
垢版 |
2021/12/24(金) 10:44:44.06ID:BuunAk6a
OBDで電圧モニターしてると15.6Vくらい出てるからな
0180774ワット発電中さん
垢版 |
2021/12/24(金) 10:44:55.99ID:9lZ1IlLz
>>178

>>152
>別件になりますが
ってことでプルアップの話が出て来たからごっちゃになってるよね。

車速パルスを受けて何かやりたいんでしょ。
それを分圧するってだけだよ。
0181774ワット発電中さん
垢版 |
2021/12/24(金) 11:05:02.85ID:yX9uKtqI
以前、旧車の電装系レストア時に
点火タイミング制御の機械式接点の代わりに
オルタネータの出力でタイミング制御して高速域の最適化で
元よりも早い回転数に対応することに挑戦されていたブログを拝読したことがあったし、
オルタネータからわざわざとるのだから交流波形入力を使うのだろうという
推測も合理的な気もしなくもない、のだけれど、、、
今回に限れば、内部プルアップのスイッチと外部分圧とでは
スイッチの切れが云々というハナシが冒頭にあった気がするので
スイッチの付け方を悩まれているという解釈にも妥当性を覚えるんよなぁ・・・;
0183774ワット発電中さん
垢版 |
2021/12/24(金) 12:16:55.43ID:nuhP4soN
オルタネーターから取るのか…
似たようなことをしようとしてるけど
俺はクランクシャフトセンサーから取るつもり
0184774ワット発電中さん
垢版 |
2021/12/24(金) 12:58:07.30ID:iBV3ZOIh
>>183
なにそれ、クランク回転数とかトルクセンサが付いてんの?と思って検索したら、角度センサなんだ
今は点火タイミングも電子的にやるんだな、って当たり前か。。
0185774ワット発電中さん
垢版 |
2021/12/24(金) 13:17:03.22ID:g7CuMNUE
ライトとか普通にAC電源だから電源の変動から回転数は取ったわ
0188774ワット発電中さん
垢版 |
2021/12/24(金) 22:07:45.80ID:LgLrLCAb
41です。
断片的な情報で幾度か質問をした事により、皆さんを混乱させて申し訳ありません。
以下は今までの自分が出した情報をまとめ、足りないと思った部分を書き足しました。
また、課題となっている点を次のパラグラフとしました。

今更ですが、自分が作りたい物は、自動車で特定回転になるとランプが光り注意喚起を促す、俗に言うシフトライトというモノです。
F1の中継などをみていると、ハンドルの上の方で十個位のLEDが意味ありげに点滅しているのを見た事があるかと思いますが、あれもシフトライトの一種です。。

クルマは1975年型ポルシェ911カレラのマニュアルシフトです。
運転席正面に大型のメーターが五個並んでおり、メーターを引き抜くと裏にいくらかのスペースがあるので、この空間にpro miniを収めた小型のケースなら入る余裕があります。
https://www.auto-direct.jp/vcsPage/stockList_457-1/detail_791.html
上記サイトに同型車の写真が載っており、横にスクロールするとメーター回りが数枚写っています。

プロミニを収めるケースはタカチのSW55Bを選びました。寸法は以下の通りですが、これ以上大きくなるとメーター裏側の収まりが厳しくなるかもしれません。
※外径 W 40 D 20 H 55   ※内径 W 35.2 D 13 H 50.2
https://www.marutsu.co.jp/pc/i/4742/

そして911には純正に替えて社外品の永井電子製タコメーターを付けており これには任意の回転で12V3Wまでの電球を光らせる機能が2系統あります。メーカーではワーニング外部出力と呼んでいます。
この12Vを電球を光らせる代わりにpro minに印加し、LEDを点滅や走行するように光らせる切っ掛けにしよう考えました。
既に廃番ですが、同等の機能を持った商品が以下になります。
http://www.nagaidenshi.co.jp/METER/1930.shtml

シフトライトにはモトサイン・ミニというカスタム・バイクのインジケータ用のLEDユニットを使います。
小型ですが高輝度のLEDが5個並んでおり、抵抗も内蔵されているので、pro miniに接続すれば直ぐに使えるユニットになっています。
装着場所はタコメータ上部のひさしになった部分に両面テープで貼り付け、ケーブルはメーター脇からダッシュボード内側に引き入れpro miniユニットに接続します。
http://www.motogadget.jp/webshop.motosign.mini.html
0189774ワット発電中さん
垢版 |
2021/12/24(金) 22:08:04.66ID:LgLrLCAb
引き続き41です。

課題は、pro miniの電源と、タコメーターからの12Vの処理をどうケースに収められるか、です。

電源に関しては増設したシガーライターソケットにUSBチャージャーを介して5Vを得るのが手っ取り早い方法なのです。
しかし、携帯電話やナビ代わりのiPad mini、ドライブレコーダー、GPSユニット等が既にその方法で電源を取っていて、これ以上増やしたくない、という理由でこの方法を避けたい、と思っています。

クルマ本体の12V配線からアマゾンなどで手に入る外付け?降圧DC-DCコンバーターモジュールもお手軽ではありますが、補器類はなるべく少なくし、pro miniのケースに収められればスマートだと感じています。

現時点では電源としては以下のスーパー三端子レギュレータを第一候補にしています。
https://akizukidenshi.com/catalog/g/gM-06353/
ブレッドボード上での模擬回路では、20分ほど連続でLEDを点滅させた状態で触診では発熱も感じず、使えるという印象でした。


タコメーターから出て来るワーニング12Vも上のレギュレータを使おうと思っていましたが、pro mini、電源レギュレータ、配線などを含めるとケース内のスペースが足りず、抵抗を使う方法等空間節約の方法を手探りで探している状態です。

ケース外に補器を置くという妥協をすれば直ぐに解決する問題なのですが、無い知恵を絞りながら苦しみつつ楽しんでいます。

途中で余計な質問などして皆さんを混乱させてしまいましたが、アドバイスを頼りに勉強してまいります。
本来、ご指導、ご指摘にレスを返すべきですが、長文になりましたので本日はご勘弁ください。
0191774ワット発電中さん
垢版 |
2021/12/24(金) 22:48:49.04ID:ldooe+yT
タコメーターからの12Vは単純なオン・オフだけだから、フォトカプラが良いんじゃね?
https://akizukidenshi.com/catalog/c/cphca

フォトカプラ自体は豆粒ぐらい小さいし、2回路入り・4回路入りならさらにスペースも節約できる
外部ランプ出力が2系統だから、ちょうど2回路入りで良いんでね?

12VからArduinoを絶縁できるし、あとは抵抗を付けるだけで良いしね(チップ抵抗なら更に小さく出来る)
0192774ワット発電中さん
垢版 |
2021/12/24(金) 23:07:45.89ID:u8WyDx6r
>>188

>永井電子製タコメーター
このれのワーニング外部出力が約12V(車の動作電圧だと想定)

>モトサイン・ミニ
これの動作電圧(LEDを光らせる電圧)が9-18V

これをpro mini で点滅等の制御を加えて使いたいってことかな?

永井電子製タコメーターからの12Vの処理は
・抵抗で分圧(抵抗2本)
・抵抗+ツェナーダイオードでクリップ
・フォトカプラで入力
・抵抗+NPNトランジスタで入力

>モトサイン・ミニ
これを光らせる為の12Vの出力を用意する方が大変そう
GND側(アース側)がコモンだろうから
PNP+NPNトランジスタで12Vを制御する必要があるのでは?
0194774ワット発電中さん
垢版 |
2021/12/24(金) 23:25:46.26ID:u8WyDx6r
>>189
pro miniが互換品も含めて色々で回ってるから例外はあるかもだけど
ボードに小さいレギュレーター付いてるからRAWに入力すればレギュレーター不要な可能性が高い
SparkFunが製造するpro miniならMIC5205が載ってる
MIC5205なら最大16Vまで許容する(ギリギリで使うのは微妙なのでもう少し余裕が欲しいが)
0195774ワット発電中さん
垢版 |
2021/12/24(金) 23:26:23.68ID:ldooe+yT
質問者の言うスーパー三端子レギュレータを更に2個つけるよりマシだろw
0196774ワット発電中さん
垢版 |
2021/12/24(金) 23:31:22.52ID:ldooe+yT
>>194
実際に自分が作るとして、車からの電源にオンボードのレギュレーター使う?
俺なら勧めないけどなぁ
0197774ワット発電中さん
垢版 |
2021/12/24(金) 23:32:05.31ID:9lZ1IlLz
そうじゃなくて、「2回路入り・4回路入りならさらにスペースも節約出来る」って書いてるけど
1回路入りを2個使うより小さいのかってこと。
0199774ワット発電中さん
垢版 |
2021/12/24(金) 23:41:00.85ID:9lZ1IlLz
>>198
オレも設計するとしたらフォトカプラ使うよ。

555を勧める香具師はおらんのか?
0201774ワット発電中さん
垢版 |
2021/12/25(土) 01:00:16.23ID:p+XUGx8k
そのLEDユニットお高いね。アルミとか防水とかのコスト分かな。
0202774ワット発電中さん
垢版 |
2021/12/25(土) 09:47:23.25ID:f0FuHe01
>>188
911カレラか、いいですね。そういう車にArduinoで作った小物を載せるのはおしゃ
れだと思う。

古い車だと12Vの電圧の調節にかなり野蛮な方法が使われているし、スターター
からのキックバック電圧も大きそう。そんなことで電源の耐圧は要注意。

シガーライターに挿す物は最初からそう言う考慮がされているけど、自分で三端子
レギュレーターを選ぶ時は充分耐圧が大きな物、目安は35V以上を選んだ方が良い。
あと、安全対策で1Aのヒューズを入れ、基板上にはポリスイッチを入れとくと安心。

あと、>>199 ポルシェに555は貧乏臭すぎだろう、w
0204774ワット発電中さん
垢版 |
2021/12/25(土) 11:12:03.94ID:rTP3ID4v
41です。
沢山のアドバイス、ありがとうございます。文章簡潔纏める才無く、長文失礼しております。
ご指導が重層化?しており間違いや見逃しでレス漏れありましたらご勘弁ください。

>>191,192,193,197,198
タコメーターからの12Vは、フォトカプラが扱いやすさや省スペースの面で良さそうだと思いました。ツェナーダイオードも予備として入手いたします。

>>194,195,196
pro miniの互換品に関しては、自分のものは裏にthe Simpieと書かれたものです。
ボード上のレギュレーターの仕様がわからないのですが、SparkFun製とはリセットボタンやピン配置が異なる様です。
直で16V入れられるのなら大きな問題の一つは解決するんですが。

>>192,201
モトサイン・ミニは、輸入元の仕様には動作電圧9-18Vとありますが、Arduinoのデジタルピン出力で動作する事を確認しています。
輝度は落ちているかもしれませんが、実用上問題ありません。
価格は結構高いですが、かなり以前に別用途で購入し仕様変更で取り外したあとストックしていたものをリユースしました。
実物は小さいものですが、削り出し加工なのか仕上げは良く高級感があります。元はバイク用途なのでケーブル基部はシールがしてあり防水になっている様です。

>>202
三端子レギュレーターは自分の選んだものは入力:7~28Vとあり、35Vには足りない様です。
35Vまでのものは通常の78シリーズだと放熱板?ネジ止め板?を含めると高さが15o程あり、ケース内に収めるのに足を曲げたとしても無理があります。再考いたします。
https://akizukidenshi.com/catalog/g/gM-13769/
これが使えそうですが、少々高価(許容範囲です)
ヒューズに関してはクルマから12Vを引き入れる間にヒューズを噛ませる予定です。
0205774ワット発電中さん
垢版 |
2021/12/25(土) 11:35:41.18ID:kl4PfUD2
久しぶりに覗いたら
ポルシェとか555とか三端子レギュレーターとか話題になっているが
質問者さんは何をどうしたいの?
誰か簡潔にまとめてくれ。
0206774ワット発電中さん
垢版 |
2021/12/25(土) 11:57:51.48ID:yoS0yUO7
Yahoo天気のRSSが今年度で終わるそうだけど代替ってあります?
0208774ワット発電中さん
垢版 |
2021/12/25(土) 12:15:42.64ID:yoS0yUO7
>>207
ありがとうございます!
気象庁のAPIは情報量が多いので色々活用出来るけどその分データ量も多いんでメモリーきついかなぁと思いました
どうでしょうか?
0209774ワット発電中さん
垢版 |
2021/12/25(土) 12:19:12.44ID:yoS0yUO7
概要だけの取得だとデータ量は少ないけど、「晴」とか「晴のち雪」みたいな感じじゃなくて「日本の東に低気圧があって、東北東へ進んでいます。\n\n 東京地方は、おおむね晴れています。以下略」みたいな文章なので使いにくいかなって
0210774ワット発電中さん
垢版 |
2021/12/25(土) 14:39:32.28ID:T74AYz46
>>205
既成品のタコメータに既製品のタイミングライトLEDを
直結したらシフトタイミングなど事足りるのだが
ハイテクな何かを感じる別の方法で実装したい

目的とする事や実現したい事が曖昧なままポルシェとかタコとか
キラキラワードでつられてご親切丁寧に次々と勝手に回答してるだけで
質問者は責められないね
0212774ワット発電中さん
垢版 |
2021/12/25(土) 17:07:38.73ID:7lXwOzgv
長文にしないで簡潔に頼む!
に対して
長文で全員に返事しながら全方向に喧嘩売る
質問者の人面白いw

詳しく説明しようとするあまり、冗長に蛇足で
三倍くらい解りづらくしてくれるウチの設計さんソックリw
0213774ワット発電中さん
垢版 |
2021/12/25(土) 17:21:02.67ID:GzraflHv
初心者で何を説明していいか分からないこともあるだろ
雑談場所じゃねーんだから、ブツブツ言わずに質問に答えろ
そして初心者は熱烈大歓迎しろ
0214774ワット発電中さん
垢版 |
2021/12/25(土) 21:34:32.13ID:9sW1+5mW
そんなにイライラして暴言吐かないでよ
質問者さんもね
いつもこの流れになるのワンパタン過ぎて飽きたよ
0215774ワット発電中さん
垢版 |
2021/12/25(土) 21:48:00.17ID:E50PIR6z
初心者相手ならワンパターン化も致し方なし
飽きたら一度ここから出ていって気が向いたら戻ってくればいい
0216774ワット発電中さん
垢版 |
2021/12/25(土) 22:26:24.55ID:ngjddIIL
ADCとI2Cのピンが被ってるので両方使いたい場合はアナログマルチプレクサで切り替えればokですか?
I2C側にはバスバッファ的なものが必要ですか?
0218774ワット発電中さん
垢版 |
2021/12/25(土) 23:03:01.11ID:p+XUGx8k
どのarduino使ってるのか知らんけどADC足りなくなる使ってるのか。i2cピンは動かせないからADCを別で用意するしかないかな。
0219774ワット発電中さん
垢版 |
2021/12/25(土) 23:11:52.48ID:A/4ygAVB
I2CのADCって駄目なのかぉ?
親切な人が秋月のアドレス貼ってくれるかも
0221774ワット発電中さん
垢版 |
2021/12/26(日) 00:48:51.07ID:VyZxD0zS
>>217
そんなもん、何をつないでるかによるだろ。
Arduino がマスターだろうし。
0223774ワット発電中さん
垢版 |
2021/12/26(日) 11:59:23.69ID:kqxkQxx7
>>210
さんきゅう。
でも、ますます分からなくなった。
0225774ワット発電中さん
垢版 |
2021/12/26(日) 16:16:24.25ID:1P2kpvrQ
タコメーターの出力をリレーのコイルに入れて
接点をarduinoの入力に入れる
arduinoの出力からリレーのコイル(フォトカプラとか)に入れて
もっと大きいリレーを駆動してLEDにつなぐ
雑多なものはあるだろうが
やる事はただこれだけだよね
arduino使いたいなら
0226774ワット発電中さん
垢版 |
2021/12/26(日) 16:25:31.56ID:1P2kpvrQ
リレーだけなら
リレーのコイルにタコの出力入れて
接点にLEDつなくだけだよ
2系統あればリレー2個だけ
電圧を安定化する何かは必要かも知れないが
ディレイ入れたりピカピカ点滅させたりしたいの?
0227774ワット発電中さん
垢版 |
2021/12/26(日) 16:36:01.96ID:YVW0zi+l
マイコンが繋がってると1000RPMから7000RPMまで何ミリ秒掛かったか計測できるしグラフも出せる
吹けが良いというのを具体的な数字で出せるからキャブやマフラーの評価に便利そうだけどな
0229774ワット発電中さん
垢版 |
2021/12/26(日) 17:05:19.07ID:NHEKb20Z
英単語の短縮系だからSI単位みたいな統一表記はないのでは。
0230774ワット発電中さん
垢版 |
2021/12/26(日) 17:49:32.14ID:aKOOkTbV
単位を決めている期間によりことなるニダ
たとえば、国際単位系、計量法(経済産業省)
0233774ワット発電中さん
垢版 |
2021/12/27(月) 11:27:57.39ID:z189Fp+k
Arduinoで作るシフトライトの発言者です。
秋葉原で部品を買い、ブレッドボードで仮組し、動作の検証をしています。
0234774ワット発電中さん
垢版 |
2021/12/27(月) 11:29:21.26ID:z189Fp+k
構想中の資料集め段階で見つけたのですでが、本格的なArduino Nanoを使ったシフトライトのキットが既に売られています。
構成部品やスケッチ、その他資料が公開されているので、詳しい方なら同じものをリプロダクト?する事が出来るかもしれません。
しかし、それは自分には全く手に負えるものではなく、また今の制作過程を楽しんでいます。
https://www.chippernut.com/#/
0235774ワット発電中さん
垢版 |
2021/12/27(月) 11:48:01.75ID:hWhlcwN8
知識がないならそれ買ってキット組むだけでも勉強になるけど
初歩の電気工学も分からないなら別スレ立てた方が良いと思う
0240774ワット発電中さん
垢版 |
2021/12/27(月) 16:07:53.84ID:hWhlcwN8
単純に発電機からパルス取って計算してLED光らせるだけだよね
0241774ワット発電中さん
垢版 |
2021/12/27(月) 19:37:07.27ID:RS+TurLF
タコメータ見る暇もないくらい前方やハンドル操作に集中してる状況なら必要なのかもね(知らんけど)
まあ、カラーLED使ってタコメータをレベルメータやバーグラフみたいな表示にしてあるレベルになったらド派手に点滅や色変化させたいっていう人は車オタの中にはいるんでしょう
0242774ワット発電中さん
垢版 |
2021/12/27(月) 19:47:10.99ID:hWhlcwN8
クラシックポルシェにド派手なLEDは似合わないでしょ
0243774ワット発電中さん
垢版 |
2021/12/27(月) 22:04:32.08ID:0htzCAKU
1速は5500回転でタイミングライトがフラッシュ
2足は5700回転でタイミングライトがフラッシュ
とかなら面白いかなと昔考えた
効果の程はしらんけど

同じコースで10周もすればリズムで覚えてしまうけどね

ポルシェなら1速→2速が60km/hぐらいだから
こんな姑息なもの要らんかな
0244774ワット発電中さん
垢版 |
2021/12/27(月) 22:14:51.24ID:hWhlcwN8
レースなら便利だけど
一般道や高速で限界まで使うことなんてないし
0245774ワット発電中さん
垢版 |
2021/12/28(火) 21:31:13.30ID:VBmNwZEq
初心者です
ArduinoIDE繋げましたが、シリアルポートが非活性で接続できず・・・。なぜでしょうか・・・。
ArduinoUNO本体あピカピカいているので、起動していると思われます。
(環境はwin11です。Dellノート G3です。)

https://imgur.com/SqYOgwZ
0250774ワット発電中さん
垢版 |
2021/12/28(火) 22:58:03.35ID:VBmNwZEq
>>249
COMが見当たりませんでした・・・(1つ怪しそうなのがありました)

https://imgur.com/SYpfT1S
0251774ワット発電中さん
垢版 |
2021/12/28(火) 23:07:26.47ID:7bQZ2cIj
>>250
PC本体のUSBコントローラーが正常に機能してないかも・・・
(ドライバーがうまく適用されてない?)
UNOをつなげたUSBポートに他に持ってるUSB2.0or1.1の機器をつなげたら動く?
0252774ワット発電中さん
垢版 |
2021/12/28(火) 23:23:28.62ID:VBmNwZEq
>>251
UNO繋げたUSBポートにLogiマウスをつなげると普通にマウス動きました。
USB3ポートあるので、全部にUNO繋げてみましたが全滅です。(Logiマウスは3ポート全て動きました)
0253774ワット発電中さん
垢版 |
2021/12/28(火) 23:44:04.57ID:fUIJByxo
>>250
USBコネクタの近くにある黒い正方形のチップの拡大写真か、
表面になんと書いてあるか一字一句正確にここに書くと誰かが助けてくれるかもしれない。
0255774ワット発電中さん
垢版 |
2021/12/28(火) 23:50:33.84ID:DGte/npx
>>250
!の付いてる他のデバイスが沢山あって、aruduino以前の問題に見える
最低限windows updateしてメーカが配布しているデバドラ類のインストールの漏れがないから確認が必要と思う
それ自体はスレ違いなので自力でなんとかしてくれ
0256774ワット発電中さん
垢版 |
2021/12/29(水) 00:05:17.50ID:rmGYPtGE
>>252
ありきたりだけど
ケーブルを変えてみるとか別PCに接続してみるぐらいしか思いつかない・・・
あとはATmega16U2(USB&#8596;シリアル変換)のファームウェアに問題があるかもしれない
DFUモードで認識するか試してみては?
1.写真1のようにジャンパピンを取り付けてPCに接続
2.その状態でジャンパピンを取る
3.デバイスマネージャーで写真2のように認識されてるか確認
https://i.imgur.com/TJJme40.jpg (写真1)
https://i.imgur.com/ON9q9vG.png (写真2)
0257774ワット発電中さん
垢版 |
2021/12/29(水) 00:24:26.38ID:GdMMit17
>>256
回答できるところから回答します。


こちらは認識できているようです。
https://imgur.com/ri1MxKv.png
0258774ワット発電中さん
垢版 |
2021/12/29(水) 00:29:25.97ID:GdMMit17
>>253
小さくて読みづらいですが、以下に見えます

MEGA16U2
2108 TH
21087B2
0260774ワット発電中さん
垢版 |
2021/12/29(水) 00:58:57.54ID:GKczNgCe
こんにちは、M5Stackライブラリ内のM5.Lcd.drawJpg()関数の説明で、
「メモリからJPEGデータを読み込み、描画します。」とあるのですが、
Jpegデータとは具体的にどのような構造のデータなのでしょうか?
(動作しているサンプルプログラムの引数(frame.buf)を調べると、[255,216,255,224]という配列が常に入っていました。)

↓サンプルプログラム
https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/UNIT_CAM/CAM2CORE

具体的にやりたいこととしては、カメラから送られてくるjpegデータを整数の1次元配列にして、
グレースケール化やサイズ変更などの操作を施して、関数に与えたいです。
0261774ワット発電中さん
垢版 |
2021/12/29(水) 01:34:44.89ID:h4poqHCY
jpegファイルの形式は膨大な情報量になるのでここでは回答できないよさすがにぐぐれとしか
BMP,PNG,TIFFなどの非圧縮なら4lineずつ読み込んで処理とかできるけど
jpegは圧縮ファイルなので全体を一度展開する必要がある
M5で画像処理はメモリ足りないんじゃね
フルHD=1920x1080x24bit=6.2MB
VGA=640x480x24bit=922KB
QVGA=320x240x24bit=230KB ←これでギリギリ

こういうのはメモリ512MB以上搭載してるラズパイが有利
0265774ワット発電中さん
垢版 |
2021/12/29(水) 10:15:09.70ID:GdMMit17
理由はわかりませんが・・

以下を「デバイスのアンインストール」したところ
https://imgur.com/ri1MxKv.png

Arduino UNO(COM3)が表示されました。無事、前に進めそうです。ありがとうございました。お騒がせしました。
https://imgur.com/rthDkUA
0269774ワット発電中さん
垢版 |
2021/12/30(木) 10:16:18.05ID:TOntDR/g
libusb-win32 devices ATmega32U4
これが何だったのかは知りたいところ
どういう状況でこれが認識されるのか詳しい人教えてください
0270774ワット発電中さん
垢版 |
2021/12/30(木) 11:43:10.61ID:9e964tI2
zadigというツールでUSBドライバーの割付を変えればそうなるけど
このツールは差し込んだポートのドライバしか変更してくれないので戻し忘れが発生する事が多い
infいじりまくるのはトラブルの元
0271774ワット発電中さん
垢版 |
2021/12/30(木) 17:42:51.44ID:XpJzB1Sl
>>269
プログラマブルキーボードではないかな。
Corsair RGBゲーミングキーボードもstudioとかICEで
トラブルの原因となってた気がする。
0274774ワット発電中さん
垢版 |
2021/12/30(木) 19:17:20.54ID:BHV3PpsE
以前試した時はライブラリマネージャが使い物にならなかったがマシになったのかな
0275774ワット発電中さん
垢版 |
2021/12/30(木) 20:14:42.45ID:Clgb1N16
>>274
library manager・・・司書さん(Librarian)のコトかーっ!!
arduinoだけに、擬人化するとやっぱイタリア美女なのかなぁ。。。ふひひ!
0282774ワット発電中さん
垢版 |
2022/01/03(月) 15:36:35.25ID:ZgNtU9oX
こんにちは。
赤外線の信号を読み取って0と1に変換する事は出来たのですがそれを2進数に並べ替えて10進数にするやり方がわかりません。
例えば下記のようにaからhまで0か1が入っていてそれを最終的に10進数の数値(13)にしたいです。どのようなプログラムにすればいいのでしょうか?

a=0
b=0
c=0
d=0
e=1
f=1
g=0
h=1
0283774ワット発電中さん
垢版 |
2022/01/03(月) 15:50:48.85ID:9rVkN6IF
扱いやすいように配列にいれておく

d[0]=0
d[1]=0
d[2]=0
d[3]=0
d[4]=1
d[5]=1
d[6]=0
d[7]=1

uint8_t dat=0;
for (uint8_t i=0;i<8;i++){
dat=dat | (d[0] & 1); //LSBにbit set
dat=dat<<1; //右にシフト
}
0284774ワット発電中さん
垢版 |
2022/01/03(月) 15:52:07.69ID:9rVkN6IF
まちごうた

for (uint8_t i=0;i<8;i++){
dat=dat<<1; //右にシフト
dat=dat | (d[0] & 1); //LSBにbit set
}
0285774ワット発電中さん
垢版 |
2022/01/03(月) 18:53:49.37ID:dDaIJqEU
僕はコピペ派だ(^p^)
>>282
char cTemp=0;
cTemp |= {a? '\x80' :'\x00'};
cTemp |= {b? '\x40' :'\x00'};
cTemp |= {c? '\x20' :'\x00'};
cTemp |= {d? '\x10' :'\x00'};
cTemp |= {e? '\x08' :'\x00'};
cTemp |= {f? '\x04' :'\x00'};
cTemp |= {g? '\x02' :'\x00'};
cTemp |= {h? '\x01' :'\x00'};
// これでchar型に変換完了
{int nTemp = (int)cTemp;
printf ("十進数:%d\n", nTemp);}
0286774ワット発電中さん
垢版 |
2022/01/03(月) 18:57:23.70ID:dDaIJqEU
ああ あと、老婆心ながら、
最上位ビット立った時は負の数だ、という前提になってるので
0-255ならアンサインドにしないと ですぞぃ。
0287774ワット発電中さん
垢版 |
2022/01/03(月) 19:08:27.55ID:MXLzm95s
C言語、ビット演算子でググるほうが先だな。理解すれば後は好きに書けるだろう。
0288774ワット発電中さん
垢版 |
2022/01/03(月) 19:21:12.82ID:h76XP602
>>282
ビットシフトとか辛ければこれで(;´・ω・)
uint8_t moemoe = a*128 + b*64 + c*32 + d*16 + e*8 + f*4 + g*2 + h
Serial.print(moemoe,DEC);
Serial.print(moemoe);
0289774ワット発電中さん
垢版 |
2022/01/03(月) 19:35:11.49ID:mutRFUli
>>282
int x = a*128 + b*64 + c*32 + d*16 + e*8 + f*4 + g*2 + h*1;
これが考え方の基本で、もちろんこのままで動く。念のために
Serial.println(x);
とでもやって確かめると良い。

これではみっともないと思ったら、前の人がレスしたように
ループとビット処理を使って計算すれば良いけどやってるこ
との意味は同じ。
0291774ワット発電中さん
垢版 |
2022/01/03(月) 20:34:06.18ID:AAhzolY0
uint8_t a_h[] = {0, 0, 0, 0, 1, 1, 0, 1};
uint8_t result = 0;

for(uint8_t i = 0; i < 8; i++) {
result += a_h[i] << (7 - i);
}
0292774ワット発電中さん
垢版 |
2022/01/03(月) 20:37:29.03ID:ZgNtU9oX
>>283-290
こんなにも沢山のレスありがとうございます!
無事に出来ました。全部メモして今は理解できない物もありますがゆっくり理解していこうと思います。
0293774ワット発電中さん
垢版 |
2022/01/03(月) 20:47:06.99ID:e4GHksj9
>>288
これでいいじゃん
これのビットシフト版でもいいけど
ループはややこしいからベタ書きしたい
0294774ワット発電中さん
垢版 |
2022/01/03(月) 22:18:02.07ID:9rVkN6IF
赤外線の信号だから32bitとか64bitになるけどベタ書きすんの?
0296774ワット発電中さん
垢版 |
2022/01/04(火) 00:50:35.88ID:OdkkYwNH
>>282
a-h のテンポラリ変数に保存するのではなく、
赤外線受信とバイト変換を並列にしても良いと思います。
>>283さんのコードを拝借して、仮に受信関数名をread_IR() とするとこうなります。

unit8_t dat = 0;
for (uint8_t i=0;i<8;i++){
dat=dat<<1; //右にシフト
dat=dat | (read_IR() & 1); //LSBにbit set
// 必要なら受信エラーを判定してbreak
}

受信エラー処理が必要なら、read_IR()でセットしたエラーフラグを判定してforループを脱出
0298(^p^)
垢版 |
2022/01/04(火) 10:24:56.63ID:8cl73PyB
>>297
なるほどその時は、282の質問からやり直すという事ですね!(節子!そのループとちゃう!!
0300774ワット発電中さん
垢版 |
2022/01/04(火) 18:54:15.32ID:H90wDRkO
>2進数に並べ替えて10進数に
>10進数の数値(13)
BCDですかね?

ハイ題意により全員やり直し(鬼)
0301774ワット発電中さん
垢版 |
2022/01/04(火) 19:44:08.26ID:Tvpeb97U
「にっちもさっちもいかない」は「二進も三進も行かない」と書くらしい
0302774ワット発電中さん
垢版 |
2022/01/04(火) 19:47:03.74ID:8cl73PyB
うーん。。。 バイナリデータをdSrcとすると、
arduinoの開発環境の演算ライブラリに割り算とかモジュロ演算があるという想定のもとでは
  char cBcdNNxx =((dSrc/1000)<<4) | ((dSrc%1000)/100);
  char cBcdxxNN = (((dSrc%100)/10)<<4) | (dSrc%10);
かなぁ・・・。モジュロが無ければ商をテンポラリに保存して減算でどぞー。
0303774ワット発電中さん
垢版 |
2022/01/04(火) 23:19:21.91ID:FBYODDhO
単体の1チップマイコンと違ってキリキリしなくて良いから楽なモンだ…
0305774ワット発電中さん
垢版 |
2022/01/05(水) 13:56:10.58ID:LH2XZNoj
StaticJsonDocumentとしんみちもにそJsonDocumentってどうちがうの?
0309774ワット発電中さん
垢版 |
2022/01/06(木) 08:20:47.60ID:F7yo23Qb
 arduinoで携帯時計を作っています。
追加でストップウォッチの機能をつけました。そこで質問です。
 arduinoより正確な精度を求めてRTCからの信号でストップウォッチを動かそうと考えたのですが、RTCの32khzでは1秒単位迄しか測れませんでした。
0.1や0.01秒を正確に測る良い方法はありますでしょうか?
 またRTCの電源は3端子レギュレータではなく、抵抗分圧て作っても問題は無いでしょうか?
0313774ワット発電中さん
垢版 |
2022/01/06(木) 09:18:26.06ID:sXcQ+7nV
>>309
arduinoだろうがRTCだろうがクォーツ使ってる限りは精度は大して変わらない、しかも素子温度とかでも精度は変わる
電源を抵抗だけで作るのは無理、 >>310 の言うとおり燃える恐れがあるし、そもそも安定しない
大して高い部品でもないから降圧レギュレータを買って使うべき
0314774ワット発電中さん
垢版 |
2022/01/06(木) 09:38:44.16ID:kXLQSoXg
横だけど5Vから0.5Vに落とせるレギュレーターいいのありますか?
0315774ワット発電中さん
垢版 |
2022/01/06(木) 10:16:54.38ID:ufVG+Vou
>>309
32.768kHzから きれいな1/100秒、1/10秒 は作れない。
でも多くの腕時計のストップウォッチも32.768kHzで動作しているし。

Arduinoでできるかどうかわからないけど、
32.768kHzから1024Hzのパルスを作る。
欲しいのは10m秒。10カウントだと9.77m秒。11カウントだと10.74m秒ときっちりにはならないけれどこれは我慢する。
10カウントで19回と11カウントで6回を交ぜて繰り返すと、ぶれ(ジッター)はあるけれど
全体としては累積誤差のない1/100秒、1/10秒が作れる。
最大で1m秒ぐらいの前後があるけれど、手動のストップウォッチなら問題にはならないでしょね。
もっと精度が必要なら、100で割り切れる周波数のオシレータを用意することになる。

Arduinoは多くが内蔵オシレータやセラミックオシレータで動作している。
それらを使って計時したら高い精度にはならない。
0317774ワット発電中さん
垢版 |
2022/01/06(木) 10:29:32.38ID:kXLQSoXg
>>316
アナログセンサーに使います
電圧で判断するので電流はごく微小で大丈夫だけど
でも抵抗入れないと無限に電流流れてしまいますね
0318774ワット発電中さん
垢版 |
2022/01/06(木) 10:30:08.56ID:CCJK471E
スリットセンサー2点で開始と終了計測するとかなら精度必要だけど
人が手で押す時点で0.3-0.1秒のばらつきがあるから正確に出しても意味無いんでわ?
同じ人が押すなら少し安定はすると思うけど

RTCで秒割り込み掛けてタイマーリセット、RTC読み出しにタイマー値を演算して1秒未満の値とするという方針でいけるはず
1秒割り込み時にカウンター最大値を保存しておけば自動スケーリングもできる
0319774ワット発電中さん
垢版 |
2022/01/06(木) 10:30:11.40ID:ufVG+Vou
>>314
>横だけど5Vから0.5Vに落とせるレギュレーターいいのありますか?
特別な保護回路が不要で
・電流量が要らないなら(10mA程度まで)オペアンプでボルテージフォロワ
・ある程度電流が要るなら(数100mA程度)、上にトランジスタで電流増幅

レギュレータICを使いたいなら、
Digikey で、製品索引
集積回路(IC)-> PMIC 電圧レギュレータ - リニア
を選んで、
出力構成 → ポジティブ
出力タイプ → 可変
電圧 - 出力(最小/固定) → 0.5V以下をすべて選ぶ
で検索。
0320774ワット発電中さん
垢版 |
2022/01/06(木) 10:31:46.54ID:kXLQSoXg
私も5Vから分圧でいいやと思ってましたが
燃えるという事なので
0322774ワット発電中さん
垢版 |
2022/01/06(木) 10:33:38.05ID:CCJK471E
>>317
基準電圧が欲しいならLDOじゃなくて定番のTL431を分圧するのがいいんじゃないかな
0323774ワット発電中さん
垢版 |
2022/01/06(木) 10:35:19.12ID:kXLQSoXg
>>319
ありがとうございます
助かります
電流量がいらないならオペアンプでフォロワーが分かりません
すいません
0324774ワット発電中さん
垢版 |
2022/01/06(木) 10:38:38.53ID:kXLQSoXg
みなさんいろんな回答ありがとうございます
できたら分かりやすいよう統一していただけたら助かります
0325774ワット発電中さん
垢版 |
2022/01/06(木) 10:50:14.92ID:ufVG+Vou
>>323
わからないなら「オペアンプでボルテージフォロワ」そのままでGoogle。

5Vから抵抗で0.5Vを作るには、9:1(たとえば18kと2k)で分圧したらいいけれど、
その場合は、0.5Vの電源に、18kと2kの並列抵抗相当の抵抗が直列につながったものになる。
電源の供給を受ける側が電流を引いたら、そのぶん電圧降下がおきる。
たとえば、電源の供給を受ける側がマイクロアンペアみたいな微小な電流しか引かず、
少々の電圧変化が問題にならないならこのままでもいい。
でも、電圧変化を嫌うなら、分圧したポイントをオペアンプのボルテージフォロワの入力に繋いで出力を電源として使う。

燃えるか燃えないかは計算するべき。「分圧で燃える」を鵜呑みにしちゃだめ。

>電圧で判断するので電流はごく微小で大丈夫だけど
>でも抵抗入れないと無限に電流流れてしまいますね
これの意味がわかりにくい、0.5Vを何に繋ぐのか開示した方がいいと思う。
0.5Vの電圧を求めるセンサーがあるなら、それが「抵抗を入れないと無限に流れる」のもちょっと変だ。
0326774ワット発電中さん
垢版 |
2022/01/06(木) 10:53:41.58ID:ufVG+Vou
>>324
>できたら分かりやすいよう統一していただけたら助かります
5chはいろいろな意見の人が集まってくる場所。まとまるほうが奇跡。誰かに統制を求めても、荒れるもと。
いろいろな意見を聞いて自分で取捨選択するようにして。
0328774ワット発電中さん
垢版 |
2022/01/06(木) 11:12:23.51ID:sXcQ+7nV
>>317
既出だけど電流がそんなに要らないなら
オペアンプのボルテージフォロワー回路で作るのが一番楽じゃないかなと思います
0329774ワット発電中さん
垢版 |
2022/01/06(木) 11:16:01.47ID:tCd2I9m2
>>323
「電流が要らないなら」
≒「オペアンプで直に取り出す場合
 電流量に制約があるけれど
 その電流量でも大丈夫なら」

という意味だと思うず
0330774ワット発電中さん
垢版 |
2022/01/06(木) 11:23:08.85ID:sXcQ+7nV
0.5VだったらIC内蔵センサーの電源では無さそうだから多くてもせいぜい1桁mAだろうと予想
それならボルテージフォロワーでもいいかな、と
0331774ワット発電中さん
垢版 |
2022/01/06(木) 11:25:34.55ID:kXLQSoXg
みなさんありがとうございます
大変感謝します
用途的に精度が欲しいので>>322が良いと思いました
みなさんのご意見今後の参考にさせていただきます
ありがとうございます
0332774ワット発電中さん
垢版 |
2022/01/06(木) 11:34:32.89ID:kXLQSoXg
ボルテージフォロワググってきました
驚きました
こんな事できるんですね
ありがとうございます
0337774ワット発電中さん
垢版 |
2022/01/06(木) 14:54:04.21ID:w26qPQ0b
元の質問者へ向けた話じゃ無いけど、millisの値を信じている人
が多いみたいだから書き込んでおくと、

millisの値は1msでは無く1.024ms毎に更新されている。
それでは時計に対して遅れてしまうので42回毎に値を2つ飛ばし
にして辻褄を合わせている。
そういうズルをしているので、ミリセカンドの精度が必要な
場合はmillisは使わないほうが良いよ。
たぶんmicroseconds()なら大丈夫。
0338774ワット発電中さん
垢版 |
2022/01/06(木) 15:07:40.26ID:dGoxJ3y4
100均のストップウォッチを見てみろ!誤差だらけだぞ!
それをみんな信じ込んで使ってるんだ!
0339774ワット発電中さん
垢版 |
2022/01/06(木) 15:48:18.57ID:EXaL+XFc
>>337
マジかよ!?
俺の認識だと250us+命令サイクル分の誤差しかないと思ってた
( *`ω´)
0340774ワット発電中さん
垢版 |
2022/01/06(木) 20:26:16.55ID:6yX8FznS
>>315
説明いただいた通り、ズレが開いていくのも嫌だったのです。このやり方なら私でも出来そうです。
早速試してみたいと思います。
ありがとうございました。
0341774ワット発電中さん
垢版 |
2022/01/06(木) 20:36:11.81ID:sXcQ+7nV
>>315
そう言えばRTCのクロックってなんで32.768kHzなんだろうね
2^nがいいなら65.536kHzでも良さそうなのに
0347774ワット発電中さん
垢版 |
2022/01/06(木) 22:38:09.96ID:kHXwLDJl
周波数が上がる→分周段が増える、消費電流が増える
周波数が下がる→水晶が大きくなる
1969年セイコー「セイコー クオーツ アストロン 35SQ」は8192Hzだった(当時45万円)ICを使わずセラミック基板上にトランジスタを並べた構成だったため分周段を少なくしたくてこの周波数になった後に16384Hzとなる
小型化と消費電流を考えると32768Hzあたりがバランスがいいらしい
0348774ワット発電中さん
垢版 |
2022/01/06(木) 23:05:32.60ID:SJCCOH5q
aitendoとかで売ってるラジオモジュールに32.768kHzの水晶を使ってるね
あれも消費電力の絡みで採用してるのかな?
20MHzの素性不明の水晶発振器を使ったら20mA位電流消費してて泣きたくなった
0349774ワット発電中さん
垢版 |
2022/01/06(木) 23:23:18.37ID:9f4l8BYa
いろんな理由があるから一概には言えないけど大量に生産されていて入手性がよく安価で小型みたいな理由もあるだろうな(Arduinoのおかげで最近は16MHzが安くなったとか)
あと高い周波数が必要でも最近はIC内部でPLLとか使って簡単に高い周波数にできたりもするし(同一IC内でも一部分だけ高い周波数が必要で他の大部分はそうでもないみたいなことがあったり)
0350774ワット発電中さん
垢版 |
2022/01/06(木) 23:55:05.77ID:nW8TDEko
32.768k水晶は安くて低消費電力。だから数十kHzが欲しいって時はこれ。
0352774ワット発電中さん
垢版 |
2022/01/07(金) 01:39:29.57ID:fycxoSdg
量産品だと、水晶は売れ筋のものを使えるように設計するのが原則だしね。

昔は3.58MHzもよく使ったな。
0353774ワット発電中さん
垢版 |
2022/01/07(金) 08:35:27.43ID:hdmge8Q1
べつに個人で数個使う程度なら水晶屋で切ってもらっても大したことない
むかしクロックアップ用に特注で作ってもらった
0354774ワット発電中さん
垢版 |
2022/01/07(金) 09:07:05.86ID:mKUAEgJ1
ゲームボーイにパソコンのマザーボードから外した水晶付けてポケモン高速化したな
0355774ワット発電中さん
垢版 |
2022/01/07(金) 12:55:28.95ID:xJSPzC2x
>>351
いや、そういう意味じゃなくて、特に細かい周波数指定はないが数十kHz位のクロックが欲しいな、って時。
0360774ワット発電中さん
垢版 |
2022/01/07(金) 19:28:44.28ID:fycxoSdg
特にロジック回路に使う用途なら、今は特別な理由がないなら、
PLLで作るだろうし、水晶をオーダーすることも少なくなってると思う。
0361774ワット発電中さん
垢版 |
2022/01/07(金) 19:30:19.17ID:AxNsXIvj
ダイナミック点灯の8セグメントLED3桁を8ピンデジタルINPUTで読み取る方法をキボンヌ。
0363774ワット発電中さん
垢版 |
2022/01/07(金) 19:44:32.36ID:AxNsXIvj
後出しですまんが、できるだけスマートで低コストなのがギボンす
0364774ワット発電中さん
垢版 |
2022/01/07(金) 20:08:40.20ID:DsvC9oaZ
>>361
桁側の3ピンをダイオードorしてint0割り込み
割り込みが発生したら11bit読み込んでデコード
AT90S2313みたいな安いのでもOK(秋月で100円、俺はaliで29円で買った)
0365774ワット発電中さん
垢版 |
2022/01/07(金) 22:53:33.17ID:mmWN0iS6
>>361
ダイナミックが不灯にも時間割り当てる明るさ一定タイプなら、桁には1ピンずつ割当て、ホカは大きめの抵抗介して1ピンに集約して桁on起点にタイミングを読めばOnOffシーケンスからわかる、、のでは?
0367774ワット発電中さん
垢版 |
2022/01/07(金) 23:24:12.04ID:qmRvsw6e
>>363
マルチプレクサ繋いで読み込めるチャンネル増やしたら?
(秋月30~40円位)
0369774ワット発電中さん
垢版 |
2022/01/08(土) 10:38:46.74ID:1BH/E0GM
>>368
ねんのため検証してみた。7segのcomを220Ω介してGNDへ
各segのピンをそれぞれ10K介してnanoのD2へD2を100K介してGNDへ(pulldown)
D2にRISINGで割り込み設定。
任意のseg一つに5V印加で他のsegは光らず割り込み期待通り発生。
0370774ワット発電中さん
垢版 |
2022/01/08(土) 17:42:00.75ID:1OrQ7T/D
Arduinoでエアコンが操作できません
とりあえずの実験として
https://qiita.com/SnowDango/items/a699e4afd1fcf37a397c
このページの中段にある回路とソースをほぼ完全にそのまま使って(PanasonicHeatpumpIR.hのところだけ私のエアコンはHitachiなのでHitachiHeatpumpIR.hにしました) ボタンを押すとちゃんと"air off"などと出るのですがエアコンは全く動きません
Panasonicのエアコンの方はちゃんと動きました
動かない原因は何が考えられるでしょうか?
0371774ワット発電中さん
垢版 |
2022/01/08(土) 18:22:07.79ID:MDZNQXf+
>>370
使用したライブラリが出力する送信コードとエアコンの受信コードが合ってない
エアコンの場合は同じメーカーでも年式・機種で複数のコードパターンが有ったりする
0373774ワット発電中さん
垢版 |
2022/01/09(日) 10:08:38.14ID:dUlcexHR
>>371
ありがとうございます
そもそも合ってない感じですね
エアコンは複雑とは聞いていたけど大変ですね…
できるか分からないけど解析を考えてみます
0374774ワット発電中さん
垢版 |
2022/01/09(日) 15:51:55.74ID:LPDfhsd1
受信ユニットも実装して学習型リモコンにすれば、対象メーカーなんか関係無く使える
(エアコンだけでなくテレビや天井灯なども)
・・・まぁ、コピペするだけのArduinoユーザーには難しすぎるか
0376774ワット発電中さん
垢版 |
2022/01/10(月) 00:29:20.04ID:apElMV/Y
エアコンを買い換えるのも1つの手。

IRemoteライブラリなどは、送受信が実装されてて、
受信したコードを表示するサンプルなどが付いている。
ってことが、あなたが見てるページの最初に書かれてる。

手を抜かずに、解析って所をやりなはれ!
厳しい言い方だけど、その考えだと先は無いよ。
0377774ワット発電中さん
垢版 |
2022/01/10(月) 07:44:42.44ID:8kYj6MDT
>>375
学習型リモコンは解析なんか必要ないよ。
どこのメーカーだろうと、何の器具だろうと、
受信したパルス列を記憶し、再生して送信するだけ。
0378774ワット発電中さん
垢版 |
2022/01/10(月) 11:00:15.08ID:qx0kv9Dl
>>374
>>377
エアコンのリモコン作ったことないだろw 想像で書くなってw

日立のエアコンのリモコン送信機作ったけど、1つのRAWデータだけで500byte以上、
ATMega328の1KBのEEPROM、2KBのSRAMじゃ1個の操作しか記憶できねーよw
俺はFlashメモリに格納したけど、データを解析するかメモリ拡張しないと使い物にならんぜ
0379774ワット発電中さん
垢版 |
2022/01/10(月) 11:19:21.83ID:w1e9aDyk
「できませーん」言ってたヤツがまだ実行に移して頑張ってて
「は?w頭悪すぎw俺は学習にさせてるけどw」言ってる奴がエアプで何もしてなかったっていうオチか
0380774ワット発電中さん
垢版 |
2022/01/10(月) 12:24:32.84ID:RXITYVY8
単純にONOFF時間を記録するrawデータだと1bitが数byteになるんだから、送信側はきちんと考えないとそりゃ入らんでしょーよ。
0381774ワット発電中さん
垢版 |
2022/01/10(月) 13:34:47.59ID:2uDRJyY/
>>380
テレビや照明リモコンならrawでも小さいからある程度複数個メモリに入る
「エアコンは別、特に日立のコードは独特」と覚えていたほうが良いよ
0383774ワット発電中さん
垢版 |
2022/01/10(月) 14:05:40.13ID:IW7hLFhb
配列へのアクセスをしやすくするために、
配列の順番を変えた配列を定義したいのですが、どうすればよいのでしょうか?
たとえば、以下のdd という配列に対し
byte dd[2][3] = {
1, 1, 1,
2, 2, 2
};

参照用の配列
byte gg[2][3];
を定義して
配列そのもののメモリを重複して持つのではなく、意味的には
以下のイメージで配列へのポインタを共有するようにしたいのです
gg[0]=dd[1];
gg[1]=dd[0];
実際にはこんなにシンプルではなく、100程度の二次元配列の順番を
一定の演算に基づいて並べ替えるのですが、動的にやる必要は無いので
処理中に演算しないで、記入側の配列と参照用の配列を作って
参照用の配列は記入側の配列への『順番を適切にした』参照を持つだけにしたいのです。
&をつけてみるとか、typedefでなんとかできないかも試したのですがなかなかうまくいかず、、
0384774ワット発電中さん
垢版 |
2022/01/10(月) 14:06:31.56ID:dxafCIEh
リモコン解析はESPとかPCでやるのが楽なんじゃね、メモリーMega328の1000倍以上あるし
0385774ワット発電中さん
垢版 |
2022/01/10(月) 14:10:25.49ID:dxafCIEh
>>383
インデックス参照するしかないんじゃね
マイコンの場合はメモリリソース食うからどれくらい有用なのか検討してね
0387774ワット発電中さん
垢版 |
2022/01/10(月) 15:13:36.07ID:YgqWiU74
>>383
全体像が見えてないんだけど
ポインタ型にポインタ入れれば良いのでは?
0390774ワット発電中さん
垢版 |
2022/01/10(月) 17:11:45.83ID:Ob+PSpNv
>>383
2次元配列が突然1次元配列の例に変わっているので、どうしたいのか今一つ
わからないのだけど
byte dd[2][3] = {
1, 2, 3,
4, 5, 6
};

に対してgg[1][1]が「5」でなく「3」を指したいとかだと、ggをポインタ配列で定義して
byte *gg[][] = {
NULL, NULL, NULL,
NULL, NULL, NULL
};

gg[1][1]=dd[0][2];
みたいに対応を羅列するしかないと思うのだけど
ただし保存されるデータはbyteじゃなくてアドレスになるので、メモリがddの分
プラスdd×2(かな)必要になるけど
対応を羅列しないで定義したいだとforループでddを回して計算でggの添え字を
変えていくとかになるのかな

メモリ使いたくなくて計算してよいならば#defineで取り出す擬似関数定義する
とかはできるかな

#define gg(x, y) dd[x + 1][y + 1]

呼び出さない分関数よりCPUコストは下がるかもしれないけどどうだろう
0391774ワット発電中さん
垢版 |
2022/01/10(月) 19:11:12.32ID:RdUVwPDc
>>383
1次元の配列にして好きに演算するなり変換テーブル作るなりすればいいんじゃね
byte gg[2*3];
0397774ワット発電中さん
垢版 |
2022/01/10(月) 22:54:58.25ID:tGhp4yjm
>>394
シリアルsramがいいでしょう。SDカード追加して仮想メモリっぽく使うのもありですね。
0398774ワット発電中さん
垢版 |
2022/01/10(月) 23:09:46.75ID:IW7hLFhb
>>390
アドバイスいただいた方法今は検証できないので、何をしたいかのイメージだけ説明します。二次元配列を行データ(一次元配列)の一次元配列とみなしたとき、データを書き込む時は行が順番に並んでた方がいいのですが、参照するときは行の順番がある規則で入れ替わっていると参照時に演算が減ってありがたいのです。
 行の先頭ポインタを好きな順番に並べた配列を用意してキャストしながらやればいいんだろうとは思うのですが、もともと配列はポインタだろうから私が知らないだけでエレガントな方法あるんじゃないかなと
0399774ワット発電中さん
垢版 |
2022/01/10(月) 23:13:41.39ID:tGhp4yjm
配列は通常アクセスでもアドレス演算すると思うけど。
アドレス演算が本当にボトルネックならclock上げればいい。
0400774ワット発電中さん
垢版 |
2022/01/10(月) 23:20:06.78ID:q5CAWbnH
SDカードの読み書きはすごく遅いと聞いたけど大丈夫なんだろうか
0401774ワット発電中さん
垢版 |
2022/01/10(月) 23:23:17.19ID:q5CAWbnH
シリアルSRAMググってきた
こんなのあるのか
もうなんでもありみたいな
やっぱ世界で使われてる物はすごいね
日本だけだとこうはいかないよね
0402774ワット発電中さん
垢版 |
2022/01/10(月) 23:37:12.21ID:dxafCIEh
>>398
C言語リストでぐぐると幸せになれるかも

生徒名簿があって、名前順の参照、成績順の参照などが行える
データの挿入、削除が一瞬で終わる<配列だとずらさないと挿入できない、削除したら詰める処理がいる
0404774ワット発電中さん
垢版 |
2022/01/11(火) 00:55:22.98ID:AyMtsB+6
>>402
昔からのスマートなやり方で、それ以降も以上の方法がないから、ベストな解。
先頭からの参照のみなら、次のポインタをメンバに揃えた構造体、
逆順に参照したいなら、前のポインタも必要。

数が大きく増減するような処理の場合は、削除用のリストを用意しておいて、
そちらでまとめて、暇な時にメモリ解放(ガーベージコレクション)。
0405774ワット発電中さん
垢版 |
2022/01/11(火) 01:07:11.72ID:7sdQwb6M
>>404
ramが1kとか2kのマイコンではちょっと厳しいかもね
今回のケースでは前後のリンクポインタ無くしてインデックスだけで足りるでしょ
0406774ワット発電中さん
垢版 |
2022/01/11(火) 01:13:48.12ID:hcneRrdo
サーモスタットのサーミスタからICに入るところの信号をみるとこんな温度で方形波の中が窪んで温度によって下降の度合いが変わる感じになっててよく分からない
なんでこんな風になっているのでしょうか。
0407774ワット発電中さん
垢版 |
2022/01/11(火) 01:45:22.68ID:eiWohu/H
>>406
サーモスタットの型番とか配線方法とか信号を観測した方法とか
使用したライブラリとかの情報が無いと答えにくい

サーモスタット(バイメタル式)>温度で金属が歪んで接点が接触したり離れたりするやつ?
サーミスタ>温度で抵抗値が変化する奴

そのグラフだとバイメタル式のサーモスタットかな?
0408774ワット発電中さん
垢版 |
2022/01/11(火) 02:03:24.21ID:n0GeMrjh
基板上の見えるところだけみた勘だとこうなってる
温度センサーはNTCサーミスタ(10k)
測定は数千円のオシロ
0410774ワット発電中さん
垢版 |
2022/01/11(火) 05:01:12.05ID:00TgHGCQ
>>403
この例ですとメモリを別個に確保していますよね? 参照だけできれば良いのです。
0411774ワット発電中さん
垢版 |
2022/01/11(火) 05:09:21.59ID:00TgHGCQ
>>402 >>404
リストは機能としては要求に合致して居ますが>>405 のおっしゃるとおりです。
行ごとに順番を入れ替えるので、行のインデックスを配列に持つのがメモリsaving的には一番良さそうです。
因みに行と言ってるのは
byte [3][10]
を 長さ10を3行というイメージです。
0412774ワット発電中さん
垢版 |
2022/01/11(火) 08:38:22.16ID:1GoYktzc
スピーカーのマグネットがarduinoに近すぎるんだけど
なにか影響はありますか?
0416774ワット発電中さん
垢版 |
2022/01/11(火) 13:11:15.46ID:9Yyggjd2
CPUがESP32なら磁気センサー入っているので、もしそのセンサーを使っていれば影響はある。
それ以外のCPUはマグネットの影響は無いはず。

RTCと言ってる人いるけど、なんでだろう?まさか機械式のRTCとかあるのかな?
0418774ワット発電中さん
垢版 |
2022/01/11(火) 13:54:43.09ID:YAodeKY7
>>409
デジタル表示サーモスタットの定番品のxh-W1209タイプがNTCセンサー込で1個300円〜600円で売ってる
アルドやパイでサーモスタットを自家実装してもコストの割に面倒だなと思ってxh-W1209を3個買ってしまったw
(温度制御用、温度警告ランプ用or予備)

Cは0.1μ〜1μ程度かな?
バイパスコンデンサーが放電してるだけで
計測上の意味ないのでは?
その回路で積分型ADCとも思えないし
0419774ワット発電中さん
垢版 |
2022/01/11(火) 15:19:20.93ID:G7UmoUvt
>>418
このサーモスタットも市販品です。
間違えてArduinoのスレに質問してしまってすみません。
コンデンサがない場合はこのようになると思うですが、なぜそのようになるのでしょうか。
0420774ワット発電中さん
垢版 |
2022/01/11(火) 15:32:58.02ID:ug/8VzHh
>>419
下がりきる前にパルスがきてるだけっぽいから、OFF時間が長くなれば0vまで下がる。その図の中間電圧出力は出てない。
0423774ワット発電中さん
垢版 |
2022/01/11(火) 19:18:52.23ID:WwDWIQ+Y
>>420
ありがとうございます
ちなみに何故ICからパルス波が出たり入力読み取りになったりしているのでしょうか
0424774ワット発電中さん
垢版 |
2022/01/11(火) 19:33:48.60ID:nRZay4AG
エスパーするぞ

>>423
温度読み取りをA/D入力ではなく、
デジタル入力でhigh→low変化までの時間計測で代用してる

その後highとlowのパルス出してるのは
抵抗やコンデンサが故障してないかのチェック動作だな
0425774ワット発電中さん
垢版 |
2022/01/11(火) 19:47:08.60ID:qAf55Fkm
>>424
はえーそんな手法があるんか
デジタル入力しかなくてもADCとして使えるのは知らんかったわ
0426774ワット発電中さん
垢版 |
2022/01/11(火) 19:50:44.41ID:RCQxKNwy
温度によって沈み込む深さが違うって言ってるんだから違う気がするが
0427774ワット発電中さん
垢版 |
2022/01/11(火) 20:17:12.57ID:r6RDlJoj
>>426
横レスすまん
温度(⇒サーミスタの抵抗値)によって最終的な値は変わるから、H→Lのエッジ検出
0428774ワット発電中さん
垢版 |
2022/01/11(火) 20:18:00.81ID:r6RDlJoj
>>427
エッジ検出のタイムラグのオーバーシュート分だけ下限値が変わって見えるんじゃないかな
0429774ワット発電中さん
垢版 |
2022/01/11(火) 20:52:37.56ID:CxmHbNXP
>>423
仕様です。というかサーミスタのモジュール名もどこの電圧かも答えてくれないから想像で回答してるだけ。
0430774ワット発電中さん
垢版 |
2022/01/11(火) 22:18:29.38ID:n0GeMrjh
>>429
市販品のサーモスタットなのでモジュールではないです。
測っているのはICに入るところです。
0434774ワット発電中さん
垢版 |
2022/01/11(火) 22:38:42.39ID:n0GeMrjh
>>432で測った端子とサーモスタットの端子を導通確認したところ導通していました。
同じピンで読み取りとダイナミック点灯を兼ねているのかも知れません。
0437774ワット発電中さん
垢版 |
2022/01/11(火) 22:52:21.62ID:H66JnZ7Q
商品名を隠す理由が謎だけど。
元電源かIC用のレギュレータが壊れてんじゃないの。
0439774ワット発電中さん
垢版 |
2022/01/11(火) 22:55:04.24ID:H66JnZ7Q
Amazonとかにもあるws1209とかその辺のやつなら温度検知は5Vを抵抗とサーミスタで分圧した電圧を測ってるだけっぽいが。
0440774ワット発電中さん
垢版 |
2022/01/11(火) 22:59:31.89ID:n0GeMrjh
>>437
ちゃんと動作しているので壊れてはいないようです。

>>439
商品名はXH-W3002というやつです。
これも普通に分圧で読み取っているようです。
ダイナミック点灯の隙間で読み取りも行っているようです。
0441774ワット発電中さん
垢版 |
2022/01/11(火) 23:57:05.75ID:QhRNM2SA
すみません、確認です。xiaoって電源が3.3Vなんですが、digital in/outも3.3Vですか?もし、5Vのin/outをつなげる時は電圧変換をかませるという方法しかありませんか?
0444774ワット発電中さん
垢版 |
2022/01/12(水) 00:22:10.83ID:nNA3Ue2h
>>441
一般的なI/Oピンの場合: MCUの動作電圧は3.3 Vである。一般的なI/Oピンに接続された電圧入力は、3.3 Vより高い場合にはチップ損傷を引き起こす恐れがある。

電源ピンの場合: 5 V電圧を3.3 Vに変えることができる内蔵DC - DCコンバーター回路は、Vin - PINと5 V - PINを通して5 Vの供給で装置に充電することができます。 使用に気をつけてください。シールドカバーを外さないでください。
0446774ワット発電中さん
垢版 |
2022/01/12(水) 12:52:49.34ID:U/+oBbMO
結局サーミスタの人の不具合は何だったんだろう?

誤差というなら
NTCの誤差が自称1%とあるが、実際1度〜2.5度程度の誤差らしいので
脳内補正するかパラメータ(P4)で補正すればよろし

ちなW1209もW3002も同じセンサで同じ制御ソフト使ってるもよう
チップはSTM8S003F3P6らしいからArudinoのIDEでハック(以下略・・・
0449774ワット発電中さん
垢版 |
2022/01/12(水) 13:23:43.49ID:x7uAHpRY
>>446
「温度センサー」がそもそもサーミスタじゃなかったんじゃない?

世の中には容量性の温度センサーってのがあるらしい
それなら放電→5Vに充電→電源オープンして一定時間後の電圧を測って温度算出、という挙動だと仮定すればありえなくはない

これも想像の範疇を超えないけどな
写真とるならせめてICの型式をが読める写真にしてくれと
0450774ワット発電中さん
垢版 |
2022/01/12(水) 13:27:46.80ID:WrzQ1JXF
なんで既に答え出てるのに延々と的外れな議論してるんだ?
0452774ワット発電中さん
垢版 |
2022/01/12(水) 13:56:14.45ID:BOor8eIb
サーミスタじゃない云々とか言い出すのは、商品名か商品説明に虚偽があるってことだからさすがに穿ち過ぎというか妄想のレベル。
0453774ワット発電中さん
垢版 |
2022/01/13(木) 00:03:51.99ID:zyOATVX6
内部クロックで動かすことは出来るの?
0456774ワット発電中さん
垢版 |
2022/01/13(木) 08:06:37.64ID:wTrtXXLs
>>451
でも悔しいことに役に立つ情報が出てきたりする事もあるんだよな。
発達障害が存在するのはこういう事なんだろうね。
0458774ワット発電中さん
垢版 |
2022/01/14(金) 20:30:55.34ID:2kAObKM1
配列変数の要素の数がが多すぎて、コンパイルが通らない場合、逃げ道としてはEEPROMへの保存かな?他に方法はある?
0465774ワット発電中さん
垢版 |
2022/01/14(金) 22:04:25.83ID:jDkgO8Me
>>464
そんなのもあるんですね。
それぞれの特性があるみたいなので、調べてみます!!
こちらの要件は書き込み回数の制限があっても大丈夫なので、それ良さそうです。
0466774ワット発電中さん
垢版 |
2022/01/14(金) 22:15:35.28ID:wh3bFwxV
>>458
配列が自動変数、スタティク変数、ヒープ(ポインタ)で容量の上限が異なると思う

RAMの容量を超えることはできないが
デカブツはヒープ(かスタティック)において自分でメモリ管理すれば最大限リニアなアドレスを利用できるのと思う
最後は関数をフラットに呼んで自動変数を削ってスタックは極力ケチるw
0467774ワット発電中さん
垢版 |
2022/01/14(金) 22:15:45.17ID:wh3bFwxV
>>458
配列が自動変数、スタティク変数、ヒープ(ポインタ)で容量の上限が異なると思う

RAMの容量を超えることはできないが
デカブツはヒープ(かスタティック)において自分でメモリ管理すれば最大限リニアなアドレスを利用できるのと思う
最後は関数をフラットに呼んで自動変数を削ってスタックは極力ケチるw
0468774ワット発電中さん
垢版 |
2022/01/14(金) 23:02:28.15ID:jDkgO8Me
>>466
ソフト的な解決方法ですね。
メモリー管理を自分ですればという事ですね。
Arduinoでは、例えばここはユーザー管理アドレスだから、勝手に使わないでね!みたいな宣言が可能でしょうか。
0469774ワット発電中さん
垢版 |
2022/01/14(金) 23:13:11.25ID:tPOoVCqR
for(int i=0;i<10;i++){

kansuu(値, i==5);

}

このkansuu(int, bool)の第2引数を、
i=5のときにtrue、それ以外をfalseにしたいときに
if文をkansuuの()内で書くとき、どう書くんですか?

kansuu(値, i==5);これだとダメみたい・・・
0470774ワット発電中さん
垢版 |
2022/01/14(金) 23:14:08.31ID:tPOoVCqR
if文を追加すれば良いんだけど、もっとスマートに書きたい
0472駆け出し
垢版 |
2022/01/14(金) 23:20:37.01ID:B69+Hg5S
質問です。
jtag2updi?
というArduinoを書き込み装置として使う方法で書き込んでいたのですが、
突然うまくいかなくなりました。
全く同じ回路とプログラムで、
予備の新品のATtiny1614に書き込むことはできるので、
古い方のATtiny1614は壊れてしまったんでしょうか?
解決策のご教授願います
0473774ワット発電中さん
垢版 |
2022/01/15(土) 00:01:32.68ID:QpmR7Pxj
>>468
原則としてアドレス解決はリンカの仕事だから自分でやろうとすると機種依存になって面倒だと思う
ATmegaの場合だと確かAVR-gccだからそれ用のリンカスクリプトをごにょごにょするとかセクション指定して変数を確保するんじゃないかな、たぶん
0474774ワット発電中さん
垢版 |
2022/01/15(土) 02:31:52.74ID:nhGUn+pq
ArduinoIDEのビルド速度が遅いです
WinAVRなんかめちゃ速いです
0476774ワット発電中さん
垢版 |
2022/01/15(土) 04:04:48.91ID:5XNInYP0
>>474
どのぐらい遅いか不明だけど俺のは2〜4秒位でビルドできる(UNO)
PCのスペックやら対象のArduinoの機種を書けば近い環境の人がレスくれると思う

>>475
ArduinoIDEに不満がある人におすすめ
・vscode + PlatformIO
・vscode + Visual Studio Code Extension for Arduino (Microsoft)
0478774ワット発電中さん
垢版 |
2022/01/15(土) 07:26:54.37ID:uumPSi/c
ビルドが遅いのってArduinoIDEのせいなの?
ArduinoはGCC呼ぶ前にいろいろやることがあるからしょうがないんだと思ってた
それともVScodeとか使うとGCC呼ぶ前の処理とかがかなり最適化されて速くなってるとか
0479774ワット発電中さん
垢版 |
2022/01/15(土) 07:46:47.38ID:V/jMhWka
tempに展開するからそこがHDDよりSSDのが早い
SSDよりiramのがもっとはやい
0480774ワット発電中さん
垢版 |
2022/01/15(土) 09:38:50.41ID:zQdf/EzI
platform.txt に書かれてる GCC のオプションが、実行速度に依存する
最適化もりもりになってる。メモリも最小になるように。

非力な PC だと、そこそこ重いよ。
テスト的にオプティマイズ外すとか?
0481774ワット発電中さん
垢版 |
2022/01/15(土) 12:50:37.34ID:aTM+terj
同じコードをWinAVRでビルドしたら速いからArduinoIDE特有なんだろね
オブジェクトファイルの出力先を固定しても劇的には変わらないし・・・
>>480
やっぱりビルドオプションがそういう事になってるんですね

ちなみに、UECIDE試したけど、これ結構良いんだけどw
コンパイル速度も速いし、起動も速い。ArduinoIDEのお手軽さもあるし
開発環境としてはかなり整ってる。メインでも使えそうな感じ
0483774ワット発電中さん
垢版 |
2022/01/15(土) 17:19:20.04ID:NsA4YPbg
ファミコンのカセットのSRAMをFRAMに交換して
セーブデータのロストを防ぐのは常識
0484774ワット発電中さん
垢版 |
2022/01/16(日) 10:43:23.77ID:zjkYbK0l
RTCとかEEPROMのライブラリの
コンストラクタの中で好き勝手に
Wire.begin()呼んでるのが多いけど
何回も呼んでもいいの?
0485774ワット発電中さん
垢版 |
2022/01/17(月) 00:07:03.54ID:sijYIr9Y
おれ環だとArduinoIDEのほうがVSCや+PlatformIOより
ビルドと書き込み速いんだが。。。
0487774ワット発電中さん
垢版 |
2022/01/17(月) 12:26:14.73ID:Og7sLLcn
シフトレジスタ74HC595を使った4桁7セグモジュールって
LEDの電流制限抵抗が入ってないけど、電源は5Vで良いのかな?
https://www.aitendo.com/product/13451

プログラムはダイナミック点灯で一瞬だけ光らせてるんだけど、
赤色LEDだからVfが2Vぐらいだろうから、3Vぐらいの方がいいのかな?

3Vだとちょっと暗い、5Vだと明るい。LEDは切れないけど5Vだとちょっと不安で・・・。
電流をテスターで測ったら、5Vだと20mAぐらい、3Vだと10mAぐらいです。
0491774ワット発電中さん
垢版 |
2022/01/17(月) 13:57:18.92ID:4RPLBo5t
74HC595は全体で75mA以上流すとIC壊れるよとデータシートに書いてあるよ
0492774ワット発電中さん
垢版 |
2022/01/17(月) 14:25:50.02ID:Og7sLLcn
やっぱり3.3Vでいいんですかね。
でも赤色LEDにしてみれば3.3Vでも高いんで、抵抗も入れたほうが良いのかな。
こことか読んでると、5Vにしろとか言ってる人もいるし・・・
https://forum.arduino.cc/t/4-digit-7-segment-serial-led-module-tm74hc595/305600/

ダイナミック駆動をすれば抵抗つけるのを回避できるとも書いてる外人もいるし
0493774ワット発電中さん
垢版 |
2022/01/17(月) 14:58:23.53ID:EmtEC+sU
発熱で破損というメカニズムに関しては
瞬間的にしか電流を流さず 熱がたまる前に切るわけで
抵抗省略も可能でしょう。なにがおきても自己責任!自己責任!(^p^)
0496774ワット発電中さん
垢版 |
2022/01/17(月) 16:03:34.83ID:4RPLBo5t
この絶対最大定格を超えて使いまくった74HC595がどうなるかというと
焼ききれるとかはほぼ無くて、ビット送ってるのにONにならない、指でちょっと触れると点いたり消えたりするとか病的な動作をするようになる
そうなるともうプログラムが悪いのかデバイスが悪いのかわからない迷路に迷い込んでしまう
0497774ワット発電中さん
垢版 |
2022/01/17(月) 16:26:25.09ID:W81Qy33t
>>494
東芝のもIC全体(ICC)は75mAと書いてるね
それで各ポートの方(QA-QH)は35mAじゃね?
0498774ワット発電中さん
垢版 |
2022/01/17(月) 17:26:50.02ID:3ps7CI4T
電流なら瞬間的に超えても大体セーフ、電圧は一瞬でも超えたら一発で終わる
0500774ワット発電中さん
垢版 |
2022/01/17(月) 17:46:16.84ID:84OoBbTw
>>487
ダイナミック点灯時の電流をどうやってテスターで測ったの?
スタティックな状態で5Vで20mAだったら抵抗入っているかCOB LED?じゃないとおかしい
0501774ワット発電中さん
垢版 |
2022/01/17(月) 18:24:28.23ID:u9Yuv0I+
74HCは広範囲の電源電圧はタイプだから出力Hの電圧降下、
出力Lの電圧上昇が少ない

この回路の
VCCとLEDの差、3.3V-2V=1.3Vだから
出力HとLの電圧を考慮すれば1V弱が本来抵抗の電圧降下分であるべきだが
ここではチップが発熱して負担することになる

ファンアウトがLS換算で10あるとしても
プログラムバグで止まったら確実に定格外の連続動作を強いることになりそう

あんまり無人で使ったりしないなら別に良いんだが
0502774ワット発電中さん
垢版 |
2022/01/17(月) 18:36:35.45ID:Kav543J3
>>500
パルスで駆動しているところを、デジタルテスターで測定したらそれくらいの数字が出たんじゃない?、知らんけど。
0503774ワット発電中さん
垢版 |
2022/01/17(月) 21:50:15.65ID:8BlzM8+v
データシート通りにはいかないけれど【かなりザックリした目安】として
https://i.imgur.com/gU2AgPI.png
の図5.1を回転反転して重ねると
https://i.imgur.com/e7XZ6pO.jpg
こうなる
Vcc=4.5Vで片方をH出力もう片方をL出力した時その差が0.75Vで30mA、2.5Vで20mA、3.5Vで10mAといったところか…
LEDのVfが2.0Vと仮定すると23mAくらいか(25℃の場合)?
温度によってかなり変化があることがわかる、個体差も結構あるだろう
0504774ワット発電中さん
垢版 |
2022/01/17(月) 22:04:32.43ID:v2EzLB33
こんにちは。
少し取り留めのない相談になりますが教えて下さい。
ArduinoNano(互換)使っています。

最終的にやりたい事は、交流電圧や電流波形(基本波60Hz)の解析で、一定間隔でサンプリングした瞬時値を記憶媒体に記録したいです。

サンプリング周期は20μs(50kH)ほどにしたいのですが、SDライブラリを使い試しにSDカードに書き込む時間を測ってみたら、「100,」という文字列を書き込む為に約14000μsもの時間を要するようで、処理時間があまりにも長すぎます。

何か良い解決方法はありますでしょうか?

私の考えた限りでは
@ライブラリを使用せずにSDカードを操作してどのくらい時間が縮むか試す
Aより高性能なマイコンを使用する
B別の記録媒体を使用する

を試してみようと思っているのですがA、Bに関しては具体的な目処が立っていないので、その辺も含めて何か助言していただけると助かります。
0507774ワット発電中さん
垢版 |
2022/01/17(月) 22:24:05.18ID:759q9p8k
空き時間が20μSしかなくて記録したいって不可能なんじゃない?
0509774ワット発電中さん
垢版 |
2022/01/17(月) 22:34:19.29ID:4RPLBo5t
ADC最速で20usだよ、レジスタにコマンド送ってデータ回収してたらその分遅れるし
ADC変換待ちでwaitせずに前回データを外部SRAMに保存とかやってもギリ間に合わない
0510774ワット発電中さん
垢版 |
2022/01/17(月) 22:35:51.23ID:4RPLBo5t
メモリ豊富なESP32でメモリにロギングしてサンプリングが終わったらSDに吐き出しが現実的
0511774ワット発電中さん
垢版 |
2022/01/17(月) 22:36:23.41ID:v2EzLB33
>>505
ありがとうございます。
デフォルトだとそのようですね。
直接ADCのレジスタを操作して、変換速度を上げればいけると思っていたのですが、今もう一度調べたらデフォルトより速度を上げると精度が落ちるようですね…
0512774ワット発電中さん
垢版 |
2022/01/17(月) 22:46:54.93ID:v2EzLB33
>>506
>>507
やはりAtmega328Pでは不可能でしょうか

>>508
持ち運びがしたいからです。
これ例えばラズパイとかだとマシンパワー足りそうですかね。

>>509
>>510
なんかATmegaだと厳しそうですね…。
ESP32を今調べてみたら、32ビットで160MHzもクロックがあるのですね。良さそうですね。SRAMが512KiBなので16ビットのデータだと20万ポイント以上は記録できますね。
0513774ワット発電中さん
垢版 |
2022/01/17(月) 22:55:32.66ID:759q9p8k
単純に気になるんだが60Hzをそこまで詳細に調べて何に使うの?
記録媒体も限りあるから短時間だと思うけど
0514774ワット発電中さん
垢版 |
2022/01/17(月) 22:58:50.43ID:v2EzLB33
>>513
過度特性も調べたいからです。
0515774ワット発電中さん
垢版 |
2022/01/17(月) 23:02:43.80ID:759q9p8k
単に波形を見るだけならarduinoIDEで表示できるけど
それじゃダメなんだろうね
0516774ワット発電中さん
垢版 |
2022/01/17(月) 23:05:14.04ID:KCYdzUf3
>>512
50Kspsだと4秒でいっぱいだよ。

Raspberry Pi Pico のフラッシュに書き込むとか便利だけどね。
0520774ワット発電中さん
垢版 |
2022/01/17(月) 23:54:49.61ID:v2EzLB33
>>516
4秒ですか…や、
0521774ワット発電中さん
垢版 |
2022/01/18(火) 00:00:02.08ID:LuTuqkEw
ラズパイのPICOって安いのにarduinoよりかなり性能が良さそうでいいですね。

皆さんいろいろ意見ありがとうございました。
0531774ワット発電中さん
垢版 |
2022/01/18(火) 10:23:41.89ID:nLJTznII
>>530
すごく簡単だけど?
公式のリファレンス読めない(理解出来ない)かわいそうなやつか?
0532774ワット発電中さん
垢版 |
2022/01/18(火) 11:20:43.28ID:IXZX9tgW
英語読めない
キャリブレってなに?
これなんて書いてあるの?
0533774ワット発電中さん
垢版 |
2022/01/18(火) 11:57:30.78ID:IuO5PsdJ
>>532
ダニエル>ESP32のADコンバータの誤差が大きいお前ら助けろ
ルイ>仕様だあきらめろん
ROSW>真ん中の値は良い感じだから真ん中だけ使えばよくね?
サラ>有益な情報ありがとん
ステフ>馬鹿どもよ公式読め つ「Espressifのリファレンス」
ROSW>↑馬鹿なので理解できませんでした
0534774ワット発電中さん
垢版 |
2022/01/18(火) 12:53:16.47ID:bwTfa8TH
キャリブレというのはね、遠く離れた較正の国から
誤差を撲滅するためにやってきた美少女戦士の名前だよ
めんどくさがって下手な測定をしてると、ここぞとばかりに
釘バットで本気で殴りかかってくるから
気をつけような!・・・という都市伝説上の妖精だよ(^p^)
0538774ワット発電中さん
垢版 |
2022/01/18(火) 15:37:53.57ID:zjYFdEIg
え、なんで???
0540774ワット発電中さん
垢版 |
2022/01/18(火) 16:20:11.11ID:bwTfa8TH
・・・だって、外部センサだとノイズ吸収用のパスコンや
較正・換算処理や、マルチサンプリングからの平均化などをしなくても
高精度な測定が可能になるん?

結局やるのなら、すなおに内部の使えばいいんじゃね?
0541774ワット発電中さん
垢版 |
2022/01/18(火) 16:50:16.44ID:lMgl4AyT
>>540
> 結局やるのなら、すなおに内部の使えばいいんじゃね?

すなおにオシロを使いましょう。DSO-SHELLで充分かと、
0544774ワット発電中さん
垢版 |
2022/01/18(火) 17:03:00.29ID:BxxNPtm8
内蔵ADCはアッテネータを経由させずに0-1Vレンジで変換させれば誤差が小さくなるってどこかで聞いたような気がするんだけど実際どうなん?
0545774ワット発電中さん
垢版 |
2022/01/18(火) 17:18:05.29ID:iYRpYUAJ
>>544
ESP32なら100 mV ~ 950 mV
(リファレンスマニュアル通りに使用する場合)
自分は充分な精度が出てると判断したが
ネットの情報は間違いが多いのでデータシートをよく読むか、気の済むまで自分で試験した方が良いよ
0546774ワット発電中さん
垢版 |
2022/01/18(火) 17:28:27.44ID:CGlGXnum
>>540
ちゃんとやっても内部ADCじゃ精度出ないよ。
精度というよりリニアリティが問題かな。
0547774ワット発電中さん
垢版 |
2022/01/18(火) 17:32:25.05ID:l4kL/r5i
リニアじゃなくても実際の電圧と測定結果を各電圧で細かく測定して多項式でフィッティングすればいい
0548774ワット発電中さん
垢版 |
2022/01/18(火) 17:43:20.03ID:WaO25yvf
>>542
キャリブレーションが必要なんでしょう?
それをソフト的にもハード的にもどうにか自分で出来ればいいんだけど、出来なければ素直に外部ADC使ったほうがいいでしょう?
なんか変なこと言ってる?
0550774ワット発電中さん
垢版 |
2022/01/18(火) 17:52:10.56ID:l4kL/r5i
信号源→適当な電源を可変抵抗で分圧
測定器→安いマルチメーターで充分?
0551774ワット発電中さん
垢版 |
2022/01/18(火) 18:36:50.53ID:T7bk8h6W
スマホの音声入力ってDC成分残るのかな
フィルター入ってる?
0552774ワット発電中さん
垢版 |
2022/01/18(火) 18:40:23.60ID:bp//Af4s
>>548
リファレンス読めればソフトウェア的(簡単)な対応で出来る

つーか、ソースいるん?(´・ω・`)
0555774ワット発電中さん
垢版 |
2022/01/18(火) 19:59:30.36ID:D4rbmDO1
ESP32のADCは数十mV以下は0になる仕様だからそこに関してはソフトでは補正しようがない。
0556774ワット発電中さん
垢版 |
2022/01/18(火) 20:44:05.91ID:lMgl4AyT
交流を測定したいみたいだから、ACカップルにしてADCの中央を使えば非線形の問題は回避出来ると思う。
ただ、ESP32のADCで10usのサンプリングは無理じゃ無かったっけ。
レジスタ叩いてDMAでもやれば出来るんだろうけど、やり方がわからん。
0557774ワット発電中さん
垢版 |
2022/01/18(火) 20:48:35.46ID:ZWPbo56f
ADCの誤差を修正しないと使えないよ
過渡特性見たいみたいだから
0559774ワット発電中さん
垢版 |
2022/01/18(火) 21:21:44.14ID:yO/V0P21
>>556
レジスタ叩かなくても出来る
DMAで2Msps動作させた事ある
試してないけどWi-Fi停止なら2Msps*2chできるかも
0561559
垢版 |
2022/01/18(火) 23:19:17.26ID:IuO5PsdJ
>>560
丸ごと貼れるソースが無いので参考に出来そうなURL貼る
https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/I2S/HiFreq_ADC/HiFreq_ADC.ino
(DMAを使ったADCのサンプル【注意】バグあり)
https://github.com/gustavollps/esp32TTGO_i2s_scope/tree/master/I2S_adc_esp32
(ESP32を使った1Mspsのオシロらしい ←でも500kspsでしか動いてない上に同じ値を2回使用してるバグあり)

※↑どちらもメモリのデータの扱いに間違いが有るので要注意!
(どちらも32ビット幅のデータを16ビット幅で扱ってる?)

これを2Mspsで動かす方法はi2s_config_t i2s_config = ・・・を修正するんだけど
sample_rateを変更するだけでは対応できなくて
.use_apll = true, // D2_CLK → APLL_CLKに変更 (周辺モジュールのクロックソースの変更)
.sample_rate = 2000*1000 / 8, // APLL_CLKに対応したサンプルレートに設定(2Mspsの例)

ESPスレでは誰にも聞かれなかった(;´・ω・)
0562774ワット発電中さん
垢版 |
2022/01/19(水) 07:36:46.66ID:sy+pOPfG
情報ありがとうございます。
なるほど、driver/i2s.h てのがあるのか。これなら速そうですね、知らなかったです。
0564774ワット発電中さん
垢版 |
2022/01/22(土) 06:52:26.44ID:haNH/EY7
サンプリングレートって指定しなきゃいけない?
なんも指定してない
ループで回してるだけ
0566774ワット発電中さん
垢版 |
2022/01/23(日) 10:05:36.95ID:oSkiMIYH
UNO初心者です。
入出力ピンはDigital PinとかAnalog Input Pinなどに
分れていますが、Analog Input PinでもLチカ出来たのですが
なぜですか?
0567774ワット発電中さん
垢版 |
2022/01/23(日) 12:27:58.89ID:QCq66+Ks
>>566
Analogピンにもデジタルの入出力機能が有るからです
(どちらかと言えばUNOでは汎用入出力ピンでアナログ入力機能を持ってるピンをアナログ用と表示してる)
0568774ワット発電中さん
垢版 |
2022/01/23(日) 18:53:15.31ID:ZfqiVWQ7
アマで買った999円のpro microすぐにUSB認識しなくなった
返品だコノヤロー
0569774ワット発電中さん
垢版 |
2022/01/23(日) 19:55:43.05ID:oSkiMIYH
>>567
ありがとうございました。
0570774ワット発電中さん
垢版 |
2022/01/24(月) 17:16:08.56ID:tKssyrBn
ELEGOO UNO R3を使って「Lesson 28 Four Digital Seven Segment Display」のプログラムを実行したところ、意図しない表示となるのですが何が悪いのかよくわかりません。コード上は4桁すべてに1〜15(10〜15はA〜Fで表示)までを500msごとに切り替え順番に表示をさせようとしているのに、数字が1つ飛ばしで進みます。1,3,5,7,9,11,13,15,2,4〜という感じです。
プログラムも配線もチュートどおりにやっていますが、配線に関してはチュートが雑なので微妙です。
0571774ワット発電中さん
垢版 |
2022/01/24(月) 19:31:54.34ID:QL482Wvo
ループのインクリメント処理を+1のかわりに+2にした場合に症状はどうなります?
+3で進むのか、それとも(+2の二倍で)+4で進んでいくのか・・・
0573774ワット発電中さん
垢版 |
2022/01/24(月) 19:56:45.31ID:HqkeWyFL
読むのめんどくさいかもしれないから一応文章はっとく

>最初、表示が点滅してしまってうまく動きませんでした。

>なんでかと思って、Lesson 27の回路と比較してみたら、74HC595の10番ピン(MR)に5Vが入ってませんでした。
0574570
垢版 |
2022/01/24(月) 22:25:14.23ID:tKssyrBn
>>571
ありがとう。+2にすると4ずつ増えました。

>>572
ありがとう。Lesson27はやってなくて5Vは刺さってます。
0575774ワット発電中さん
垢版 |
2022/01/25(火) 08:15:34.74ID:wmd8JBqG
チュートリアルに書かれたプログラムではなく、
実際にあなたが入力したプログラムを提示するべき。話はそこから。
0576570
垢版 |
2022/01/25(火) 10:08:22.70ID:YP2X5D2U
>>575
チュートのプログラムを変更してないのに正しく動かないので質問してるんです。
0577570
垢版 |
2022/01/25(火) 10:26:31.77ID:YP2X5D2U
>>573
すみませんっ!解決しましたっ!
10番ピンと5V繋いだらちゃんとインクリメントされましたっ!
ありがとうございましたっ!!!
しかしなんでそんな動きになんのかさっぱりですが。
これ初心者は自力で解消とか絶対ムリだ。
0578774ワット発電中さん
垢版 |
2022/01/25(火) 10:39:30.45ID:2bNxphqA
https://www.bing.com/videos/search?view=detail&;mid=0BE1F4D3D4B2784FDB750BE1F4D3D4B2784FDB75&q=Lesson 28 Four Digital Seven Segment Display&shtp=GetUrl&shid=3c58d690-5f81-4712-b009-c85bb6c38de4&shtk=TGVzc29uIDI4IC0gNCBEaWdpdCA3IFNlZ21lbnQgRGlzcGxheQ%3D%3D&shdk=Rm91ciBEaWdpdCBTZXZlbiBTZWdtZW50IERpc3BsYXkgTW9kdWxlLiBEZW1vbnN0cmF0ZSB0aGUgRWxlZ29vIHNrZXRjaCBwcm92aWRlZCBpbiB0aGUgdHV0b3JpYWwgY292ZXJpbmcgdGhlIGRpc3BsYXkgbW9kdWxlLCBzaG93IGl0IHNob3J0Y29taW5ncyBhbmQgcHJvdmlkZSBhIHJldmlzZWQgc2tldGNoIHRvIHByb3Blcmx5IGNvbnRyb2wgYSA0LWRpZ2l0IDctc2VnbWVudCBkaXNwbGF5IHdpdGggNzRIQzU5NSBzaGlmdCByZWdpc3RlciBJQyBhbmQgZm91ciBQTjIyMjIgdHJhbnNpc3RvcnMuIEEgYmVnaW5uZXIncyBndWlkZSB0byB0aGUgTW9zdCAuLi4%3D&shhk=mIYuZKcTDAMjK31acnwa2HeaxQC237n0d5YwQ24g0Qg%3D&form=VDSHOT&shth=OVP.lxV5zIrUVzy5dDJuyW0UoQIIEk
いまいち意味が解りませぬが、なんか5:00頃に、初期値変えられてますな・・・
latch 9 → 11
clock 10 → 9
data 8 → 13
0579774ワット発電中さん
垢版 |
2022/01/25(火) 10:40:08.14ID:2bNxphqA
ああ投稿前にリロードしてなかった;すまん
0580570
垢版 |
2022/01/25(火) 10:59:13.77ID:YP2X5D2U
>>578
その動画も視聴済でした。チュートにケチをつけながら解説しててオモシロイ。
まあつけたくもなるよね。
0581774ワット発電中さん
垢版 |
2022/01/25(火) 11:17:39.08ID:UoZ1B6M0
チュートリアルのプログラムも質問者のプログラムも配線も一切なしの闇鍋をつついて
ただエスパーにすがってるだけの奴が偶然解決したからといって
そこからいったい何を得られるのだろう
0582774ワット発電中さん
垢版 |
2022/01/25(火) 11:31:17.29ID:d25sDZLi
そもそも他人の書いたコードは気持ち悪いから手続きだけ参考にして書き直す
0586774ワット発電中さん
垢版 |
2022/01/25(火) 22:00:17.30ID:HU2Yxo+d
助けてください(´;ω;`)
ATtiny1614に、
ArduinoNanoをjtag2updi?ていうやつの
書き込み機にして、マイコンにプログラムを書いてました。
が、突然書き込みが出来なくなりました....

3つほど同じATtinyを買っていて、
どれも
最初のうちは動く
→ある日突然書きこみ不可に
→まだ使っていない新しいマイコンに変えると動きだす
→でもやはりある日突然(ry

ということが起こっています

失敗するときは決まって
下のようなエラーがずっと出てます↓
avrdude: jtagmkII_getsync(): sign-on command: status -1
0587774ワット発電中さん
垢版 |
2022/01/25(火) 22:36:34.86ID:eZeeYuFB
Nanoがリセットしてるんじゃないの?
Resetピンの対策した?
0588774ワット発電中さん
垢版 |
2022/01/25(火) 22:38:46.93ID:eZeeYuFB
つかNanoやめてATtiny1614にjtag2updi書き込めばライターになるしリセット問題も無いからそっちのがいいよ
UPDI-OUTは9pinね
0589774ワット発電中さん
垢版 |
2022/01/25(火) 23:11:52.59ID:HU2Yxo+d
>>587
resetとGNDのあいだに電解コンデンサをかまして
リセット対策をしています
0590774ワット発電中さん
垢版 |
2022/01/25(火) 23:12:49.10ID:HU2Yxo+d
>>588
Attinyにjtag2updiを書きこもうとしても
それ自体がそもそもできない状態です。

現状Nano以外のライターが手元にはありません
0591774ワット発電中さん
垢版 |
2022/01/25(火) 23:49:29.30ID:GNQ0Tzj7
>>590
USBシリアルが有ればpyupdiと言う手もあるかな。
0592774ワット発電中さん
垢版 |
2022/01/26(水) 00:53:31.12ID:v188HROv
>>591
あいにくそれも持ってないんです。
自分で改造して作れる代物ではないですよね?
百均のケーブルなんかを改造....
とかできないですよね...
0593774ワット発電中さん
垢版 |
2022/01/26(水) 04:46:10.73ID:WEeLKiNm
回路は合っているのかな。
俺は回路定数違っててはまったことがある
0595774ワット発電中さん
垢版 |
2022/01/26(水) 17:58:47.38ID:v188HROv
>>593
あ!抵抗値がちょっと違いました!
4.7kのとこが5.1k?になってます。
これってやっぱり合わせるべきですか?
0599774ワット発電中さん
垢版 |
2022/01/26(水) 21:14:52.96ID:YvBR0er1
VinがVref-1LSBの電圧の時に1023になる。
まあ実際にはVinにVrefの電圧入れても1024は表現出来ないので、ADCの値は1023になる。でもそれは線形な範囲を越えてるということだと思う。
0600774ワット発電中さん
垢版 |
2022/01/26(水) 21:17:21.76ID:bEsUhlws
>>597
ゲイン誤差、オフセット誤差が無い逐次比較型ADCの出力を1023と1024で計算した場合の誤差は
最大値付近で約−0.5LSBか+0.5LSBの差だと思うのでどちらで計算しても変わらない

現実世界では実測するとオフセット誤差の影響で1023で計算した方が近い値になる
0602774ワット発電中さん
垢版 |
2022/01/26(水) 21:54:39.61ID:YvBR0er1
>>600
まあそういう考え方もあるけど、プログラムの中で1023で割るのは抵抗がある。
やはりここは1024じゃないと気持ち悪いです。
0605774ワット発電中さん
垢版 |
2022/01/27(木) 08:59:35.61ID:1ceqEEj3
1024にすべきかと
/1024 ならコンパイラがシフト演算に置き換えてくれるはず(たぶん)
0606774ワット発電中さん
垢版 |
2022/01/27(木) 10:12:50.71ID:qof6+JG8
ADC = Vin*1024/VREF  ( Vin = ADC*VREF/1024 )
ADC = Vin*1023/VREF  ( Vin = ADC*VREF/1023 )
どちらで計算するのかって話かと

ADC = (Vin*1024/VREF)-0.5  (Vin = (ADC+0.5)*VREF/1024)
↑非線形性・オフセット誤差・ゲイン誤差が無いならこれが良いんじゃない?
0607774ワット発電中さん
垢版 |
2022/01/27(木) 11:04:43.45ID:M4BoiA5j
これってアナログリファレンスがデフォルトかインターナルなら1023で問題ないんだよね?
エクスターナルの問題だよね?
0608774ワット発電中さん
垢版 |
2022/01/27(木) 11:10:03.56ID:/WdCiEe1
ADCは整数だから0.5足しても値は変わらないけど気持ちは判る。あと、1024で割るのに異存は無いってことだよね。

ちなみに、>>585のリンク先はトラ技に記事書いてる人のブログだから、そこらへんの素人では無いよ
0609774ワット発電中さん
垢版 |
2022/01/27(木) 11:13:13.64ID:/WdCiEe1
>>607
ん、入れ違いになった。
インターナルだろうが何だろうが、10ビットのADCの量子化感度は1024で割って求めるてことだよ。
0610774ワット発電中さん
垢版 |
2022/01/27(木) 11:15:49.15ID:m5nM+A+b
1023のとき測定電圧がVREFよりLSB一つ分小さいってデータシートに書いてあるんで常に1024にするのがメーカーの指示なんだろう
0611774ワット発電中さん
垢版 |
2022/01/27(木) 11:28:25.27ID:s/DDlU5l
約0.1パーセントの誤差か
ADCにも誤差はあるし
ノイズは乗るし
気が付かないよね
でもより正確なデータは必要だしやってみるかな
なんか変だなと思う事は多々あったから
0612(^p^;)
垢版 |
2022/01/27(木) 11:52:54.12ID:FtdRaxKJ
ぐぐった
LSB:Least Significant Bit, 最下位ビット≒量子化単位

・・・初めから量子化単位って言ってくれた方が判りやすいんじゃアルマイカ;
0613774ワット発電中さん
垢版 |
2022/01/27(木) 11:57:56.94ID:UkMxj5v3
0以上1量子化単位未満→0
1量子化単位以上2量子化単位未満→1
1023量子化単位以上1024量子化単位未満→1023
1024量子化単位以上→オーバーフロー→1023
それだけのことだろ。

0未満→0があるか。
0614774ワット発電中さん
垢版 |
2022/01/27(木) 12:12:57.72ID:qof6+JG8
VREF 5VでUNOのADCが1022を出力する電圧範囲
理論値 4.99023〜4.99511V
実測値 4.99003〜4.99535V (試験電圧約100uVで可変)

Vin = ADC*VREF/1024 だと4.99023V
Vin = ADC*VREF/1023 だと4.99511V
Vin = (ADC+0.5)*VREF/1024だと4.99267V

※小数点一部切り捨て
0618上位は・・・
垢版 |
2022/01/27(木) 14:06:16.25ID:FtdRaxKJ
最上位ビットは、参照電圧の半分以上かどうかだ。
第二位は、そのまた(残りの端数が)更に半分以上かどうかだ。
第三位は、そのまた(残りの端数が)更に半分以上かどうかだ。
・・・
第n位は、(上位桁を差し引いた)残りの端数が(1/2)^n 以上かどうかだ。
0621774ワット発電中さん
垢版 |
2022/01/27(木) 23:25:03.73ID:qof6+JG8
>>615
analogRead()の値から電圧を求めるとき
1023か1024の2択なら理論上1023の方が誤差が少ない

analogReadで取得した数値に0.5足して1024で割るのが理想

例えば基準電圧5VのUNOに4.5000Vを入力する
理論上analogRead()は921を出力する(921 = 4.49707&#12316;4.50195V)

921*5/1023 = 4.50147(誤差 0.00147)
921*5/1024 = 4.49707(誤差 −0.00293)
(921+0.5)× 5 / 1024 = 4.49951(誤差 −0.00049)
※小数点第六位を四捨五入

おまけ http://codepad.org/Lmpcbid6 (誤差を乱数で計算)
0622774ワット発電中さん
垢版 |
2022/01/28(金) 00:06:25.21ID:2FveCX4b
アマで買った中華のProMicro返品して
再注文したら今度はなかなか届かないぞコノヤロー
0625774ワット発電中さん
垢版 |
2022/01/28(金) 09:26:35.11ID:lb5cHuR1
>>621
入力が4.5Vの時にADCの値が921になる理屈が判んない。計算式らしきものが文字化けしてるし。
ちなみに、入力2.5VならADCの値は512(0x200)になるはずだけど、これはどう説明するの?
なお、ADCの階段の位置を0.5LSBシフトする考え方は一理あるとは思う。
0626774ワット発電中さん
垢版 |
2022/01/28(金) 09:38:22.24ID:YZP9fX9b
うーん・・・(´〜`;)

>analogReadで取得した数値に0.5足して1024で割るのが理想

もしそうなら、analogReadの戻り値自体を、
AD化のしきい値をおのおの+0.5した値でADすればいいと思うし、
そうなっているんじゃないか(図のb)と期待したくなるんだががが・・・

ていうか0.000000001V入力時に1(=最小値0+LSB)が返るという解釈(図のa)なん?
0627774ワット発電中さん
垢版 |
2022/01/28(金) 09:39:06.64ID:XdAjyt5g
>>622
春節ってしってるかい?
やつら何よりもこれ、優先するんだぜ。
つまりそういうことよ。
0628774ワット発電中さん
垢版 |
2022/01/28(金) 09:39:31.07ID:1ZJLPQY6
少ない解像度で考えりゃわかる。2bit4階調0−3出力とかで。
あと、数値じゃなくて範囲で考えるとわかりやすい。
0629774ワット発電中さん
垢版 |
2022/01/28(金) 09:47:03.25ID:yJRch6Oc
m5stackだったかもしれないが
データシートにADCの誤差のグラフがあった
多分このグラフに沿って補正すれば理論通り1023でいいんじゃないかな
0631774ワット発電中さん
垢版 |
2022/01/28(金) 10:18:13.25ID:MSkrqMQw
2bitとかの低分解能A/Dコンバータで考えてみたらいいのでは。
5Vをリファレンスとして使うラダー型D/Aとコンパレータで逐次変換型A/Dを構成するとして、
D/Aに与える値と電圧の関係は、

0-0V
1-1.25V
2-2.5V
3-3.75V

になる。
入力電圧と、D/Aの電圧を比較して超える一番低い値がA/D結果になる。
0632774ワット発電中さん
垢版 |
2022/01/28(金) 10:41:01.09ID:kCWxuMB+
>>625
文字化けすまん (921 = 4.49707〜4.50195V)

>>入力2.5VならADCの値は512(0x200)になるはずだけど、これはどう説明するの?

入力電圧により1023で計算した方が正解に近い時と1024で計算した方が正解に近い時が存在する
2.5000V入力時にADCが512を出力すれば1024で計算すると誤差が0になり正確とも言える

しかし2.5000Vを入力した場合のADCは計算上512だけど以下を見てほしい
511 ( 2.495117 〜 2.500000 )
512 ( 2.500000 〜 2.504882 )
丁度境目なんだよね、つまり511と512の可能性が半々・・・・

512*5/1023 = 2.502443 , 511*5/1023 = 2.497556
512*5/1024 = 2.500000 , 511*5/1024 = 2.495117
(512+0.5)×5/1024 = 2.502441 , (511+0.5)×5/1024 = 2.497558
1024で計算すると誤差が0になる可能性半分、誤差が最大になる可能性が半分

ADCの計算方法は最大誤差を少なくする事が重要だと思うのよ(;´・ω・)
0636774ワット発電中さん
垢版 |
2022/01/28(金) 16:17:02.98ID:lb5cHuR1
>>632
ADCの変換特性を、階段のステップの先の延長線がゼロボルトになるイメージで考えてるみたいだけど、それではオフセットが発生する。
そこで、普通は階段の踏面の中央の延長線がゼロボルトになるように作られてる。(オフセット誤差ゼロなら)

先の例のADC結果が0x200となった場合で説明すると、この時のアナログの真値は2.5V±0.5LSBとなる。つまり1024で割って何ら問題無いよ。
0637774ワット発電中さん
垢版 |
2022/01/28(金) 17:52:00.38ID:MSkrqMQw
>>634
0から1023(の1024種の結果が得られる。)だから理論的には
5/1023が1デビになる?

この考え方だと1ビットのA/Dコンバータは、
0〜1だから理論的には
5V/1=5Vが1分解能ってことになるのかな?

1023説の人に聞きたいけど、一般的な、リファレンス5Vの電圧出力D/Aコンバータは、
デジタル値がNのときに
Vout = 5V×N/256
それとも
Vout = 5V×N/255
0639774ワット発電中さん
垢版 |
2022/01/28(金) 18:46:39.04ID:YlCORXNN
よく考えてみたら10bitの最下位を扱うスキルなんて無いやw
0640774ワット発電中さん
垢版 |
2022/01/28(金) 18:56:59.09ID:MSkrqMQw
>>638
1ビットのA/Dって早い話、HかLかなんだけど、
あなたの考え方だと、
2.3Vは0?それとも1?
2.7Vは0?それとも1?
もし、分解能が5Vなら、0は何Vから何Vで、1は何Vから何Vなんだい?

1024説で、5Vリファレンスの1ビットのA/Dを説明するなら、
1分解能は、5÷2=2.5Vで、
0V〜2.5VでA/D変換結果は0
2.5V〜5VでA/D変換結果は1
ということになるよ。
0641774ワット発電中さん
垢版 |
2022/01/28(金) 19:06:00.51ID:RtGCttfI
区間の端を代表値にするから0かVrefのどっちかだけ現れて気持ち悪さが発生するのよな
0642774ワット発電中さん
垢版 |
2022/01/28(金) 19:06:57.47ID:MSkrqMQw
5Vリファレンスの1ビットのD/Aとなると、0Vか5Vという認識になってもいいはず。
(1ビットでラダー抵抗を組むことはなさそうだし)
A/D、D/Aを対称で考えるなら、やっぱり8ビットとかの多ビットで考えないと混乱を招くかもしれないな。

なんにしても、この問題って、1024説が正しいことはみんなわかっていて、
わからないふりをしている人に対して、納得できるように説明しようと試みる人を困らせてるんだよね?
説明する側も、ほどほどでいいのでは。
0643774ワット発電中さん
垢版 |
2022/01/28(金) 19:09:35.35ID:MSkrqMQw
理想のD/A変換は、リファレンス電圧とD/A値から一つの電圧値が算出できるけれど、
理想のA/D変換においては、リファレンス電圧とA/D値をもとに算出できる元の電圧は
1分解能を持つ範囲だよ。
0644774ワット発電中さん
垢版 |
2022/01/28(金) 19:21:36.50ID:LrHT+Scp
>>637
2ビットだともっと分かりやすいかな
4種類数えられる
0から3まで数えられる
33パーセント
33パーセント
33パーセント
ゼロ
4種類あるが最初はゼロしか数えられない
数えられるのは3つしかない
だから理論的には/3
/1024の人はADCでスケッチ書いたことあるの?
0645774ワット発電中さん
垢版 |
2022/01/28(金) 19:28:10.14ID:MSkrqMQw
328Pのデータシートだと、

24.6.3 ADC Accuracy Definitions
An n-bit single-ended ADC converts a voltage linearly between GND and VREF in 2n steps (LSBs).
The lowestcode is read as 0, and the highest code is read as 2n-1.

つまり10ビットのA/Dコンバータでは、
GND〜VREFを1024ステップで直線的に変換し、最小コードは0で最大コードは1023だ、となってるよ。
0647774ワット発電中さん
垢版 |
2022/01/28(金) 19:34:15.84ID:MSkrqMQw
>0から3まで数えられる
>33パーセント
>33パーセント
>33パーセント
>ゼロ
>4種類あるが最初はゼロしか数えられない
>数えられるのは3つしかない
>だから理論的には/3

理論の展開がおかしい。/3を前提にしているから、33%がでてきてる。

>4種類あるが最初はゼロしか数えられない
「最初」が変換値0を表すのだとしたら、だけど、理想の10ビットA/D変換器があるとして
そこに現実的な信号をつないだら、マイナス値でも与えない限り、変換結果0は得られないですね。
0649774ワット発電中さん
垢版 |
2022/01/28(金) 19:38:45.56ID:MSkrqMQw
>2ビットで/4だと0が25パーセントなのでゼロにはならないよ
5Vリファレンスの正電圧入力の2ビットA/Dコンバータに
0V以上の電圧を与えたとき、変換結果として0が得られたら、
入力値は0V〜1.25Vなのだといえるよ。

A/D変換結果が0のときに、入力が0Vだと言うのはそもそもおかしい。
正確には範囲で表現するべきこと。
0650774ワット発電中さん
垢版 |
2022/01/28(金) 19:40:52.93ID:MSkrqMQw
>>648
>理論的にはと前置きしています
いやー。理論になってない、ってことを↓と書いてるんだけど。
>理論の展開がおかしい。/3を前提にしているから、33%がでてきてる。
0651774ワット発電中さん
垢版 |
2022/01/28(金) 19:41:51.67ID:MSkrqMQw
そもそも、なんで4段階のうちのひとつだけを不平等にして考えるんだろう。
>33パーセント
>33パーセント
>33パーセント
>ゼロ
0653774ワット発電中さん
垢版 |
2022/01/28(金) 20:12:06.67ID:tT/m2E+m
整数(int)にアナログ(5V)的な整合性を追及してもキモイことになるだけ
10ビットでアナログ的な辻褄合わせしたいなら
float/double使って1023でオペレーションするべきかな

どうせ量子化ノイズが-60デシベル程度あるんだし
気にしない気にしない
0654774ワット発電中さん
垢版 |
2022/01/28(金) 20:20:56.61ID:LrHT+Scp
1ビットに話を戻します
0はゼロ
0の範囲は0から4.9V
1の範囲は5V
量子化の段階でこうなると思います
1は5Vに達しないと1になりません
確かに0だからといって0Vとは限らないのは分かりました
正確さを帰すなら/1ではないでしょうか?
/2で2.5Vで1とするのは精度的に問題ではないですか?
アナログだからわざと曖昧にするために/2である必要があるのでしょうか
0657774ワット発電中さん
垢版 |
2022/01/28(金) 20:37:52.54ID:LrHT+Scp
>>656
そこまで突っ込む必要があるのでしょうか
桁数が変わるだけで5.00000000000Vで1に達する事には変わりありません
0658774ワット発電中さん
垢版 |
2022/01/28(金) 21:03:52.48ID:1AmMTrBr
>>654

> 1ビットに話を戻します
> 0はゼロ
> 0の範囲は0から4.9V
> 1の範囲は5V

ネタだよな。その仮定だと1の範囲は5以上10未満になるけど10はどっから出てきた?
0664774ワット発電中さん
垢版 |
2022/01/28(金) 22:17:30.31ID:LrHT+Scp
>>663
私はど素人のズブの初心者なので
私の言ってる事が正しいかどうか分かりません
どなたかズバっと答えていただけませんか
0665774ワット発電中さん
垢版 |
2022/01/28(金) 22:38:52.83ID:MSkrqMQw
1ビットは2値。その2値が等しい電圧範囲を持つなら、5Vリファレンスなら
A/D変換値0は0〜2.5V。1は2.5V〜5.0Vですよ。

>/2で2.5Vで1とするのは精度的に問題ではないですか?
上記の電圧範囲であることの、どこに精度の問題があるのでしょうか。
ID:LrHT+Scpさん
「逐次変換A/Dコンバータ」の仕組みはわかりますか?

>1023説の人に聞きたいけど、一般的な、リファレンス5Vの電圧出力D/Aコンバータは、
>デジタル値がNのときに
>Vout = 5V×N/256
>それとも
>Vout = 5V×N/255
↑これについては、どう考えますか?
いくつかの8ビットD/Aコンバータのデータシートを見た上で考えてほしいです。

>>652でも書きましたが、328Pのデータシートに書かれていることと、あなたの説の整合性は
取れていますか?

>どなたかズバっと答えていただけませんか
2ビットなら4段階なのでVref/4ですよ。
0666774ワット発電中さん
垢版 |
2022/01/28(金) 23:35:42.46ID:kCWxuMB+
>>636
>>ADC結果が0x200...の真値は2.5V±0.5LSB
これは間違いだと思う>632でも書いたがx200(512)を出力する電圧範囲は2.500000〜 2.504882
Vin = ADC * VREF / 1024 で計算してしまうと最大0.004882(1LSB)の誤差が生じる可能性がある
0667774ワット発電中さん
垢版 |
2022/01/28(金) 23:47:15.41ID:hIRs2uDu
>>665
2bit だと
0〜1.25Vで0
1.25〜2.5Vで1
2.5〜3.75Vで2
3.75V〜5Vで3
なので、
変換値x1.25+0.625 ± 0.625 ですかね。
でも、電圧に変換して表示したときに
最低が0Vでなくて0.625Vってのは気持ち悪い。
0668774ワット発電中さん
垢版 |
2022/01/28(金) 23:51:56.77ID:MSkrqMQw
気持ち悪いかどうかで、A/Dコンバータの性質を決めちゃだめです。
0669774ワット発電中さん
垢版 |
2022/01/29(土) 00:03:19.02ID:Q8X5eVOk
ググってグラフを見てきたらなんとなく分かってきた
文字だけ見てると分からない
実験して実際に波形を見てみる
みなさんありがとう
0671774ワット発電中さん
垢版 |
2022/01/29(土) 01:03:20.00ID:wX9UZJyh
ADCの精度に夢見過ぎな奴多いな
例えば10bitADCならよい製品でも諸々込みで±2LSBくらいの変換誤差は有る前提で考えないと、安物だともっと悪化する
実はVrefの精度も検討してなかったりして
0674774ワット発電中さん
垢版 |
2022/01/29(土) 08:45:12.28ID:9mcXJhXe
>>670
元のURL
http://ww1.microchip.com/downloads/en/appnotes/atmel-8456-8-and-32-bit-avr-microcontrollers-avr127-understanding-adc-parameters_application-note.pdf

これを見て昨日のID:MSkrqMQwを修正します。
Figure 2-8.&#8192;Perfect ADC in Single-ended Mode (Adjusted Quantization)
だと、実際の値に合わせるために、0.5LSBずらしています。

これを2ビットのADCにあてはめると (面倒なのでリファレンス4Vにします)
変換値0:0〜0.5V
変換値0:0.5〜1.5V
変換値0:1.5〜2.5V
変換値0:2.5〜4V
こういうふうに作られているADCもある、ですかね。

https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
Figure 24-13を見ると、変換値0の部分はアナログ値の範囲が半分になっています。

アナログデバイセズのAD7813だと、この0.5LSBの補正は意図していないように見えます。
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7813.pdf
Figure 7. Transfer Characteristic

A/Dコンバータによってこのあたりの考え方は違うのでしょう。

実際の回路では、オフセットエラーを含め、電源レールに近いところは、ADCをドライブする回路も含めて直線性も
悪くなるので、ここの0.5LSBがどうなっているのか突き詰めても益は少ないと思います。

いずれにしても、分解能は Vref/1024 ですけど。
0675774ワット発電中さん
垢版 |
2022/01/29(土) 09:23:55.37ID:wX9UZJyh
>>674
>これを2ビットのADCにあてはめると >(面倒なのでリファレンス4Vにします)
>変換値0:0〜0.5V
>変換値0:0.5〜1.5V
>変換値0:1.5〜2.5V
>変換値0:2.5〜4V
>こういうふうに作られているADCもある、ですかね。

ねーよ
元の資料をどう解釈したらそんなことになるんだ
0676774ワット発電中さん
垢版 |
2022/01/29(土) 10:09:55.07ID:afD/MXkB
>>674
話が本質に近付いて来たね。ADCのオフセットをどう捉えるかがポイントだと思う。

元のURLとしてリンク貼ってくれた資料で説明すると、
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
の Fig24-10 Offset error がそのオフセットに該当すると思うんだけど、

その値はTable 29-15. の Offset error で規定されていて、
スペックでは 2LSB Typ. となっている。(1LSB Typ.となっている資料もある)
つまり。0.5LSBとか言ってる場合じゃないくらい大きなオフセットが現実にはある。

.たぶんこれは前段のアナログ回路も含んだ値だろうから、ADC自体のオフセットでは無さそうだけど
これくらいのオフセットは覚悟しなさいと言うことなんだろう。

そんなことで、正確な入力電圧を推定するためにはゲインとオフセットの補正は必須と言うことだね。

話を戻すと、ADCの感度は Vref/1024で計算すればOK。
これを1023とか言ってる人は、ゲインとオフセットの区別が付いていない人。まあよくいるんだけどね。
0678774ワット発電中さん
垢版 |
2022/01/29(土) 12:11:38.92ID:s3kwM2eJ
UNO(ATMEGA328)のADCを実測してみました

VREF 5000mV
1 > 11.25~16.12
2 > 16.12~21.01
3 > 21.01~25.97
2020 > 4980.16~4985.02
2021 > 4985.02~4990.01
2022 > 4990.01~4995.02

VREF 2000mV
1 > 4.14~6.09
2 > 6.09~8.03
3 > 8.03~10.07
2020 > 1991.15~1993.12
2021 > 1993.12~1995.10
2022 > 1995.10~1997.19
0680774ワット発電中さん
垢版 |
2022/01/29(土) 12:48:48.34ID:KMKi2dYY
難しいことは良くわからないのだけど
328Pのデータシートに書いてある10bitADCの説明だとADC=Vin×1024/Vrefなんで、
誤差とか無視した理想電圧でvinMAX=Vref=5Vってすると、5Vを1024で割った値に
VinとVrefの比率を掛けた値がADCに出てきますってことだよね

で、ADC=1024は10bitじゃ表せないので、ADCに実際に上がってくる値の最大は1023
この値は5V-5V/1024から5V以上の間を表すってことなので、ADCの値1に付き何Vかを
計算するのは5/1024で、値が0なら0から4,88mV、値が1なら4.89mvから9.77mV・・・
値が1023ならば4.99512V以上ってコードで作りこむことになるんだよねぇ?
0681774ワット発電中さん
垢版 |
2022/01/29(土) 12:50:38.97ID:x6ODnAkl
>>678
すごい助かる
ありがとう
つまり0は0Vではなく他と同じように幅があるから/1024ですね
0683774ワット発電中さん
垢版 |
2022/01/29(土) 12:52:58.35ID:x6ODnAkl
市販の測定器とかは厳密な数値が出ると思うんだけど
arduinoとかとはなんか違うの?
0685774ワット発電中さん
垢版 |
2022/01/29(土) 13:04:43.21ID:s3kwM2eJ
>>682
変換後(0-1024) = 変換元(0-100) × ( 1024 / 100 )
出力には小数点が含まれるので整数に直すには四捨五入するのが理想
0688774ワット発電中さん
垢版 |
2022/01/29(土) 13:18:42.66ID:0tDK0vDB
>>686
確かに広いですね
厳密な測定は補正が必要なのでしょう
とりあえず私は1024でざっくり行く事にしました
よほどの時間がないと全部の補正なんてできないし
0691774ワット発電中さん
垢版 |
2022/01/29(土) 14:09:17.74ID:s3kwM2eJ
UNO(atmega328)のanalogRead値から電圧を求めるとして
atmega328の内部で量子化補正が「有り・無し」場合

【量子化補正有り】
Vin = ADC * VREF / 1024 (誤差 小)
Vin = ADC * VREF / 1023 (誤差 大)
Vin = (ADC+0.5) * VREF / 1024 (誤差 中)

【量子化未補正】
Vin = ADC * VREF / 1024 (誤差 大)
Vin = ADC * VREF / 1023 (誤差 中)
Vin = (ADC+0.5) * VREF / 1024 (誤差 小)

実測値をみてると量子化未補正に思えるけど、データシート見てもその項目が発見できてない(俺の馬鹿!)
PICとかのデータシートはわかりやすいのに・・・( https://i.imgur.com/JOZ6gsx.png
0698774ワット発電中さん
垢版 |
2022/01/30(日) 22:30:04.01ID:T/0Ov2wp
>>678さんがやっているような実測をもって、この0.5LSBの補正がなされているかどうかの
検証をすることには、ほぼ意味がないと思う。それ以上のオフセットエラーがある。

それに入力電圧が0Vのときに変換値が0にならないようなオフセットエラーはハードでも
ソフトでも補正が効かないので、素子自体は変換値0となる電圧範囲は広く取られることが
多いのでは。
0699774ワット発電中さん
垢版 |
2022/01/30(日) 22:38:12.87ID:T/0Ov2wp
>>696
DeepLをGoogle検索するぐらいはやったうえで、分からん、って言ってるのかな?
0700774ワット発電中さん
垢版 |
2022/01/30(日) 23:06:10.09ID:txn2jw73
>>698
最初の質問(>>585)の結論を出すことが目的だとして
現状結論を出せていない
0.5LSBの補正が「有る・無し」が答えのカギとなると思う
0701774ワット発電中さん
垢版 |
2022/01/30(日) 23:33:00.47ID:T/0Ov2wp
>>700

>結論:ADCからVinへのスケーリングは「1/1024」で計算しなけ
>   ればならない。
>   「1/1023」は間違いである。

これは、明白なことなので、ここでやっているような議論をする意味がない。

誤差のある現実世界のデバイスを実測してみても、あまり意味はない。
様々なエラーを含んだデバイスを、誤差のある測定を行って、仮に
「得られた結果は1LSBは1/1023に近いものだ」
となったとしても、1LSBが1/1024であることに変わりはない。

>>698の主旨は、実験で判断してはいけない、ということなのは理解してもらってるだろか?

こういうことはデータシートかメーカーの公式資料を引用して議論するか、
個人的に納得したいなら、メーカーか公式フォーラムに尋ねるのがいい。

実測で判断したいなら、誤差のないデバイスを持ってくるべき。(数を増やして平均してもだめだよ)
0703774ワット発電中さん
垢版 |
2022/01/31(月) 03:00:15.95ID:E7gZb1Um
UNO(atmega328)の場合
Vin = ( ADC + Offset Error ) * VREF / ( Resolution -1 + Gain Error )
※Gain Error = 2LSB Typ , Offset Error = 2LSB Typ
つまり
Vin = ( ADC + 2 ) * VREF / 1025
これかもしれない・・・(;´・ω・)

詳しい人助けて( ;∀;)
0705774ワット発電中さん
垢版 |
2022/01/31(月) 09:47:52.81ID:l2DVNjYE
>>701のまとめに同意だな。

>>678 が測定してくれたVref5000mVの場合で説明すると、
近似直線は、Vin = 4.8776 * ADC + 7.4907 となっている。

傾きの理論値は 5000/1024=4.8828 なので、実際には少し小さな値で計算しないといけない
ことが判る。そこで、コードは、

#define KA 0.998932 // 感度補正係数
#define KB 7.4907 // オフセット補正量

Vin = KA * ADC * 5.0 / 1024.0 + KB; // 電圧の計算式 (mV)

と書くのが判り易くて良いと思う。
なお、式の中で定数になる部分はコンパイラがあらかじめ計算してくれるので、実際には何度も
計算が必要になる訳では無い。
0706774ワット発電中さん
垢版 |
2022/01/31(月) 09:53:47.24ID:l2DVNjYE
あと、オフセットの話だけど、
片電源のオペアンプは入力電圧ゼロ付近に30mVくらいの不感帯、つまりオフセットがある。
それに比べるとATmaga328Pのアナログ回路は優秀だと思うよ。
0708774ワット発電中さん
垢版 |
2022/01/31(月) 11:06:58.11ID:gQGTB04O
正確な実測データがあるならそれ使って校正するのは測定器なら普通のことだしなぁ。個体のクセは実測データでしか補正できないし。まぁ、正確な実測データを得るのが難しいんだけど。
0709774ワット発電中さん
垢版 |
2022/01/31(月) 11:25:26.04ID:PJAGwFnj
Vref=5Vのとき
1LSB=5/1024=0.0048828125[V]
(Vrefー1LSB)が1023(0x3ff)になるのだから
5-0.0048828125=4.995117188[v]が0x3ff

最大値が3ffだから1023で割るのかな?と思っちゃった人は
「植木算」を思い出そうず(^p^)
(1〜3ffじゃなくて)0起算だから1024段階、という単純なハナシかとおもいきや、
なんかみんなえらく難しそうなこと話してるなぁ・・・
0710774ワット発電中さん
垢版 |
2022/01/31(月) 12:04:45.71ID:oDin7+3l
1bit DAC は、0Vと2.5Vを出すのだろうか?
0Vと5Vを出すのが自然ではないか。
0712774ワット発電中さん
垢版 |
2022/01/31(月) 12:25:51.58ID:AKCqNZYY
デジタルとアナログの区別がつかないからDACが成立しないのでは?
1chステレオサウンドといってるようなもの
0713774ワット発電中さん
垢版 |
2022/01/31(月) 12:46:55.04ID:PJAGwFnj
>>710
だがしかしラダー抵抗で解説されているページが検索でヒットしたので
ざっと拝読したところ三ビット出力111で4.375Vだそうですよん(5Vではなかった)。
http://mitt.la.coocan.jp/pic/pic7_16.html
0714774ワット発電中さん
垢版 |
2022/01/31(月) 13:05:13.94ID:gQGTB04O
DACでもvrefがどの値に対応してるかによる。秋月で売ってるやつ何個か見てみたけど
vrefと2^n(nはビット分解能)
が対応。出力は2^n―1までってのが多かった。microchipとLTだけだから他のところのまではわからんけど。
0715774ワット発電中さん
垢版 |
2022/01/31(月) 14:39:52.29ID:P78s3xoV
>>710
どういう回路構成のD/Aを想定してる?
今、話題になっている逐次変換型A/Dの場合は、ラダーD/A+コンパレータの構成をとるものが
多いので、必然的に1LSBの電圧がどうなのかについてはラダーD/Aを前提に考えることになる。
ところが、1ビットD/AだとラダーD/Aにする意味がほぼない。

ラダーを1ビットにすると、単なる分圧になるので2.5V。
でも意味が乏しいからラダーにしないので1ビットなら0-5Vとなると思う。
0716774ワット発電中さん
垢版 |
2022/01/31(月) 20:09:30.40ID:QeEdevin
10ビットA/DでVref/1023考えると精度が要らないから2ビット無視して
8ビットA/Dとして使うときVref/255になるのかVref*4/1023になのかと
考えると1023というのがおかしいことが分かる。
10ビットでVref/1024
8ビットでVref/256
となるのが自然な考え。
0717774ワット発電中さん
垢版 |
2022/02/01(火) 02:24:04.53ID:O6NLGNsN
◆Offset
The deviation of the first transition (0x000 to 0x001) compared to the ideal transition (at 0.5 LSB). Ideal value: 0 LSB.
0>1に変化する理想の場所は0.5LSBの位置と有るのでこの説明だと量子化補正の有る理想ADCとの比較が前提となってる

◆Gain error:
After adjusting for offset, the gain error is found as the deviation of the last transition (0x3FE to0x3FF) compared to the ideal transition (at 1.5 LSB below maximum). Ideal value: 0 LSB
1022>1023に変化する理想の位置は最大値(VREF)から-1.5LSBの位置と有るので量子化補正の有る理想ADCとの比較が前提となってる

データシート読むとゲインエラーはオフセット補償をした後の値と有るので

Arduino(UNO)はこれが正解じゃないだろうか・・・
Vin = ( ADC + Offset ) * Vref / ( 1024 + Offset + ( Offset - Gain error ) )
Vin = ( ADC + 2 ) * Vref / ( 1024 + 2 + 2 - 2 )
Vin = ( ADC + 2 ) * Vref / 1026
(※オフセット・ゲインエラーはデータシートの標準値を適応)

参考資料
ATmega48A/PA/88A/PA/168A/PA/328/P(Data Sheet)
AVR120: Characterization and Calibration of the ADC on an AVR (APPLICATION NOTE)
AVR127: Understanding ADC Parameters (APPLICATION NOTE)
0718774ワット発電中さん
垢版 |
2022/02/01(火) 08:13:01.81ID:nFKWdBwL
>>717
328PのデータシートのADCのエラーは、2LSBって書いてあったら、それは±2LSBだよ。(おそらく常識的に)

あと、実回路ではA/D変換に入るまでの回路の誤差もついてくる。
Vref/1024は理屈での話にすぎない。(理屈の話において、Vref/1023は誤り)

オフセットもゲインも実際のセットではリテラル値ではなく、ファームまたは
ハードウェアで作られる変数にするわけだしね。
(ファームならEEPROM、ハードウェアなら半固定抵抗などですね)

入力電圧がいくらなのか、って話をするときに、理屈の話なのか、実際の電圧を知りたいんだ、なのかは
切り分けないといけない。

Vref/1023かVref/1024かは、結果的にはゲインエラーとして効いてくるけど、1024と1023とを取り違えた
ところで、ここで発生する誤差は0.1%にすぎない。でもそのもとのVrefの誤差のほうがはるかにでかい(ことが多い)。

議論の中でVref=5Vがたびたび出てきたけれど、回路内で完結する何かの電圧が同じ5Vから分圧して得られている
ケースをのぞけば、この5Vの誤差がそのままゲインエラーにつながる。
7805みたいなレギュレータで作った5Vなら、数%の誤差があるよね。

328Pには1.1V内蔵リファレンスもある。こっちは正確かなw
0722774ワット発電中さん
垢版 |
2022/02/01(火) 22:53:01.40ID:TBK58kUv
使わないボードを選択する一覧から消したいのですが、どこを消せばいいのでしょうか?
promicro,promini5v,promini3.3v
この3つを頻繁に切り替えるので他のやつを非表示にしたいです。
0723774ワット発電中さん
垢版 |
2022/02/02(水) 11:04:00.47ID:rgOmbtSk
>>718
最初は自分もデータシートの誤差は±2LSBって意味だと思ってた
でもデータシートでは数値は以下の様に明確に区別されてるので±ではないと思われる(たぶん・・・)
https://i.imgur.com/SyzxuYu.png
もう一つの理由としてオフセット誤差・ゲイン誤差の数値がMaxではなくTypとして表記されてる事もある
±2等の誤差で有ればTypではなくMaxの方に記載されてるもしくは(Min>-2LSB MAX +2LSB)の様な表記になるはず

以上の事から自分は±ではなく2LSBの誤差を標準値として考慮する必要があると判断した

議論の中心はanalogReadから入力電圧を求める正しい式は何か?だと思ってる
機種の話は直接的には出てないけどArduino UNO(atmega328)を前提に考えてる
個体差での誤差は考慮出来ないので標準的な誤差はデータシートのTypを元に補償する場合での正しい式を求めようとしてる

ついでに混乱の原因としてAVRのデータシートでも2種類の計算式が記載されてる
https://i.imgur.com/sWKwOtU.png
https://i.imgur.com/GvoiOZ4.png (ATmega4809)
UNO(ATmega328) -> 1024
Micro,Leonardo,(ATmega32U4) -> 1023
Nano Every(ATmega4809) ->1023
0724774ワット発電中さん
垢版 |
2022/02/02(水) 12:22:20.17ID:BHVVT3Oa
>>723
もし標準的に+2LSBになるようにデバイスを製造できるのなら、標準的に0LSBに合わせて製造すればいいのに
なんでそうしなかったんでしょね。

>議論の中心はanalogReadから入力電圧を求める正しい式は何か?だと思ってる
現実の入力電圧を求めるのはハードウェアかソフトウェアの個別チューニングですよ。あくまで理屈の話でしかありません。

「Vref/1024で計算しているから」あるいは「データシートに書かれた標準誤差を含めた計算をしているから」という根拠で
「この装置は正しい入力電圧を得ている」と言えることなんてないです。

それより、>723で興味深いのは、1023と書いているデータシートです。

https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7766-8-bit-AVR-ATmega16U4-32U4_Datasheet.pdf
これの310ページで、たしかにADC=VIN*1023/VREFとなっています。
でも差動チャンネル(10ビットを±9ビットで使う)だと511ではなくて、512なんですね。

一方で、307ページには、
An n-bit single-ended ADC converts a voltage linearly between GND and VREF in 2^n steps (LSBs).
「シングルエンドの10ビットのADコンバータは、GNDからVREFを1024ステップで直線的に変換する」とあります。
また、1023と書かれている310ページにも
0x000 represents analog ground, and 0x3FF represents the selected reference voltage minus one LSB.
変換値0は、アナロググランド、変換値1023は、[選択したリファレンス電圧]-[1LSBの電圧]
となっています。記述に矛盾がありますので、どこかが間違っている可能性が高いと思います。
0725774ワット発電中さん
垢版 |
2022/02/02(水) 13:48:50.67ID:eUN5HOQU
電池駆動のとき電源電圧が変動すると思うんですが、
例えば、4.8V-3.3Vに変動したとき、処理速度とかAD変換とか
何か弊害が出ることはありますか?
0728774ワット発電中さん
垢版 |
2022/02/02(水) 20:18:05.72ID:BHVVT3Oa
>>725
A/D変換のリファレンス電圧が電源電圧からとられたものだったら、その分狂うね。

ただし、たとえば電源電圧とGNDをサーミスタと抵抗で分圧して温度を測るような
しくみだったら、実害は小さいだろうね。
0730774ワット発電中さん
垢版 |
2022/02/04(金) 10:06:17.57ID:m1hjy2FD
>>722
ttps://programresource.net/2020/02/28/3015.html

boards.txt を編集して、非表示にしたいボードに .hide=true を設定すればおk
0732774ワット発電中さん
垢版 |
2022/02/06(日) 17:50:35.59ID:Qv5lIRJJ
int raw = analogRead(A0);
map(raw, 0, 1024, 0,5000);

ってするとえわわわに届かない
0733774ワット発電中さん
垢版 |
2022/02/06(日) 18:11:13.26ID:x0TYMLvF
アドバイス求む
Arduino Pro miniをピンヘッダーを設置と同時に「ヒューズビット」及び
「.hex」ファイルの書換えを行いました。
ユニバーサル基板に「Arduino Pro mini」「USB to TTL converter」「ICSP端子」「その他必要配線」を設置したので
動作確認の為、AVRライターでPro miniと通信しようとしたが、何故かエラーで通信できない?
◆試した事
・デジタルマルチメーターでの導通test -> 問題無し
・ポリウレタン銅線を2度の取替 -> 改善せず
・配線ミスの確認
・本体「Arduino Pri mini」は問題無く動作確認済
●先人の方に何か見落とし等がありましたらアドバイス願います。
0735733
垢版 |
2022/02/06(日) 19:59:14.34ID:x0TYMLvF
お騒がせ致しました。
PCのUSB端子口を変えたら問題無く通信出来ました。
0737774ワット発電中さん
垢版 |
2022/02/07(月) 08:08:40.07ID:3tV6KbeJ
∧_∧  / ̄ ̄ ̄ ̄ ̄
( ´∀`)< オマエモナー
(    )  \_____
| | |
(__)_)
0740774ワット発電中さん
垢版 |
2022/02/07(月) 20:10:43.00ID:qgM8WVyT
「変ちきなジジイがおりましてさ、百二十畳敷きの紙に大達磨を描いてみたり、かと思えば米一粒に雀を二羽描いてみたり」
0741774ワット発電中さん
垢版 |
2022/02/08(火) 08:38:11.40ID:hWyYAG00
nanoにUSBコネクタに繋いで
5Vピンからも5V注入したら壊れる?
0744774ワット発電中さん
垢版 |
2022/02/08(火) 12:11:28.73ID:5LhPVNwx
電池駆動だとどこから電源供給するのが良いの?
VINだと6Vから12V
余分な電圧は熱になるが5Vは安定しそう
5Vから入力だと5Vピッタリじゃないとダメなので電池の電圧が瞬間的にちょっと下がっても無理そうだし
0746774ワット発電中さん
垢版 |
2022/02/08(火) 12:22:58.87ID:5LhPVNwx
>>744
すいませんこれいきなり質問しました
ものは問いません何でもいいです
とりあえずUNOとかm5stackとかは気になります
0747774ワット発電中さん
垢版 |
2022/02/08(火) 12:43:49.34ID:YWvVoNd5
UNOはNanoと同じ、これをバッテリー運用しようとはあまり思わないだろう
M5はバッテリー内蔵をチョイスする
0748774ワット発電中さん
垢版 |
2022/02/08(火) 15:46:40.56ID:nzJDrm/w
uint8_t id[8]
char buf[17];

snprintf(buf, sizeof(buf), "%02X%02X%02X%02X%02X%02X%02X%02X", id[0], id[1], id[2], id[3], id[4], id[5], id[6], id[7]);

これってもっと短く書けない?
速度も重視な感じで。
0750774ワット発電中さん
垢版 |
2022/02/08(火) 18:47:51.51ID:TGCMLWV+
>>748
sprintfを使わない分メモリ使わないし早い。
見かけの行数は増えるけどね。

uint8_t id[8];
char buf[17];
const char *hex = "0123456789ABCDEF";
for (int pos = 0; pos < 8; pos++) {
buf[pos*2] = hex[(id[pos] >> 4) & 0x0f]; // マスクは不要だが符号ありにも対応するため
buf[pos*2+1] = hex[id[pos] & 0x0f];
}
buf[16] = '\0';

動かしてないからミスがあったらゴメン
0752774ワット発電中さん
垢版 |
2022/02/08(火) 20:21:04.86ID:YWvVoNd5
短くというよりもっとスマートに書けないものかという要望だと思われ
特に[0]-[7]まで並べる部分が生産性低そうでアホっぽく見えるな
0753774ワット発電中さん
垢版 |
2022/02/09(水) 06:03:49.83ID:en6vxalM
sprintfはバッファオーバーフロー起こすからsnprintfやsprintf_s使った方がいいよ
0754774ワット発電中さん
垢版 |
2022/02/09(水) 08:02:04.06ID:p96PHbRJ
バッファオーバーフローなんて起こさないようにプログラムすればいいだけ
0756774ワット発電中さん
垢版 |
2022/02/09(水) 08:54:27.08ID:Zl7w0cu5
気をつければ済む話、というのはだんだん廃れていってる考え方だね。
0757774ワット発電中さん
垢版 |
2022/02/09(水) 08:58:54.59ID:ENYYRk8/
>>756
組み込みで自分で作って自分で使うものなら問題ない
ファンクションのバッファオーバーフローが問題になってるのはプロジェクトが大きくなってそこでバッファオーバーフローが起こるか起こらないかを把握する事が難しくなったからCPUパワー使ってもファンクション側でチェックすれば安全という考え
絶対にオーバーフローしないような実装ならチェックするだけ無駄
0758774ワット発電中さん
垢版 |
2022/02/09(水) 09:07:47.49ID:FAgDzBvE
関数の呼び出しコストや
ビットオーダーの問題考えたら考えると
sprintfでよくね?
0760774ワット発電中さん
垢版 |
2022/02/09(水) 09:14:27.13ID:ENYYRk8/
%sで何が突っ込まれるかわからないみたいな状況じゃなきゃ問題は起こらないし
そもそも↑の様な状況を作ってはいけないからな
0763774ワット発電中さん
垢版 |
2022/02/09(水) 12:37:37.27ID:sJHnKS7U
すいませんここで聞いていいのか分かりませんが
オペアンプを8個ボルテージフォロワで使いたいのですが
小さくなったICとかでありますか?
用途はアナログセンサーの基準電圧に使いたいです
0764774ワット発電中さん
垢版 |
2022/02/09(水) 13:21:08.88ID:3ce4O07g
>>763
別にここでもいいけど初心者質問スレの方が適切。あと基準電圧ならボルテージフォロア必要ないと思うが。センサーと言ってもいろいろあるんだから型番ぐらい先に出しとけ。
0765774ワット発電中さん
垢版 |
2022/02/09(水) 19:48:28.42ID:YWZgSZaM
ド素人の質問です。
elegoo unoにEthernet2Shieldを載せてWebSerberのサンプルスケッチを実行しているのですが、
PCからブラウザでunoのipを入力しても見ることができません。
環境はWiFiルータにunoを有線接続し、PCは無線接続しています。
WebServerのスケッチのMACアドレスをEthernet2Shieldに記載のものにし、
IPはPCと同じセグメントでホストだけ変えています。
何が悪いのかさっぱりわかりません。
0767765
垢版 |
2022/02/09(水) 21:49:30.29ID:YWZgSZaM
>>766
環境がすぐに用意できないんですよね
0768774ワット発電中さん
垢版 |
2022/02/09(水) 23:54:19.11ID:Nr81dDlJ
例えばDHCPクライアントでもないのに
勝手に無線有線間でルーターのAP機能がオンになるんだろうか?

結局適切なテスト環境でっち上げてピング撃ちまくらないと
原因究明できない気がする
0769774ワット発電中さん
垢版 |
2022/02/10(木) 00:20:34.29ID:imKmHEgM
>>765
ブラウザで接続を試みた直後、PC側のarpキャッシュにエントリーは出来てない?
あとはPCにwireshark入れてパケットキャプチャ
0770765
垢版 |
2022/02/10(木) 07:33:42.41ID:ojsl/jWc
>>766,768,769
なんか朝イチでやってみたところつながりました。
単に入力IPを間違えていたか、Arduinoの電源を入れてからLANケーブル差していたかも。
ボケててすみませんでした。
0771765
垢版 |
2022/02/10(木) 07:45:17.90ID:ojsl/jWc
実はもう一つ質問があります。
あるサイトでEthernet2Shieldは10,11,12ピンを使用するので、
それらのピンは使用できなくなると書いてありましたが、そうなのでしょうか?
そうだとしたらShield自体にもそれらのピンを差すところがありますが、
なんの意味があるのでしょうか?
実際にそれらのピンを使用する回路で、Shield有りの場合は正常動作しませんでした。
Shieldを使用したい場合、それらのピンの使用は諦めて代替手段を考えるべきでしょうか?
なおShieldのSDカード利用は考えていません。
0772774ワット発電中さん
垢版 |
2022/02/10(木) 09:20:02.64ID:5Db+4FJL
>>752
ループで何回も関数呼ぶよりまとめてスタックに積んだほうが合理的だけどな
0773774ワット発電中さん
垢版 |
2022/02/10(木) 09:45:42.25ID:tAjJf+IW
>>748
じゃあ僕は速度重視だだだ!(^p^)
inline uint16_t Int2Ascii02x(uint8_t uArg){
switch(uArg){
default: return 0x0; // error code.
case '\x00': return 0x3030;
case '\x01': return 0x3031;
... // 中略、全256パターン列挙
case '\xff': return 0x6666;
}
}
を使って直にバッファに書こうぜ!(^p^)(展開後何行だよ・・・)
0774774ワット発電中さん
垢版 |
2022/02/10(木) 10:05:35.14ID:GLyGYNwv
>>771
SPIで通信に使っちゃってるんだから仕方ない
ヘッダがそのピン用にも付いてるのは複数のSPIスレーブデバイスをぶら下げるためか、そこだけ削るのが面倒か
0775774ワット発電中さん
垢版 |
2022/02/10(木) 10:06:19.66ID:sir1nNwM
>>771
10,11,12ピンはSPIインターフェイスだけど、チップセレクトでデバイスを適切に選択すれば他のSPIからでも使えるはず。
でも、そんなに色々やるとRAMが足らなくなりそうな気が、
0777774ワット発電中さん
垢版 |
2022/02/10(木) 10:38:08.32ID:tAjJf+IW
嗚呼成程グローバル変数に変換テーブルとして配列を宣言しておいて、
unsigned char ucAscii[]={
'\x3030', //00
'\x3031', //01
'\x3032',//02
...
'\xfe',//254
'\xff'//255
};

buf[0]=ucAscii[id[0]];
buf[1]=ucAscii[id[1]];
...
buf[7]=ucAscii[id[7]];

か。
(※ buf[i]=ucAscii[id[i]];でループ回すより7パターンぐらいなら並べた方が展開後ステップ数は短く早いかも)
0779774ワット発電中さん
垢版 |
2022/02/10(木) 10:49:29.46ID:tAjJf+IW
あぁぁぁあ やってもうた(^p^;)
'\x6665',//0xfe
'\x6666'//ff
でしたな、さーせん><;
0780765
垢版 |
2022/02/10(木) 10:55:55.61ID:ojsl/jWc
>>774,775
SPIのスレーブ用ということで理解しました。
Shield以外での当該ピンの使用は諦めてI2Cモジュールでも使います。
ありがとうございました。
0781774ワット発電中さん
垢版 |
2022/02/10(木) 12:30:18.88ID:FGDdBJLW
inline void byte2str(const uint8_t (&num)[8], char (&str)[17])
{
static const char *hex = "0123456789ABCDEF";
char *ps = str;

for (uint8_t i = 0; i < 8; i++)
{
*ps = hex[num[i] >> 4];
ps++;
*ps = hex[num[i] & 0x0f];
ps++;
}
*ps = '\0';
}
0785774ワット発電中さん
垢版 |
2022/02/10(木) 13:47:20.06ID:o0EHZX/u
最適化でコケるパターン
0787774ワット発電中さん
垢版 |
2022/02/10(木) 19:27:10.50ID:ZNRhX1mu
v(ブイ) v(ブイ) v(ブイ) ビクトリーコンパイル出撃だー

たとえ最適化がこようとも、たとえ割り込みこようとも
0788774ワット発電中さん
垢版 |
2022/02/10(木) 20:01:43.57ID:ul3Yglxk
いや、さすがのこんばとらーVolatile(?)も、割り込みがかかったら勝たんやろ・・・w
0790774ワット発電中さん
垢版 |
2022/02/11(金) 06:12:22.98ID:EuUJ8JC/
電池駆動で自身の電源電圧を読んで電圧によって動作を変えたいのですが、調整する時にPCとSerial接続していると読み取り値が微妙にずれてしまいます。
スマートに調整する方法は無いでしょうか?
0793774ワット発電中さん
垢版 |
2022/02/11(金) 12:39:23.38ID:u2ZsFzcO
>>790
>PCとSerial接続していると、
これを文面通りに解釈するとTX,RX を接続したことになるけど、これで電源電圧の変化は測定できないくらい僅かなはず。
ひょっとしたら、PCとUSBコネクタで接続した場合を言ってるんだろうか。
0794774ワット発電中さん
垢版 |
2022/02/11(金) 12:47:19.63ID:cd1K8X9w
回路もスケッチも具体的な数値変動も不明だと正常か異常な動作かもわからん。答えようがない。
0796774ワット発電中さん
垢版 |
2022/02/11(金) 16:25:50.21ID:u2ZsFzcO
>>795
USBコネクタを挿すとPCから5Vが供給されるので勝手に電源が切り替わっちゃうので困るって話か。
それはUSBコネクタ使わないで調整するしか無いね。

ボードのTxに情報出してるみたいだから、PCに接続したUSBシリアルモジュールを使って、ターミナルソフトでその情報を読むのが普通だと思う。
別にUNOのボードがあればArduino IDEのシリアルモニタでも同じことができる。
0798774ワット発電中さん
垢版 |
2022/02/13(日) 15:13:50.08ID:c7uBE0rQ
Arduinoを使ったNi-MH電池充電器の定番ってある?
別にマイコンを使わなくてもいいけど、シンプルな部品構成でできたら良いな
0799774ワット発電中さん
垢版 |
2022/02/13(日) 18:50:44.16ID:I+c3+Rli
高速充電対応のNiMHワンチップコントローラーが
今の時代でも在庫あると思うけど・・・
足も8本くらいじゃないかな

NiMHの終了条件は電圧の変化率(dV/dt)が多いと思うが
妥当な設計と試験を考えたら難しいよ
それから充電中の本体稼働の余分の電流こと考えたら既成のパッケージしかないかな

あと簡単というなら市販のLi充電モジュールではだめなんかな?
0802774ワット発電中さん
垢版 |
2022/02/13(日) 20:30:08.58ID:/Px1SXQJ
というかNi-MHの充電って、抵抗で電流制限してタイマーで適当に止めればいいだけなのね
0804774ワット発電中さん
垢版 |
2022/02/14(月) 08:26:50.21ID:5G9kkAKA
>>802
0.1cまでならそれで良かったはず、ニカドも似たような感じだったよな確か
1cとかで充電する場合は充電終期の温度上昇が大きくなるんで温度を直接測る代わりに-儼検出するんだった気がするよ
充電中は監視を怠らずご安全に
0807774ワット発電中さん
垢版 |
2022/02/15(火) 12:13:20.68ID:3zzuItLp
MAXIMはかつてMAX712/MAX713とかいうのを出してて当然-ΔV/ΔV=0も見てるし温度監視用サーミスタ接続端子も付いてた、ただ16ピンだったしすでに入手が困難、それがDS2715になったのかな
中華では8PinのIC(型番不明)が乗ったモジュールが売られてる、充電電流とかセル数とか設定できるらしいが充電完了(満充電)をどこまで見てるかはよくわからん
0808774ワット発電中さん
垢版 |
2022/02/17(木) 23:01:41.88ID:ifFKjNMB
ArduinoでRCプロポのPWM出力エミュレータみたいなものを考えています。
出力先はESC基板です。

スティックを動かしたときに
パルス幅がmin1000〜1500〜max2000
と変化するのですが、

パルス幅2000で5秒
パルス幅1000で2秒
と出力したい。

digitalWrite(CH4_PIN, HIGH); // ピン4をHIGHに
delayMicroseconds(2000); // パルス幅分停止させる
digitalWrite(CH4_PIN, LOW); // ピン4をLOWに
delay(20);
digitalWrite(CH4_PIN, HIGH); // ピン4をHIGHに
delayMicroseconds(1000); // パルス幅分停止させる
digitalWrite(CH4_PIN, LOW); // ピン4をLOWに
delay(20);

と考えたのですが、時間軸が・・・・・。
ご教授お願いします。
0809774ワット発電中さん
垢版 |
2022/02/17(木) 23:17:26.25ID:1kSFPvNs
パルス幅の単位はusなのか?
Lのパルスは20us固定なのか?
仕様をきちんと書け。

5秒/(2000us + 20us) で回数求まるだろり
0810774ワット発電中さん
垢版 |
2022/02/17(木) 23:32:51.64ID:ifFKjNMB
>>808
>>809

パルス幅の単位はμs
LOWは20μs固定です。

ソースの書き方がわから人です。
0812774ワット発電中さん
垢版 |
2022/02/17(木) 23:54:36.56ID:ifFKjNMB
>>809
>>811

ありがとうございます
やってみます
0813774ワット発電中さん
垢版 |
2022/02/18(金) 08:34:42.77ID:YCWkLsna
ID:1kSFPvNs お前優しいな
でもぐるぐる回さんほうがエエと思うで
0814774ワット発電中さん
垢版 |
2022/02/18(金) 08:58:21.22ID:YCWkLsna
>>808
https://qiita.com/suzukinori/items/939cc9f49e535c4eadd7
例えばこういうの見ろや。

808スタイルで行くと応用効かないぞきっと。

808スタイルはこんな感じ?
まずはこれやって
次これやって
その次なんだっけ?
って地図もなくエベレスト登るやり方

理想は
市販装備品どんなのあるか網羅的に把握
対象の場所の先遣隊が残した地図をもらい受ける

今回のでは
一定パルス出す方式バリエーション調査
特定の時間を得る方法の調査 をまずやるべき

で、調査の結果これとこれの組み合わせがベスト?って他人に聞けば良い。
0816774ワット発電中さん
垢版 |
2022/02/18(金) 13:01:02.92ID:AwQTXteM
>>814
そんなことしてるからいつまでも登れないんだよ。
ベストの方法なんて探しても無駄。
0817774ワット発電中さん
垢版 |
2022/02/18(金) 13:27:08.05ID:Uq2Kg2pN
>>816
やってみてトライするから中途半端なのよ
どうせこんなことメインでしつづけるわけないだろ?最短のベスト解すぐに探せる。一行ずつ実践なんて不要

>>808はこう聞けばよかったんよ

ArduinoでRCプロポのPWM出力エミュレータみたいなものを作りたい。(これが目的)

スティックを動かしたときに
パルス幅1000で2秒
パルス幅2000で5秒
パルス幅1000で2秒
と出力したい。

コードの書き方はやったことがない(これが目的じゃ無い、色々別のものもやる予定なし)

ですが、どんなコーディングするのがスマートですかね?

digitalWrite(CH4_PIN, HIGH);や
delayMicroseconds(2000); や
delay(20);はかろうじて理解したレベルです。

ご教授いただけたら嬉しいです。
0819774ワット発電中さん
垢版 |
2022/02/18(金) 13:37:05.04ID:U4Ya77U2
>>815
パルス出すだけならそれでいいけど
最終目標はプロポの出力エミュレータなんだから
要求が複雑化するとすぐついていけなくなるぞ
すぐにおもいつくのは
・PWM周波数の微調整
・スティックのリニアリティ(BカーブなのかAかCか
・ヘッドアップ、ヘッドレススイッチ(上下左右方向の逆転
・センサーを追加して脱調検出
0820774ワット発電中さん
垢版 |
2022/02/18(金) 13:38:08.75ID:U4Ya77U2
あと8chとかだとマイコンなら1個で済むけど、555なら8回路いる
0821774ワット発電中さん
垢版 |
2022/02/18(金) 13:41:22.79ID:U4Ya77U2
更にそれぞれが同期しない問題もあるけど、トリガでうまいことやればそこは解決しそうな気もするけど
捨て案を育てても無駄なので放棄
555は本当にニッチな場面でしか出番が無いよ
0822774ワット発電中さん
垢版 |
2022/02/18(金) 13:50:43.31ID:U4Ya77U2
更にそれらの設定をプロファイルとして記憶して簡単に呼び出し
フタバxxx型のエミュレーション
タミラxxx型のエミュレーション
と切り替えられるようにと要求があがってくると、ボリュームで設定してた555はお手上げだろう
0823774ワット発電中さん
垢版 |
2022/02/18(金) 13:55:04.97ID:0UEieox/
ベースのノコギリ波をひとつ発振させて
後はチャンネル分のコンパレータを用意して
D/A繋いでパルス幅の電圧を出力してノコギリ波とコンペアすればいい
0824774ワット発電中さん
垢版 |
2022/02/18(金) 14:02:32.59ID:U+3JHR8D
555でできるのは簡単なサーボテスターまで
プロポのエミュレーターとか無理ゲー
0826774ワット発電中さん
垢版 |
2022/02/18(金) 14:36:31.10ID:AwQTXteM
>>817
だから、「パルス幅2000」って何だよ?w

スティックの動きを検出したら
2秒間パルス幅1000
5秒間パルス幅2000
2秒間パルス幅1000
終わり

にしたいの?
そうじゃない気がする。
0827774ワット発電中さん
垢版 |
2022/02/18(金) 16:52:44.85ID:9LTQRYMz
シリアルモニタの起動時のウインドウサイズは
変更不可ですか?preferences.txtを弄っても
起動後にデフォ値に戻ってしまいます
0832774ワット発電中さん
垢版 |
2022/02/19(土) 01:38:24.37ID:a+XGxJTw
あれはOutputペイン左上の[Serial Monitor X]の[X]をクリックで消す。
Outputペイン自体は、ペイン右下のウインドウマークアイコンクリックで消す(トグル)。
何にせよ、シリアルモニターが別ウインドウでないのは非常に使いづらい。
0837774ワット発電中さん
垢版 |
2022/02/19(土) 05:17:14.12ID:gfIIBEze
>>819
何をそんなに必死になってるんだ?

まあ、Bカーブ使うなり、AやCなら二連にしたらどうだ?とか、
まてよ、オペアンプ対数掛けてやったらどうだ?とか、
微調整とか逆転とかは、半固定やスイッチで実現できるかもな
とか、シリーズに送るなら、FETで切り替えてパルス生成部は一個で間に合わせられないかな?
とか、考えてみるのもいとをかし。

どうせ趣味なんだら

PSoCだったら、そういうアナログ併用の遊びもマイコン内部でできたんだろうな。
0838774ワット発電中さん
垢版 |
2022/02/19(土) 06:49:44.84ID:kOMgK+R9
555の等価回路観てるとあれは神が人類に与えたものだと思っちゃうよね。
アナログも数値計算でできてアナログよりも正確に簡単に等価な事がプログラマブルになってる今を観てるとあれは神が人類に与えたものだと思っちゃうよね。

天地創造の2つのシーンに生きてる幸せだわ
0840774ワット発電中さん
垢版 |
2022/02/19(土) 09:46:41.07ID:J2sOkc5f
vsコードでUploadの時ワークスペース内のスケッチが全部選択に現れるのはどうにかなりませんか?
0841774ワット発電中さん
垢版 |
2022/02/19(土) 12:41:34.85ID:XobEqdq/
>>835
Ubuntuを使えw
Raspberry Pi 4に対応してるのは20.10からだけど
俺はLTSじゃないと使いたくないのでUbuntu Server 20.04入れてる
今年の4月か5月ごろに22.04LTSが出るはずだからそれでもいいかもね
デスクトップはMateにしてる
0842774ワット発電中さん
垢版 |
2022/02/19(土) 13:02:20.32ID:XobEqdq/
Arduino Nano 33 BLEがスイッチサイエンスで売ってるけど
ピンヘッダ実装済みの方はあるけど、もうピンヘッダなしの方は在庫0になってるね
Arduino Nano 33 BLE Senseはまだあるけど
0843774ワット発電中さん
垢版 |
2022/02/19(土) 13:09:04.18ID:XobEqdq/
Arduino Nano 33 BLEのチップのnRF52840はCortex-M4なんだね
nRF52840のページみたらCortex-M4 with FPUになってるので
単精度のFPUがついてるCortex-M4だと思われる
0845774ワット発電中さん
垢版 |
2022/02/19(土) 14:04:43.32ID:XobEqdq/
なんだArduino Nano 33 IoTは
SAMD21でCortex-M0+でFlashもRAMも少ないのか
Arduino Nano 33 BLEと同じマイコンかと思ってた
0846774ワット発電中さん
垢版 |
2022/02/19(土) 18:23:04.92ID:mai3Pdf6
表面実装の328pや328pbはいつになったら購入できるんだろう。
一年かけてやっと基板作ったのに、どこにも売ってないよ( ノД`)…
0851774ワット発電中さん
垢版 |
2022/02/19(土) 19:53:44.90ID:TlUI4RFJ
リードタイム52週ってのがぜんぜん消えないなー
3月くらいには40週とかになってると思ってたのに
0852RC
垢版 |
2022/02/22(火) 12:43:28.76ID:j8x9X3Sh
こんにちは


こんにちは
0853RC
垢版 |
2022/02/22(火) 12:44:03.75ID:j8x9X3Sh
すいません。間違いました。
初投稿です。
Maker nano(秋葉原の秋月電子で購入したArduino nanoの互換機)とHC-05(amazonで購入したBluetooth通信モジュール)の通信、接続がうまくいかず困っています。

・やりたいこと
→AndroidスマホとArduinoで通信してラジコンを作りたい

・やっていること
まずピンを接続し、ATモードで親機、子機の設定(今回は子機に設定)、通信速度の設定を完了させました。空スケッチをArduino側に送ってシリアルモニタを表示させ、androidスマホのBluetoothコントローラーアプリをいじると、スマホ側で入力した内容がPC上のシリアルモニタに表示するのは確認できました。
さらにArduinoのTXの表示LEDが、スマホで送信するたびに点灯する様子も確認できました。
Bluetoothコントローラーアプリはgoogle playで入手した“Arduino Bluetooth”を使用しています。

次に試験としてandroidスマホ側で0を送信したらLEDが消灯し、1を送信したらLEDが点灯するようなスケッチを作りました。そうするとスマホで送信した内容は一切シリアルモニタに表示されないどころか、TXも光らず、接続できていないように思いました。
試しにArduinoに接続したPCのシリアルモニタの送信欄に0や1を入力すると、LEDが点灯したり消灯したりしました。

・聞きたいこと
接続の方法がおかしいのか、スケッチの内容がおかしいのか知りたいです。空スケッチの状態ではスマホで入力した内容がPC上のシリアルモニタに表示されていたため、つながってはいると思いますが、これ以上調べても何も出てきませんでした。

以下、試験用で使用したスケッチの内容です。
#include <SoftwareSerial.h>

SoftwareSerial MYport(0, 1);
int BTdata;

void setup() {
pinMode(12, OUTPUT);
Serial.begin(38400);
MYport.begin(38400);
Serial.println("Connect-Complete");

}

void loop()
{ if (MYport.available() > 0) {
BTdata = MYport.read();
if (BTdata == '0') {
digitalWrite(12, LOW);
Serial.println("LED消灯");

}
if (BTdata == '1') {
digitalWrite(12, HIGH);
Serial.println("LED点灯");
}
}
delay(10);
}

接続はhttps://novicengineering.com/arduino%E3%82%92%E7%94%A8%E3%81%84%E3%81%A6hc-06%E3%81%A7android%E3%81%A8bluetooth%E9%80%9A%E4%BF%A1%E3%82%92%E3%81%99%E3%82%8B/の「手順」の方法でやっています。
よろしくおねがいします。
0854774ワット発電中さん
垢版 |
2022/02/22(火) 13:34:45.63ID:fBmDXDPD
スマホ側(androidスマホの
Bluetoothコントローラーアプリ)→ PC(シリアルモニタ)

の確認に使ったソースはどのようなものですか?
0855774ワット発電中さん
垢版 |
2022/02/22(火) 14:50:45.28ID:suJ8R9WU
今回のはAndroidとモジュールの間の問題だろうけど、デバッグ用にBTの受信生データは全部シリアルに流した方が良いと思う。
0856RC
垢版 |
2022/02/22(火) 15:39:35.28ID:j8x9X3Sh
https://imgur.com/EvZkCJE
これがandroid側で設定した送信アプリです。
緑が1、赤が0になるようにしています。

https://imgur.com/m0uvYSl
これがarduinoに空スケッチを送った時のシリアルモニタです。
ボタンを押すたびに0,1を繰り返しています。
0857774ワット発電中さん
垢版 |
2022/02/22(火) 15:46:10.72ID:fBmDXDPD
>>856
後者の動作をされた時のソースコードは
どういう内容になっていますか?

空スケッチ コピペ元のURLでも構いませんが。
0858RC
垢版 |
2022/02/22(火) 15:55:55.71ID:j8x9X3Sh
https://imgur.com/Rto4Eap

この動画のように、PC上のシリアルモニタの送信欄で0,1を入れれば
LEDが点灯したり消灯したりしますが、スマホのアプリ上で操作しても
何も変わらないです。

スマホからの送信データをシリアルモニタに書き込んでいないのが問題でしょうか?
0859RC
垢版 |
2022/02/22(火) 15:57:20.08ID:j8x9X3Sh
後者のコードは以下の通りです。

void setup() {

}

void loop() {

}
0860RC
垢版 |
2022/02/22(火) 15:58:42.00ID:j8x9X3Sh
>>858の動画は>>853の試験用のコードを入れたときの動作です。
0861774ワット発電中さん
垢版 |
2022/02/22(火) 16:23:22.95ID:fBmDXDPD
>>856の二つ目の図は、com4になっています。
859のソースコードの他に、com4を指示する情報に
心当たりはありませんか?どちらで定義されましたか?
0862774ワット発電中さん
垢版 |
2022/02/22(火) 17:03:34.11ID:suJ8R9WU
ループバックするわけないだろとコードよく見たらソフトシリアルでハードシリアルと同じピン使ってるっぽい。BTモジュールに繋がってるピン指定しろよ。
0863774ワット発電中さん
垢版 |
2022/02/22(火) 17:20:34.40ID:suJ8R9WU
応答文字列がBTモジュールに送られても良いなら、ソフトシリアル消してハードシリアルでBTモジュールと通信。
0864774ワット発電中さん
垢版 |
2022/02/23(水) 01:54:49.40ID:QRJBNHGy
SoftwareSerial MYport(0, 1);
そのまんまじゃん
Bluetoothの接続どこ?
0865774ワット発電中さん
垢版 |
2022/02/23(水) 06:34:42.49ID:+5EKq2wA
btもじうる って使ったことないんやけど
btもじうる のTXをあるづいののrxに繋げるの?txどうしがただしいの?(^p^;)
0867RC
垢版 |
2022/02/23(水) 10:42:22.42ID:LMJGIiy6
>>866
ありがとうございます!!!!!!

866さんのように接続したら
スマホの操作がarduinoに送信されました!!!

初歩的なミスでした。
みなさんありがとうございました。
0868774ワット発電中さん
垢版 |
2022/02/24(木) 10:56:06.55ID:OvoWkbus
解決してよかったよかった(^p^)

しかしあれか。「PC上のシリアルモニタ」が
シリアルターミナル(通信の主体)じゃなくて、
機器同士の通信を傍受して観察 = モニタリングするソフトだったってことか。

開発環境にそんな機能まで備わっているとは いろいろ便利そうですな、
活用すればデバッグも捗りそうです。
Arduino、なかなか洗練された環境ですなぁ・・・
0869774ワット発電中さん
垢版 |
2022/02/25(金) 21:43:40.18ID:R+jsKGuT
ぼくくらいになってくるとVSCもPIOも経由して
Arduino IDEに回帰して+コンソールにメッセージ出力さ
0870774ワット発電中さん
垢版 |
2022/02/27(日) 18:39:43.57ID:zrbhc+Ks
初歩的な質問ですが、2進表記はマニュアルには"B********"となっていますが、
"0b********"とかでも使えるみたいです。正式に対応していないだけなのでしょうか。
0872774ワット発電中さん
垢版 |
2022/02/27(日) 22:51:33.23ID:zrbhc+Ks
>>871
回答有難うございます。
0bはArduinoでは使えないのかと思ったのですが
使えるようなので、どうしてマニュアルに記載されて
いないのかなと思いまして。
0bに関してはCの正式な表記では無いのでちと古いCでは
対応して無いものが多いと思います。
0875774ワット発電中さん
垢版 |
2022/02/28(月) 12:25:09.05ID:ouf6cmH3
>>874
Cには2進表記は無いかと。
0876774ワット発電中さん
垢版 |
2022/02/28(月) 12:35:17.92ID:zkqjf1bx
>>875
そう。なんでCで2進表記を定義しなかったのか。BASICでもそうだけど、MSX BASICは&Bとかいう方言はあったけど。
ペリフェラルの設定とか、基本は2進で書いたほうが分かりやすい。
0880774ワット発電中さん
垢版 |
2022/02/28(月) 13:52:11.53ID:8JmkvfDQ
気のせいだよ。実際には、1と0がずらずら並ばれるより
16進の方が読み易いし、判りやすいよ。(慣れれば)
0883774ワット発電中さん
垢版 |
2022/02/28(月) 15:42:27.67ID:l6LU0Nc9
バイトマシンだしね。ヘキサとオクタルがありゃ、十分でしょ?と。
コンパイラもなるべくコンパクトに。エラーチェックや最適化も最小限でプログラマの意思がなるべく尊重されるようにしようっていうスタンスだったしね。
だから昔はlintがお友達だったし、b++;とb=b+1;とb+=1;は意味が違っていたりして。
0884774ワット発電中さん
垢版 |
2022/02/28(月) 15:59:09.41ID:ouf6cmH3
Arduinoで0bの方で使って見たけど別に問題出て無いようなので
使っていきます。有難うございました。
0885774ワット発電中さん
垢版 |
2022/02/28(月) 16:51:26.31ID:DW+yCecx
C++で使えてarduinoで使えないものはないと思うよ
知らんけど
0887774ワット発電中さん
垢版 |
2022/02/28(月) 17:31:06.35ID:lZQdQ/Gz
>>885>>886
ArduinoっていうよりArduinoIDEが使っているコンパイラはGCCそのものなので、
構文レベルではC++が当たり前に使える
ただし、sprintfなんかはライブラリ関数(stdcかな)なので、リンクするライブラリに
応じて使える/使えないや使い方が違ったりする
0888774ワット発電中さん
垢版 |
2022/02/28(月) 17:55:18.05ID:bLLLMwbW
Arduino IDEになんで「ビルド停止」が無いんだろ?
2.0もついてないし、みんな使わないの?

「あ、コード間違えた」と思っても、書き込み終了まで待たなきゃいけないし
そういうときはタスクマネージャーでarduino-builder.exeを強制終了させてるんだけど
0889774ワット発電中さん
垢版 |
2022/02/28(月) 17:59:30.59ID:iTMHsFOm
桁合わせでゼロ入れたいのに
8進数扱いになるのがつらい

0xに合わせて0oにでもすりゃよかったのに
0890774ワット発電中さん
垢版 |
2022/02/28(月) 18:26:00.06ID:j4xsTbL+
8進数なんて要らないのにな。
4進数も追加とか訳分からん。
0892774ワット発電中さん
垢版 |
2022/02/28(月) 21:15:05.30ID:jISDGNRd
プログラムでは使ったことないな。UNIXのchmodぐらいでしか見ないし。
0893774ワット発電中さん
垢版 |
2022/02/28(月) 22:05:37.78ID:BvfEZBdG
ロングタイムアゴー
語長12bit、18biの世界がありました

4ビット縛りよりむしろ3ビット縛りの方が自然に見えるかも
実際見たことないが
0894774ワット発電中さん
垢版 |
2022/02/28(月) 23:12:55.11ID:7qwFQ8xd
質問なんですが、一つのピンだけ内部プルアップ抵抗が壊れるケースってあります?
今そんな状態なんですが
0896774ワット発電中さん
垢版 |
2022/03/01(火) 00:35:49.30ID:uJGewR97
16進が普及する前に瞬間的に8進が使われたが
結局3bit単位はコンピュータと親和性が低くてすぐ廃れたんだろうな。
0897774ワット発電中さん
垢版 |
2022/03/01(火) 00:56:26.70ID:CS+G5QNL
>>896
昔は3の倍数のワードのマシンが主流だったから。
pdp-8が12bit/word pdp-7が18bit、
NECのacos-6はバイト9ビット、36bit/word
0898774ワット発電中さん
垢版 |
2022/03/01(火) 05:13:24.80ID:fwNxsE2j
>>897
36bitのPDP-10がないのはなぜ?
TCP/IPになる前のARPANETでは最も接続数の多かったマシンがPDP-10らしいよ
0899774ワット発電中さん
垢版 |
2022/03/01(火) 05:34:41.75ID:fwNxsE2j
>>886
ARMのArduino互換機だとSerial.printf使えるの多いね
そしてARMの場合、%fで倍精度浮動小数点が使えたりする
0900774ワット発電中さん
垢版 |
2022/03/01(火) 05:37:28.65ID:fwNxsE2j
ちなみにビルゲイツがBASICを開発するのに使ったコンピュータは
大学にあったPDP-10で
ビルゲイツの相方のポールアレンは死ぬまで
実際に動作するPDP-10の互換機を所有してたらしい
0901774ワット発電中さん
垢版 |
2022/03/01(火) 05:57:54.45ID:fwNxsE2j
あと、vsprintfやvnsprintfが使えるやるならSerial.printfは簡単に作れる
#include<stdarg.h>
char str_buff01[256];
void printf1(const char* format, ...)
{
va_list ap;
va_start(ap, format);
vsnprintf(str_buff01, 1024, format, ap);
va_end(ap);
Serial.print(str_buff01);
}
0902774ワット発電中さん
垢版 |
2022/03/01(火) 06:17:22.33ID:fwNxsE2j
あ、
vsnprintf(str_buff01, 1024, format, ap);
ここ、1024ではなくて256ね
直すの忘れてた
0908774ワット発電中さん
垢版 |
2022/03/01(火) 15:18:28.95ID:tN3tyheV
PDP-11 なら知ってる
0909774ワット発電中さん
垢版 |
2022/03/02(水) 06:30:20.66ID:a+TmHLt2
>>908
3の倍数のbitの話題だし、PDP-11は16bitだから除外されてるんだろうね
PDP-11は16bitの頃のUNIXのターゲットマシンだったから有名だね
ちなみにUNIXを開発したケン・トンプソンは
現在標準になってきてる文字コードのUTF-8も開発してる
0910774ワット発電中さん
垢版 |
2022/03/02(水) 06:48:38.23ID:hfpdbyqy
8bitPC時代には既にメモリダンプと言えば16進数だった。
3bitの倍数のマシンのメモリダンプは8進数だったんか?
0911774ワット発電中さん
垢版 |
2022/03/02(水) 07:17:30.55ID:MViM/fzm
暗記の得意だった人は16進でハンドアセンブル、理論的思考が得意な人は233でハンドアセンブルだったな(おれのまわり)
0912774ワット発電中さん
垢版 |
2022/03/02(水) 07:20:24.99ID:MViM/fzm
そういえばUNIXのダンプコマンドはdumpじゃなくてodだったな(デフォルト8進)
0913774ワット発電中さん
垢版 |
2022/03/02(水) 07:28:45.53ID:MViM/fzm
で、知らずにdumpコマンド何度も打って「オマエ何しようとしてるんだ?」っていわれた遠い昔…
0914774ワット発電中さん
垢版 |
2022/03/02(水) 11:05:49.42ID:Asn3iO8L
質問失礼します
ドローン用のA2212モーターとESCを買ってarduinoで回してみたんですけど、ドローン用なので買ってから逆回転出来ないことに気づいてしまったんですが、アルディーノで両回転とも制御できるお勧めの安いesc、モーターなどありますでしょうか?3セル(11.1v)で探してます
0915774ワット発電中さん
垢版 |
2022/03/02(水) 13:19:54.96ID:zwwvesfO
かつてメモリや磁気ストレージが何よりも貴重だったのだろう
メモリ数キロワードくらいなら12ビットアドレシングの方が僅かだけど有利なる
12ビットCPUには存在意義があったんだろうな

intとかポインターが12bitというのもアレだけど

6502(AppleII ファミコン)、6809はネィティブに
8bitのアドレシングモードがある
昔のコンパイラとか苦しめた事だろう(しらんけど)

ASCIIコードが7bit/8bitだから3bit 倍数が消える原因の一つになったかな
0916774ワット発電中さん
垢版 |
2022/03/02(水) 13:21:52.41ID:NEMFPI+n
arduino, RDA5807, SSD1306でFMラジオを作ってます。
これにダイソーの300円スピーカーのアンプ部分(8002A)を
arduinoからトランジスタS8050(500k〜10kΩで試しました)でオンオフしています。

質問ですが、アンプを繋げるとarduinoが暴走?してしまいます。音はならないし、ボタン入力も効きません。
アンプを別電源、またはarduinoに繋げない(音は鳴りませんが)と正常に動きます。

症状としては、起動時にピンをHIGHにしてトランジスタ経由でアンプの電源をONにしてますが
テスター計測で100mA近く流れています。アンプ単体で通常は6〜20mA、
FMモジュールが20mAぐらいだと思うので、何かの原因で流れ過ぎかなと思います。

アンプの電源部には470uFの大きいコンデンサが付いてます。これに最初に100mAぐらい流れるのかな?
回路図は表示部が違いますがこのサイトのように、特段変わったつなぎ方はしていません。
https://xn----7sbhgu4ahbanfnng.xn--p1ai/%D0%B1%D0%BB%D0%BE%D0%B3/fm-%D0%BF%D1%80%D0%B8%D0%B5%D0%BC%D0%BD%D0%B8%D0%BA-%D0%BD%D0%B0-arduino-%D0%B8-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5-rda5807/

FMラジオモジュール・SSD1306にはarduinoからI2Cの2本、電源から各線2本
FMラジオモジュールからアンプに音声出力
0917774ワット発電中さん
垢版 |
2022/03/02(水) 13:32:56.39ID:qfAbdgae
Pentium〜Core2なんかもメモリバス節約されてたりするからな
32ビット分フルで実装されていなかった
0918774ワット発電中さん
垢版 |
2022/03/02(水) 13:34:10.54ID:d32HxGZJ
>>909
PDP-11も8進数体系でしたね11/34のコンソールキーパッドの数字は0-7だし。
トグルスイッチのある機種(11/40)は3桁ごとに色が分けられてきれいだった。
0921774ワット発電中さん
垢版 |
2022/03/02(水) 14:22:13.50ID:eIDDFdGK
>>916
電源を別にすれば動くなら、答えはもう出てると思うけど
Arduinoの3V3を供給してるパーツの定格を調べてみたら?
リンク先の回路図と違うならそれも示さないと詳細は不明
0922774ワット発電中さん
垢版 |
2022/03/02(水) 15:42:39.60ID:NEMFPI+n
3.3vのpro miniです
arduino, RDA5807, SSD1306はそれぞれバッテリーから直で取ってます
アンプは+がバッテリー直、GNDがS8050のコレクタ、
ベースはarduinoのデジタルピン、エミッタはバッテリーのマイナスです
0923774ワット発電中さん
垢版 |
2022/03/02(水) 15:48:53.48ID:eIDDFdGK
回路図書けない人か。
電源と言ったりバッテリーと言ったり、まさにそこがボトルネックだと思うけど
そのあたりの重要性が分からない人のようだ。
0925774ワット発電中さん
垢版 |
2022/03/02(水) 16:03:30.27ID:KgR+ChU9
>>922
アンプのGNDレベルが0.7V上がってしまっているので不都合が生じてるんじゃないかな
S8550でプラス側をスイッチしたほうがいいよ
0926774ワット発電中さん
垢版 |
2022/03/02(水) 16:06:26.79ID:eIDDFdGK
電源だ言うとるやろ
なのにあんたときたら回路図も出さない上に電源と言ったりバッテリーと言ったり
肝心な情報がブレブレじゃねえかと言ってんのに言葉尻だと?
馬鹿はそこで1人で吠えてなよ
0927774ワット発電中さん
垢版 |
2022/03/02(水) 16:19:21.75ID:3pn8qQAf
なぜ回路図書け言われると逆切れする奴が多いいんだろうね>>924
それともいつも同じ奴なのかな?
0928774ワット発電中さん
垢版 |
2022/03/02(水) 16:21:27.89ID:NEMFPI+n
>>925
あ!なるほど!PNPを使ってみます!ありがとうございました

>>926
原因がわからないなら私と同レベルじゃないですか。仲良くしましょうよ
0932774ワット発電中さん
垢版 |
2022/03/02(水) 16:33:42.36ID:234AL5vC
横からだけど
ほとんどの人は>>916のリンク先見て3V3だなと思う
そのあと>>922に字面でごちゃごちゃ書かれてもいちいち見ないよ
後出し、回路図出さないの典型的な悪質問
0934774ワット発電中さん
垢版 |
2022/03/02(水) 16:39:54.54ID:bvcsn6Ud
最初の質問で情報全部出せる人は稀だし、そんな人は自力で解決出来るだろう。質問しても答えてくれないと妄想で変な想定して的外れな回答する人が出て来たりするから、結局解決しないんだよね。
0936774ワット発電中さん
垢版 |
2022/03/02(水) 17:01:50.28ID:1+8sAgO8
で、回路図はまだなの?
何を回答しても後出ししてきそうだから回路図が出るまではみんな傍観するよねw
0938774ワット発電中さん
垢版 |
2022/03/02(水) 17:09:11.73ID:Il2PfZYP
別に悔しくはないんだろ
大部分の人は>>922の返答の仕方を見て回答する気にならなかっただけ
0941774ワット発電中さん
垢版 |
2022/03/02(水) 17:14:28.71ID:9gupwcJZ
変なやつなんてゴロゴロ居るんだから気に入らなきゃNGして関わらなきゃ良いのに
0944774ワット発電中さん
垢版 |
2022/03/02(水) 19:08:50.60ID:aZk0yPTC
初心者質問以前に明らかに人格おかしいぞw

解答得られない事が明白になったから
IDころころの荒らしパターンなんだろうな
0946774ワット発電中さん
垢版 |
2022/03/02(水) 19:22:12.49ID:qlQ6Qe6a
>>916が貼ったロシアのサイトは販売店で、場所はウクライナのすぐ東じゃん。
その店に罪はないんだろうけど、何だか複雑だな。
0949774ワット発電中さん
垢版 |
2022/03/02(水) 20:39:27.72ID:5MMkySMq
なんか荒れてるな
原因わかっちゃったかも、NPNをPNPに変えても同じだと思う
足りないものを足すかトランジスタをMOSFETに変えれば解決かな…
0951774ワット発電中さん
垢版 |
2022/03/02(水) 20:55:43.94ID:oZptCxjx
まあ自分で作れそうにないものを人に聞きながら作ろうとする時点で
センス無いよ おれは極力教えてもらわないで作る 癖になるからね
0953774ワット発電中さん
垢版 |
2022/03/02(水) 21:30:57.50ID:qlQ6Qe6a
アンプの電源のハイサイドスッチにp-MOS FET入れ、そのゲートを100kΩで入力電圧にプルアップ。
さらに、そのゲートをNPNトランジスタのオープンコレクタでGNDへ引っ張る。トランジスタのベースは47kΩでGNDに引っ張ると同時に10kΩでArduinoのポートへ接続てな感じかな。
Arduinoが5VならNPNトランジスタは省略可能だったけど、3.3Vなら入れといた方が良いだろうね。
0955774ワット発電中さん
垢版 |
2022/03/02(水) 22:12:40.44ID:Qer6oLZO
>>954
電源電流の逆流防止じゃないの?
電圧が2-3V?以上だとMOSがオンして電流が流れ、それ以下ならMOSがオフしてボディダイオードで繋がってる状態になり、逆流を阻止する
0956774ワット発電中さん
垢版 |
2022/03/02(水) 22:53:39.00ID:1bPqJdbV
8002Aの電源のスイッチングをArduinoのポートでしてるんだよね?
その必要性が分からない。
そもそも私が何か勘違いしてるのかな?
0958774ワット発電中さん
垢版 |
2022/03/03(木) 03:49:47.30ID:gFaveKnS
>>916
バッテリーの電力不足だと思うよ。
これくらい説明あれば回路図はいらんと思うし、無いとイメージできないなら黙ってたほうがいいな。
0959774ワット発電中さん
垢版 |
2022/03/03(木) 04:28:07.08ID:XJYbHwm+
> アンプを別電源、またはarduinoに繋げない(音は鳴りませんが)と正常に動きます。
なので電力不足では無いだろ
音が出ないのに政情という判断基準がよくわからんが

バッテリーからの電力供給がマイコンとアンプに分岐する前にパワースイッチ入れれば、アンプのパワー制御なんて不要だと思うんだけど
ヘッドホンを接続時の省電力化とか何か理由があるんだろう
CKE8002Bのデータシート見たら1pin Shut-down Logical Control, ‘1’ is active.になっているから
これを10kでpull-downしてマイコンに繋げばスイッチ回路は省略できると思う、待機時0.5uA
0962774ワット発電中さん
垢版 |
2022/03/03(木) 08:21:38.24ID:rGF1kJ3L
8002を直接使っているならシャットダウンピンを使う手もあるけど、ダイソーのUSBスピーカーの状態で使いたいみたいだから電源を直接制御したいんだろう。
あと、Pro mini使ってるのは消費電流を最小限にしたいんだろうね。
0963774ワット発電中さん
垢版 |
2022/03/03(木) 09:18:29.57ID:bYvUE1iz
言われた回路図も出さずに回答者をバカにする質問者
それでも回答するマヌケ回答者。。。
0964774ワット発電中さん
垢版 |
2022/03/03(木) 09:25:54.39ID:gFaveKnS
大人になっても漫画とかアニメとか見てる人たちは文字から読み取る能力が低いんだろうな。
0965956
垢版 |
2022/03/03(木) 10:25:30.27ID:5Ejzk0Q9
>>959
>CKE8002Bのデータシート見たら
だよね
何余計なことやってんだ感しかない
0966774ワット発電中さん
垢版 |
2022/03/03(木) 10:27:25.00ID:5Ejzk0Q9
>>962
>ダイソーのUSBスピーカーの状態で使いたいみたい
あ、そか
ならその回路図も出さなきゃだな
0967774ワット発電中さん
垢版 |
2022/03/03(木) 11:20:35.73ID:mTg13wAO
>>964
ぴこーん)マニュアルを漫画にすればいいんじゃね?
0968774ワット発電中さん
垢版 |
2022/03/03(木) 12:00:36.37ID:yg5XSFfA
>>964
出た、図表の存在意義の完全否定
お前はただ回路図が書けないだけだろが
こういう低学歴ってスキルを身につける努力は一切しないのに
なぜか自分にスキルが無いことの言い訳だけは用意してある
0969774ワット発電中さん
垢版 |
2022/03/03(木) 12:35:06.23ID:mTg13wAO
>>967
・・・何の脈絡もなく解説者の美女が脱衣しながら解説するというサービス精神あふれる漫画で
概説が終わるあたりで残り一枚、というペース、そして決まり文句の「続きはwebで!」。
該当URLをクリックすると 一枚の絵もなく該当範囲の詳細な説明が文字だけでビッチリなされている(しかも英文)
0970774ワット発電中さん
垢版 |
2022/03/03(木) 13:33:53.48ID:/QvgSxk6
>>964
漫画・アニメに対する昭和生まれのステレオタイプな認識そのまま
化石の様な思考回路のヤツに限って持論の稚拙さに気づかずに生きていて迷惑
0971774ワット発電中さん
垢版 |
2022/03/03(木) 13:38:59.65ID:XpkEVpHE
>>951
作れそうだと思って始めたんだろ
問題はそこじゃなく回答者からの質問にまともに答える努力と誠意がこの質問者に皆無なこと
そして毎度のように質問者はとんずらで
経過報告もクソもあったもんじゃない低民度w
0972774ワット発電中さん
垢版 |
2022/03/03(木) 13:41:15.10ID:xQQvS6NJ
RDA5807は面白そうだし、いつか通る道かもと思って眺めてたけど
よく考えたらうちはFMの電波がまともに入らないんだったわw
0973774ワット発電中さん
垢版 |
2022/03/03(木) 13:44:04.30ID:wy8ABP+P
昨今の漫画・アニメは異世界物が多い、「小説家になろう」という投稿サイト原作のものが40%以上だ
なので漫画・アニメを見て続きが気になって小説サイトの原作を読むようになって、漫画版・アニメ版は見なくなるというのが最近の流れ
活字離れどころか活字寄りになってきている

ところが、誰でも投稿できて校正する人もいないまま原文でアップされているので、文章能力の無さが露骨に表れてる
0974774ワット発電中さん
垢版 |
2022/03/03(木) 13:47:09.36ID:wy8ABP+P
>>972
うちも電波状況悪くてまともにはいるのは2局だったけど
アンテナ入力の前にS9018で一石アンプ入れたらすごく高感度になって5局入るようになった
0975774ワット発電中さん
垢版 |
2022/03/03(木) 13:50:39.25ID:SrNaV4Os
お前らここでなに期待してるんだ?
リアルで会話できる人間居るのか?
0976774ワット発電中さん
垢版 |
2022/03/03(木) 13:55:24.35ID:wy8ABP+P
たまに電子工作ネタ拾えるからなあ
リアルだと木工やレザークラフトやバイクのエンジンいじってるやってる奴はいるが電子工作は俺だけだな
0977774ワット発電中さん
垢版 |
2022/03/03(木) 14:13:02.10ID:xQQvS6NJ
>>974
テッコンキンクリートなので1局も入らないです。
RDA5807で遊ぶためだけにアンテナ立てるのもなあという怠け者です。
0978774ワット発電中さん
垢版 |
2022/03/03(木) 14:22:07.00ID:wy8ABP+P
>>977
アンテナは1辺92cmの四角いループアンテナを天井に張ってるよ、リード線なので100円もしない
ベランダに出すだけでもかなり違うと思うけど
ローカルFM放送はネットでも聴けるしそこまでやる価値あるのかと言われるとアレだよねw
0980774ワット発電中さん
垢版 |
2022/03/03(木) 16:09:00.10ID:mTg13wAO
実際の所、何処が最も有利なのだろう・・・

1)天井
2)窓枠
3)窓開口部の一部

3案は、ループ外面積も逆相で実は重要なのでは?という発想(^p^;)
0981774ワット発電中さん
垢版 |
2022/03/03(木) 16:25:38.35ID:wy8ABP+P
>>980
室内は壁や天井に電線通ってるからそれに結構左右されるよ
子供の頃深夜放送聴くために壁の電線通ってるとこにロッドアンテナ並行に近づけてたわ
ナツイわー

ベランダにタープとかシェード張って4隅にワイヤー這わせると目立たずいい感じに偽装できるかも
arduinoとどんどんかけ離れてくなw
0982774ワット発電中さん
垢版 |
2022/03/03(木) 18:50:08.23ID:wgbwWb+0
>>979
図表はそれ単独で用が足りる場合もあるが文字による説明を補う存在でもある
したがって図表はあった方がいいに決まっていて無い方がいいケースなど存在しない
人に質問を投げる立場ならなおさらのことだ
そういう意味でお前のは認識の甘さから生じた図表の完全否定
0986774ワット発電中さん
垢版 |
2022/03/03(木) 19:19:40.17ID:JNYAIQCr
>>982
引用元のような実体図でいいわけよ
やらない理由探しばかりするのやめなよ
自分でみじめじゃないの?
0988774ワット発電中さん
垢版 |
2022/03/03(木) 19:23:14.66ID:JNYAIQCr
まあ、俺のスタンスとしては
図を出さないから解決策が得られなくて損してるのは質問者本人
だから基本どうでもいいんだけど
向学のためにとここをのぞいてる身としては実につまらん展開ですよ
0991774ワット発電中さん
垢版 |
2022/03/03(木) 20:37:40.70ID:NCoYVyIN
そうか、壁裏に配線されている電灯線や配水管が導体だから電磁場に影響を与えてしまうんですな・・・

ん? って事は逆に考え性能を活用する方向で見直すと・・・フィルタで周波数成分を取捨選択すれば、
屋内配線をコンセント経由でアンテナとして用いる術があり得るのかな!(^p^)ふひひ!
0992774ワット発電中さん
垢版 |
2022/03/03(木) 20:37:58.23ID:zzBlkdsg
互いの利害が拮抗してるなら「張り合い」なわけだけど
回答しなくても回答者側には何のデメリットも無いので
情報出さなけりゃ回答しないだけのこと
0994774ワット発電中さん
垢版 |
2022/03/03(木) 21:09:55.25ID:JDBH+JM+
>>980,991
ダイソーの太さ3mmのアルミワイヤーと4個入りだったかな小さいパーツケースでダイポール作った
https://i.imgur.com/6rUoXz2.jpg
それで家中向きを変えながら歩き回って見たけど窓際より玄関(スチールのドアがあるのに)の近くのほうがよく受信できたのは意外だった
屋根の上に出せれば一番いいんだろうけど家の中はやってみないとどこが一番いいかはわからないってことかな
0996774ワット発電中さん
垢版 |
2022/03/03(木) 23:33:39.26ID:BjLtp54q
自宅にFMアンテナ建てましたよ
マイコン式ラジオで聞いています
0997774ワット発電中さん
垢版 |
2022/03/04(金) 08:54:17.27ID:kMMicMDq
>>994
ほえー・・・ Arduinoでフォックスハンティング的な
電波強度の数値化or視覚化ツールを組めれば
最適位置探しも楽しそうですな(^p^)

>玄関
八木アンテナは後ろから二番目が本体で、前方に並んでいる骨は
電気的にはつながってなくて 導体が存在する事で何故か感度が強くなる実験的事実を応用した導波器 らしいですから
もしかすると、ドアが導波器的にふるまっていてくれていたのかもしれませぬですな・・・

>>995 おお! また車輪の再発明をしてしまっていたんですな・・・(^p^;)ご教示ありがとうございまする!
0998774ワット発電中さん
垢版 |
2022/03/04(金) 14:01:19.76ID:trpJx270
アンテナ端子をアースし、電源トランスの浮遊容量を利用して配電線をアンテナ代わりに使うのが電灯線アンテナのオリジナルの姿なんだけどは。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 87日 6時間 30分 30秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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