ゆるAVR at DENKI
[2ch|▼Menu]
[前50を表示]
250:774ワット発電中さん
22/10/05 16:53:30.19 QzzV/ecB.net
5年後に変更するかどうかなんて予想出来る?
5年後じゃなくて1か月後でも
引き継ぎは?
>>218を誰か引き継げる?

251:774ワット発電中さん
22/10/05 17:06:39.04 iIJLCqM5.net
>>250
引き継ぎって何やってるの?

252:774ワット発電中さん
22/10/05 17:08:12.98 4r5HAvtl.net
だからメンテナンス性考えるならドキュメント残しとけよって話やろ
cだろうがasmだろうがドキュメントの有り無しが肝よ
いちいちソース解析からはじめて動作理解からコード直してとかやってらんねーっての

253:774ワット発電中さん
22/10/05 17:17:00.35 Z/MO9oxd.net
>>252
私はドキュメント類は一杯書く。
アセンブラでもほぼ1行ごとにコメント書くし(さすがにRET等は除く事が多いけど)、
サブル−チンにも先頭に機能や受け渡し情報などを書く。
それでも後で思い出すのはた〜いへんw

254:774ワット発電中さん
[ここ壊れてます] .net
皆様方には色々と御意見やら御批判をいただいている >>218 です。
私は「より早く、より小さく」を目標に、
お気に入りのAVRのプログラミング道を私なりのやり方で究めたい、と日夜努力しております。
皆様、これからもCでもASMでも、お互いに自分の信じる道で切磋琢磨いたしましょう。

なんちゃってw
ソースと言えば今日の我が家の夕飯は
オムライスのグレービー「ソース」掛け、スパゲティサラダ添え

255:774ワット発電中さん
[ここ壊れてます] .net
古いコードを理解するより新たに書くほうが早い。

256:774ワット発電中さん
[ここ壊れてます] .net
引き継ぎで思い出すもんなんか何もないわけだけどw

257:774ワット発電中さん
[ここ壊れてます] .net
>>252
同レベルのドキュメントがあった時に
Cとアセンブラどちらの方が早い?
修正とか移植とか流用とか

同レベルのドキュメントを作るのに
Cとアセンブラどちらの方が速い?
アセンブラの方がドキュメント量は多いよね?

Cとアセンブラで工数が同じなんてのは大嘘

258:774ワット発電中さん
[ここ壊れてます] .net
>>254
より早く、より小さく
ならディスパッチャとか論外じゃん

259:774ワット発電中さん
[ここ壊れてます] .net
ドキュメント書く工数のほうが多いやねw

260:774ワット発電中さん
[ここ壊れてます] .net
ドキュメントあってもどうせコードも読むよ。
というかむしろドキュメントなんてほとんど読まずコード読んでる。

261:774ワット発電中さん
[ここ壊れてます] .net
>>253
コード変えた時にコメント直し忘れてると何が本当か分からなくなるよね。
害悪でしかない。

262:774ワット発電中さん
22/10/05 18:03:58.36 4r5HAvtl.net
>>261
あるある、だが自分のミスだからしょうがないw
そこで日本語プログラミングですよ
ソースがそのままコメントw

263:774ワット発電中さん
22/10/05 18:09:46.09 Sy8tyoK5.net
>>251
別に業務の引き継ぎだけじゃなくて
他人のコード流用でもいいけど
ディスパッチャ君のコード流用は不可能
>>253
本当に1行ずつコメントが必要だとしたら
ソースがまずい
>>255
流用が下手
ということ

趣味のコードでドキュメントなんてたいそうなものいちいち書かんだろ
簡単なメモくらい

264:774ワット発電中さん
22/10/05 18:13:08.48 Sy8tyoK5.net
ディスパッチャ君自信も
PIC、STM8、RL78 に移植とか出来ないでしょ
だから万年tiny2313

265:774ワット発電中さん
22/10/05 18:20:33.11 jRYaGmsA.net
>>262
URLリンク(forest.watch.impress.co.jp)
日本語よりお嬢様語ですわ〜 \(^o^)/

266:774ワット発電中さん
22/10/05 18:36:02.15 4r5HAvtl.net
俺のキーボードを昆布茶でびしょびしょにしようとしないでくれ

267:774ワット発電中さん
22/10/05 18:55:40.93 WQIpoG1n.net
ここではディスパッチャ君なんて名前がついたのか。
相変わらずのガイキチっぷりだな。

268:774ワット発電中さん
22/10/05 18:57:34.95 ZkJxkjnW.net
>>264
移植というか、アセンブラで最適化したコーディングするならそれぞれに作り直すんじゃないの?
そもそも同じものを別のマイコンで動かす必要があるかも分からんけど。

269:774ワット発電中さん
22/10/05 19:28:37.46 4r5HAvtl.net
で、ディスパッチャ君て何者?

270:774ワット発電中さん
22/10/05 19:50:18.13 Fu4/vxNB.net
コメントやドキュメントはこう動けば良いなの願望が書かれたモノだから。

271:774ワット発電中さん
22/10/05 20:12:14.74 QJSQ5o+2.net
ゆるスレで

272:774ワット発電中さん
22/10/05 21:20:27.30 jRYaGmsA.net
>>269
少なくとも只者ではない
僕は彼の根気強さに負けて作例を1点作った\(^o^)/

273:774ワット発電中さん
[ここ壊れてます] .net
1000uFへの突入でレギュレータ飛ばしてしまった
低ESRヤバい

274:774ワット発電中さん
[ここ壊れてます] .net
>>273
へぇ・・・ 保護に電流制限の抵抗を入れると電源投入直後の充電時以外は邪魔でしょうけど どう対策するんすか?
インダクタで電流制限とか出来るんすかね?

275:774ワット発電中さん
[ここ壊れてます] .net
低ESRだからなのか?

276:774ワット発電中さん
[ここ壊れてます] .net
>>272
何作ったの?

277:774ワット発電中さん
22/10/06 11:20:46.13 41eTpe9R.net
ああそうか 極論として 仮に一瞬短絡したとしても
電圧が急減するだけで それだけで
電源を壊わすというのはむしろ難しいような気もするか; むむむ

278:774ワット発電中さん
22/10/06 11:22:45.54 tnqe5ftg.net
>>273
それで飛ぶくらいの容量のレギュレータで動かす負荷に対して 1000μF がデカ過ぎってことじゃない?

279:774ワット発電中さん
22/10/06 11:35:48.50 4tbzKm0X.net
>>273
大抵のレギュレータには過電流保護機能とかサーマルシャットダウンがついてるので
大容量のコンデンサで飛ばす(壊す)のは難しいと思うの
たぶん\(^o^)/
僕はむかし3端子レギュレータの端子をIN,GND,OUTと思い込んで間違った配線して壊した
7805とかと同じ感覚でNJU72233を配線したらポンした\(^o^)/

280:774ワット発電中さん
22/10/06 11:35:56.73 uS2AhADD.net
>>258
実際にサンプルの模型自動車ライト制御プログラム(ただのLチカです)を
シングルタスクで書いて。催事と速度を比較してみていただければ、と思います。
もちろん万能ではありません、一度、マルチタスクで書いた後に、
シングルタスクでゼロからやり直した事があります。
>>263
「溺れる者は藁をも掴む」じゃないけど、将来の機能追加など万が一の時を考えて
まだ泳ぎ出す前なのにコメントを沢山書いていますw
実際に機能追加作業が始まると、意味がよく理解できないコメントに溺れてしまって、
なんだこの意味不明役、立たずのコメントは藁か!と腹が立つ。
 ASMではプログラムの個々のステップの処理内容が小さく抽象的なので
分りにくいってのもあると思う。

281:774ワット発電中さん
22/10/06 11:37:48.13 uS2AhADD.net
ゴメン
催事 → サイズ

282:774ワット発電中さん
22/10/06 11:43:38.10 khsCPrD7.net
コメントあるあるやねw
自分のために書くと、結局イミフと化すとかよくくある
最近は初めから他人に説明(解説)するつもりで書くようにしてる

283:774ワット発電中さん
22/10/06 11:45:50.48 uS2AhADD.net
なんだかタイプミスが多いな、睡眠不足が原因かな・・・眠い・・・
>264
このディスパッチャは移植なんかできまっしぇんw
なにしろ相手はマルチタスクに何の配慮も無いAVRですよ。
ただし、考え方(動作原理)さえ理解していれば、全てのCPUに応用できます。
(あ、ごく一部のCPUを除く)
>>269
ただの通りすがりのAVRプログラミング求道者です。
「あと5年有れば真のAVRプログラマになれたのに」
と言って死にたいのですw

284:774ワット発電中さん
22/10/06 11:48:54.02 uS2AhADD.net
しかし、このゆるスレがすっかり本スレになってしまったね

285:774ワット発電中さん
22/10/06 11:49:22.09 tnqe5ftg.net
仕事の話で言えば、関数の中身が全部コメントアウトされてて、なんでって聞いたらこうしないとビルド通らないからと言われて唖然としたことがある

286:774ワット発電中さん
22/10/06 11:49:52.41 4tbzKm0X.net
>>276
彼が頻繁にURLを貼っている(模型自動車のライト制御?)
URLリンク(pastebin.com)
tiny2313にSW8個とLED6個を接続して自動車のライトの動きを再現したもの
またUART入出力でPCと接続もできる(詳しくはURLに動きの詳細が出てる)
↑この仕様はCPUの貧弱なPICでは作れないとPICスレで主張してたの(涙)
これを8ピンのPIC(12F1572)で作ったの \(^o^)/

287:774ワット発電中さん
22/10/06 11:56:27.84 khsCPrD7.net
>>284
別にサブスレって位置づけじゃないし、いいんでない
面白い話題ふってやれば戻るんじゃない?

288:774ワット発電中さん
22/10/06 11:58:02.49 tnqe5ftg.net
>>286
8ピンじゃIO足りなそうだけど、外付けの部品で拡張したの?

289:774ワット発電中さん
22/10/06 12:04:55.77 khsCPrD7.net
AVR便利帳みたいのほしいなあ、ペリフェラルの初期化手順とか、コピペでパっとできる的なやつ(それにかぎらないけど)
一回作っちゃせば使いまわしできるけど、AVR使いだして間がないから、全然ストックないんだよね
疲れた頭でデーターシート読でも、なかなか入ってこないし、みんなでよってたかって作んない?

290:774ワット発電中さん
22/10/06 14:00:16.43 DrJ4U8C8.net
>>286
SW8個も使うなら、すべてに抵抗値違う抵抗噛ませて全部並列に繋いで
アナログ入力1個で判別すれば楽
まぁ、すべての組み合わせの合成抵抗値計算したりすんの大変だけどw

291:774ワット発電中さん
22/10/06 14:02:46.13 khsCPrD7.net
>>290
同時押しはどうすんの?

292:774ワット発電中さん
22/10/06 14:03:34.52 DrJ4U8C8.net
並列でなく直列に繋いで、SWで抵抗をパスさせた方が簡単だな
足し算で済む
押されたボタンの分だけ抵抗値が減る

293:774ワット発電中さん
22/10/06 14:04:57.78 DrJ4U8C8.net
>>291
抵抗値を、1,2,4,8みたいに2進数式に使うと
複数押されても何が複数押されたか判別可能

294:774ワット発電中さん
22/10/06 14:08:09.40 khsCPrD7.net
ADCの分解能足りる?

295:774ワット発電中さん
22/10/06 14:25:13.95 qowYjqHm.net
>>294
8個の識別には 8bit 必要だけど誤差やらばらつきを吸収するためにあと 2~3bit は欲しいだろうね。
でも同時押しいらないなら計算上 5% 抵抗でも 8bit ADC で最悪値 20個くらいの読み分けができる。
実際は 5% 抵抗だってそのばらつきは小さいから、もっと多くのボタンの読み分けができる。

296:774ワット発電中さん
22/10/06 14:26:39.17 khsCPrD7.net
同時押しいらないならじゃなくて、同時押しの流れやんw

297:774ワット発電中さん
22/10/06 14:28:44.96 qowYjqHm.net
>>296
同時押しのパターンは説明したじゃん。
その上で元のアプリケーションの操作性を鑑みて同時押しを捨てた場合について言及してるんでしょ。

298:774ワット発電中さん
22/10/06 14:32:03.04 41eTpe9R.net
8ピンか・・・
給電に2ピン、
シリアル通信に2ピン、
残り4ピン・・・
ダイレクトスキャンに3ピン使うと1ピンしか余らんなぁ; あ、じゃあ、
スキャンアドレスは外部カウンタでクロックから生成して
同期用に一ピン入力
スキャン周期8でスイッチ系の入力に1ぴん
LEDには1ピン、8周期中6使って各各のLEDに、二周期は消灯、なら
1ピン余るから、なんとかいけるのかなぁ・・・しらんけど;

299:774ワット発電中さん
22/10/06 14:49:29.66 DrJ4U8C8.net
>>294
抵抗のバラつきがプラス方向で
かつ抵抗小さい方からの累積数より大きいという条件なら判別可能で10ビット分解能で余裕
1,2,4,8,16,33,67,140とかさ
途中欠番になるだけだし

300:774ワット発電中さん
22/10/06 15:10:04.47 41eTpe9R.net
いまいちよくわからんけどこういうこと?
140Ωの5%が7Ωだから、4Ω以下のが埋もれないか?
付け替えはしないだろうから較正表というか換算テーブルで見れば行けるのか・・・??
URLリンク(o.5ch.net)

301:774ワット発電中さん
22/10/06 16:11:19.86 cEZPDJy4.net
誤差ったって使うたびにばらつくわけでもあるまい?

302:774ワット発電中さん
22/10/06 16:12:13.74 khsCPrD7.net
電圧変動とか、ノイズとか

303:774ワット発電中さん
22/10/06 16:14:07.69 khsCPrD7.net
一番めんどくせーのが温度ドリフト

304:774ワット発電中さん
22/10/06 16:14:26.93 41eTpe9R.net
>>301
どういう判定方法をとる気か知らんが
較正作業めんどそうやぞ・・・

305:774ワット発電中さん
22/10/06 16:19:12.00 dzojMbVr.net
よく考えると、SW 8個の場合合成抵抗は例えば 0~255Ω の間の 1Ω刻みのリニア値が得られるけど、それを電圧に変換して ADC に読ませるのは面倒だね。
定電流元使えば抵抗値に比例した電圧に変換することができるけど、当然定電流を流す電源の電圧は VREF より高くないといけないから、VREF が電源電圧に近いとフルレンジは取れないことになる。
んで >>300 の指摘のように、8bit を得ようとすると一番小さい抵抗は一番大きい抵抗の 1/128 = 0.78% でしかないから、かなりの高精度抵抗を使う必要がある。
5%抵抗なら 4bit 程度の精度 = SW 4個が保証限界だね。
逆に 4bit 程度なら、前述の定電流元は抵抗で簡略化できるかも。

306:774ワット発電中さん
22/10/06 16:21:04.07 dzojMbVr.net
>>305
まちがった、5% なら 1:16 が行けるから 5bit だね。

307:774ワット発電中さん
22/10/06 16:25:09.34 dzojMbVr.net
>>306
さらにまちがった。誤差は一番小さい抵抗の 1/2 未満じゃないといけないから、やっぱ 4bit だね。

308:774ワット発電中さん
22/10/06 16:32:37.69 41eTpe9R.net
>>298
だいれくとじゃねえ ダイナミックスキャンや
走査時にスイッチも順にみて行けばええんやな

309:774ワット発電中さん
22/10/06 16:36:14.45 dzojMbVr.net
>>308
そに場合スイッチにはダイオードを挿入する必要があるし、ダイナミックスキャンのためぬ外付け部品いろいろ付けるくらいならピンの多いマイコン使う方が安いと思う。

310:774ワット発電中さん
22/10/06 16:36:18.12 khsCPrD7.net
1ピンでなんとかしたいって話じゃなかったんか

311:774ワット発電中さん
22/10/06 16:42:01.02 dzojMbVr.net
>>309
タイポがひどい…
それはおいておいて、LED 2個を並列に逆接続したペアを作れば、コモン線を 1本と LED線 n本で、つまり 1+n本の GPIO で 2n個の LED を外付け部品無しに点け分けられるね。
8ピンのマイコンで GPIO 5本取れるなら、8個の LED を制御できる。

312:774ワット発電中さん
22/10/06 16:59:52.14 kSx6V3Eg.net
混乱させるとスレが盛り上がる\(^o^)/
8ピンの内訳
VDD,GND,UART RX,TXで4個
MCLR <- リセット兼スリープ復帰で1個(SW10)
残り3個
LED以外の半導体は使ってないよ〜
(※電源の入力回路を除く)
SW1 Turn signal L SW2 hazard SW3 Trun signal R
SW4 HeadLight change L SW5 HeadLight change H SW6 Hi/Low Change
SW7 passing SW8 brake SW9 Brightness change
SWの同時押し判定有り(512パターン)

313:774ワット発電中さん
22/10/06 17:05:30.13 DZiSSVZn.net
>>312
3ピンで LED 6個とスイッチ 9個繋いでるの?
回路図見せてくれ!

314:774ワット発電中さん
22/10/06 17:09:40.92 FvyqnPmf.net
外付けリレーか真空管だな。

315:774ワット発電中さん
22/10/06 17:19:01.56 41eTpe9R.net
外部半導体なしか・・・なら、シリアル制御LEDと、ラダー抵抗のAD読みかなぁ・・・

316:774ワット発電中さん
[ここ壊れてます] .net
↑の補足
switch群をデジタル入力と見做して、ラダー抵抗でアナログ値を形成して
それをAD変換器で解読

317:774ワット発電中さん
22/10/06 18:11:07.78 1Y1faQUT.net
>>278
500mAくらいパルスで流すんで
そのくらい無いと変動しちゃう
レギュレーターは定格300mAまでだけど
パルスだから良いかなあと思って
>>279
過電流保護付きなんだよね
フの字の
原因別かなあ
コンデンサへの突入くらいしか思い浮かばない

318:774ワット発電中さん
22/10/06 18:18:24.51 jD/W4Qpi.net
>>286
マイコンで扱う処理としては最も簡単な部類だな

319:774ワット発電中さん
22/10/06 18:20:36.29 jD/W4Qpi.net
LEDのPWM周波数と、8段階の各デューティー比に関する要件は?

320:774ワット発電中さん
22/10/06 18:30:57.34 jD/W4Qpi.net
8pinか
素直に20pinくらいのを使った方が安いでしょ

321:774ワット発電中さん
22/10/06 18:44:39.45 khsCPrD7.net
そんな、ジグソーパズルを楽しんでる人に、完成品をあげるようなことを言ってはいけないw

322:774ワット発電中さん
22/10/06 18:56:15.92 khsCPrD7.net
この前試作したUSBASP+bitban+シリアルコンバーターを
ケーブル2本つなぐの嫌だからusbハブと一緒にケースに収めてテストしたら
動かね~・・・と、たそがれてたら、リボンケーブルの片側逆に作ってた orz

323:774ワット発電中さん
22/10/06 18:57:18.96 jD/W4Qpi.net
>>312
LED 8段階のデューティー比はどのくらい?

324:774ワット発電中さん
22/10/06 19:01:52.75 jD/W4Qpi.net
DACが使えるのか
PWMもリッチだね
3本で6個のLEDを8段階かあ
わからん
半導体を使わないって
抵抗も?

325:774ワット発電中さん
22/10/06 19:04:36.69 jD/W4Qpi.net
キーは1本に3個ずつかな
点灯してない瞬間にサンプリング

326:774ワット発電中さん
22/10/06 19:07:21.19 khsCPrD7.net
3品で6LED?
PWMで中間値出してプッシュとプルとか

327:774ワット発電中さん
22/10/06 19:07:54.95 jD/W4Qpi.net
LEDは1本に2個ずつ
中間電位に繋いどいてLOWとHIGHでそれぞれ点灯とか?

328:774ワット発電中さん
22/10/06 19:08:28.85 jD/W4Qpi.net
かぶった

329:774ワット発電中さん
22/10/06 19:10:45.62 jD/W4Qpi.net
別に中間じゃなくてもいいのか

330:774ワット発電中さん
22/10/06 19:14:12.60 jD/W4Qpi.net
1pinにつきキー3個とLED2個
LOW出力でLED-A点灯
HIGH出力でLED-B点灯
入力orADCで消灯

331:774ワット発電中さん
22/10/06 19:14:24.64 khsCPrD7.net
中間ないと全消灯させんの困るんでない

332:774ワット発電中さん
22/10/06 19:15:17.28 khsCPrD7.net
その手があったか

333:774ワット発電中さん
22/10/06 19:29:27.53 X13IG/JI.net
互いの逆向きの並列接続LEDペアを 1-2間、2-3間、3-1間に繋げば全部で 6個制御できそうだと思ったんだけど、
例えば 1 を H、2 を L、3 を HZ にすれば 1-2間の順方向LEDは光るのはもちろん、1-3間と3-1間の経路の順方向LEDもうっすら光りそう。
LED 1個分の VF で 2直列のLEDが光らないなら問題無いんだけどな。

334:774ワット発電中さん
22/10/06 19:31:04.77 X13IG/JI.net
>>333
まちがえた。1-3間、3-2間の経路の順方向LEDがうっすら光りそう。

335:774ワット発電中さん
22/10/06 19:36:38.37 X13IG/JI.net
ああ、中間電位があればピン間に渡さなくてもいいのか。
でもその中間電位はシンクもソースも両方向の能力が求めらるよね。半導体無しじゃ厳しそう。

336:774ワット発電中さん
22/10/06 19:40:13.51 vunsWHHW.net
つかったLEDがWS2822Sとかじゃねぇん?しらんけど(^p^;

337:774ワット発電中さん
22/10/06 19:41:51.53 khsCPrD7.net
中間電位はCRでいけるんでね?
でも、入力にするってのが正解やろね、SWも読まなあかんことやし

338:774ワット発電中さん
22/10/06 19:41:51.63 jD/W4Qpi.net
1ピンにLED2個の方がデューティーを最大50%に出来るし制御も単純なので良いような
電源電圧2直で光らないとかキーを押した時に光らないといった制約はいずれにしろ必要

339:774ワット発電中さん
22/10/06 19:47:43.18 HF8Hxs5k.net
RのかわりにCにしたら1ピンでLED3つくらい制御できるかもよ

340:774ワット発電中さん
22/10/06 19:49:48.60 X13IG/JI.net
>>337
よく考えたらそうかも。
中間電位の要件はそんなにシビアじゃない気がしてきた。
でもブリーダー電流は多めに必要な気がする。
でもなかなか面白いお題だね。
3ピンでLED6個とボタン9個はやれる気がする。

341:774ワット発電中さん
22/10/06 19:50:30.44 jD/W4Qpi.net
スリープ復帰に専用ボタンてのは製品じゃあり得ないな
ていうか、
電池駆動前提なら光らないだけじゃダメで
リーク電流も考えないと

342:774ワット発電中さん
22/10/06 19:58:00.18 X13IG/JI.net
シリアル通信省いて 3ピン制御だけにすれば、ATTiny10 でもやれるね。
>>339
このケースで C で制御するいい方法ってある?
でも C を使ってパラレル通信するアイディアは実現されてるんだよね。
パラレル入力の LCD モジュールのデータ線 4bit をマイコンの出力 1ピンで制御できる。
ラッチ/イネーブルの2本の制御にもう1本。

343:774ワット発電中さん
22/10/06 20:13:52.78 HF8Hxs5k.net
>>342
例えばハイパス側とローパス側に分けたら?
CはアノードにシリーズでカソードはどっちもGND

344:774ワット発電中さん
22/10/06 20:20:26.79 jD/W4Qpi.net
無駄に複雑にしなくても

345:774ワット発電中さん
22/10/06 20:21:23.44 X13IG/JI.net
>>343
ハイパス側を光らせずにローパス側を光らせることができないような。
そして明るさ制御もするっぽいから、過渡特性の利用は難しいんじゃないかなぁ。
はずしてるかもしれないけど。

346:774ワット発電中さん
22/10/06 20:37:19.29 cRIVI5CN.net
>>345
できるはできるかな
URLリンク(i.imgur.com)
実用性とかは置いといてスレのネタとして

347:774ワット発電中さん
22/10/06 20:38:19.89 cRIVI5CN.net
わかりにくいけど黒いワイヤはGND

348:774ワット発電中さん
22/10/06 20:41:02.23 HF8Hxs5k.net
CをRのかわりにって書いてたけどフィルタにするからRもいるわ

349:774ワット発電中さん
22/10/06 21:15:02.15 OQOf5LIU.net
>>346
へえ 面白いノウハウ持ってるなぁ
周波数を低、中、高で制御するの?

350:774ワット発電中さん
22/10/06 22:06:49.20 khsCPrD7.net
それカットオフ周波数付近で使ったら明るさもコントロールできるんじゃない?

351:774ワット発電中さん
22/10/06 22:19:53.40 zYBsGneR.net
しかし結構きれいに動作するもんだよね。
低周波で駆動したとしても所詮矩形波なわけで、その高調波でハイ側も光っちゃうと思ったんだけど。

352:774ワット発電中さん
22/10/06 22:31:01.51 1Y1faQUT.net
あとは調光とキー3個

353:774ワット発電中さん
22/10/06 22:39:41.28 2CnxMUu9.net
>>333
これがチャーリーさんだよね、実用的にはこれだろうな
極端にVfの異なるLEDを混在させるとうっすら光る可能性はあるだろうけど単一色のみのLEDだけなら問題ないし、[Vf-a ≧ 2・Vf-b]のようなLEDaとbを混在させようと思ったらVfの低いほうのLEDにちょっとRとかDを直列に入れといたらいいのかも
まあハイパスローパス方式もネタとしては結構面白いと思う

354:774ワット発電中さん
22/10/06 22:44:45.58 1Y1faQUT.net
電源---|>---[ポート]---|>---GND
に対してメリットは?
リーク電流くらい?

355:774ワット発電中さん
22/10/06 23:00:16.51 Iih/8ieo.net
>>354
ピンを入力にしたら両方光っちゃうじゃん

356:774ワット発電中さん
22/10/06 23:05:50.93 1Y1faQUT.net
電源電圧 < 2 Vf
が条件
>>333も同じ

357:774ワット発電中さん
22/10/06 23:09:14.77 Iih/8ieo.net
>>356
>>333 はおれだけど、その条件じゃないよ。
あっちのケースでは、1個の LED と 2直列の LED が並列接続される回路になるから、2直列の LED に対して VF しかかからない原理になってる。
ようするに LED が 0.5 VF で全く光らなければ問題無い。

358:774ワット発電中さん
22/10/06 23:17:24.42 1Y1faQUT.net
ああ
理解しました

359:774ワット発電中さん
22/10/06 23:19:48.04 1Y1faQUT.net
あとは、
どんなキーの状態でも光らない
キー状態が確実に判別可能
な回路を考えないと

360:774ワット発電中さん
22/10/06 23:25:19.17 Iih/8ieo.net
>>359
それな。
ADC で読むには電圧出す必要があるからねぇ
読むとき以外も、ボタンの ON/OFF が LED の明るさに影響する回路じゃいけないし。

361:774ワット発電中さん
22/10/06 23:32:45.40 1Y1faQUT.net
8値を判別出来ればいいから
そんなに難しくはないとは思うけど
電源5Vなら
2V~3Vくらいに割り振る感じ
電流制限抵抗含めて1Vで光らなければOKみたいな

362:774ワット発電中さん
22/10/06 23:47:57.48 4tbzKm0X.net
>>318
せやな~ なのでそれを難しくする事に意味があるんよ~
>>319
振られたお題はAVRで簡単に出来る複雑なLチカをPICで作るって内容だから
(悔しくてもっと複雑なLチカにしたのよ)
>>336
そんな高価なLED使えるかーー!
こっちとら低所得者だぞ\(^o^)/

363:774ワット発電中さん
22/10/06 23:51:24.51 nHR84oxA.net
>>362
んで回路図はよ
3ピンの部分だけでも

364:774ワット発電中さん
22/10/06 23:53:31.86 4tbzKm0X.net
今日1日で凄い勢いでスレが伸びてる
やはり>>218「模型自動車ライト」の御方は只者ではなかった\(^o^)/ <アリガトー♪
みんなも↑の御方に感謝の気持ちを持ってもらいたい

365:774ワット発電中さん
22/10/06 23:54:23.96 1Y1faQUT.net
8段階の明るさは
1:2:3:5:9:14:22:32
くらいなら区別がつくかな
同時点灯2個で100Hz制御だと
0.1秒タイマー割り込みで処理すればいい
PIC 32MHzだと800命令分の時間があるから
まあ間に合うでしょう

366:774ワット発電中さん
22/10/06 23:56:44.47 1Y1faQUT.net
>>354だと同時に3個点灯可能だから
1200命令使える

367:774ワット発電中さん
22/10/07 01:05:42.10 0zwAdKFD.net
>>363
おれは>>362じゃないけどチャーリーさんはこれだよ
Charlieplexing - Wikipedia
URLリンク(en.wikipedia.org)
チャーリープレクシング - Google画像検索
URLリンク(www.google.com)

368:774ワット発電中さん
22/10/07 01:28:58.17 HjcZZToN.net
こんなに盛り上がると思ってなかったの〜
しょぼい(低レベルな)回路図とコードですまん m(__)m
URLリンク(i.imgur.com) (回路図)
URLリンク(pastebin.com) (ソースコード)
↑粗探し放題だよ \(^o^)/ < みんなで僕を虐めて気持ち良くなろう
>>363
上げたで〜
>>365
>PIC 32MHzだと800命令分の時間があるから
これが「PIC32MZだと800命令分の」に見えた \(^o^)/

369:774ワット発電中さん
22/10/07 01:40:46.12 3ysptwUU.net
>>368
ありがとー
LED部分は当たりだったがボタン部分がぱっと見ただけじゃなんでそんな定数なのかよく分からんw
ちょっと考える

370:774ワット発電中さん
22/10/07 07:03:00.80 VC8Qpe+K.net
データシートの先頭に
8-Pin MCU with High-Precision 16-Bit PWMs
なんて書いてあると思ったら
やっぱりハードPWMだったか
確かにこれだと簡単だけど
CPUを選ぶね

371:774ワット発電中さん
22/10/07 07:27:46.12 VC8Qpe+K.net
void timer_isr(void){
LED_PORT = pwm_table[step++ & 31];
}
こんなのを考えてた
複数ピンを一気に設定

372:774ワット発電中さん
22/10/07 07:47:01.73 Ulot/BJZ.net
>>368
よく見てないけどこれはPowerOFFはAutoPowerOFFでSleepになるの?SW10でもPowerOFFになる?
SleepしてもSW入力の抵抗がVddからGndまでつながってるからここにはちょっとは流れ続けてるってことかな(まあちょっとだろうけど)?

373:774ワット発電中さん
22/10/07 08:58:02.44 2aYK8V+i.net
電流制限抵抗入れないでインダクタにしてるのは何で?

374:774ワット発電中さん
22/10/07 09:07:33.87 2aYK8V+i.net
キャリブレーション面倒そう

375:774ワット発電中さん
22/10/07 09:19:30.72 jv0/Hwt1.net
Charlieplexing というのか・・・ うぃきぺじあ先生の解説をあとでよもうっと。(^p^;べんきょうべんきょう
>374
なんのキャリブレーションかしらんけどswitch読みのことなら
先の案の様な最小側に寄せないで 単純な整数比で判別できるように抵抗値側を合わしてあるばあい
3chの10びっとADに三ビット配分だろうから較正要らないくらいの余裕をもたせられてるんじゃね?しらんけど

376:774ワット発電中さん
22/10/07 09:28:46.24 2aYK8V+i.net
LED駆動の話

377:774ワット発電中さん
22/10/07 09:31:14.69 2aYK8V+i.net
もしかして電力ケチってる?

378:774ワット発電中さん
22/10/07 09:53:05.95 jv0/Hwt1.net
LED? (この回路図とは別個に提案されてた ローパスフィルタ使って云々 っていう方法の場合は実在の素子の値に応じて
較正が必要になりうる可能性もはらんでるだろうけど)この回路見る限り、LEDまわりにキャリブレーション必要な要素ってどこかにあるんすか??
3.3V, 0V, Hi-Zの切り替えで制御するだけらしいなので 較正する余地はなさそうに思うんよ、しらんけど

379:774ワット発電中さん
22/10/07 10:49:00.65 jv0/Hwt1.net
今回3.3VでちょうどいいLEDがあったみたいだけど
5Vで運用するばやいは適宜ダイオードを直列に挿んでトータルのVf稼げばいいとおもうたんよ
図は一段だけど、必要に応じて直列二段三段増やしていけbあ、と。
URLリンク(o.5ch.net)

380:774ワット発電中さん
22/10/07 10:49:50.06 uRUUMrl/.net
>>373
おれもそれ気になった
インダクタなんてわざわざ使いたくもないだろうに、それを使うとなればそれなりの理由があるんだろうが。

381:774ワット発電中さん
22/10/07 10:54:47.98 uRUUMrl/.net
>>379
そんなことせずとも >>368 のインダクタを抵抗にするだけでもいいような気がするの。
そして電流制限ならむしろ L より C の方がハングアップ時も安心だし、でも L でも C でも力率悪くなってマイコンのドライブ能力をフルに活かせなくなるからやっぱ R が最適じゃないのかなと。

382:774ワット発電中さん
22/10/07 11:50:45.91 pIE3vQdc.net
インダクターの存在理由をエスパーすると
逆接のダイオードはコンデンサを形成するので(絶縁層を挟んで電極が存在する形になるため)
突入電流防止でインダクター入れてんじゃないかと

383:774ワット発電中さん
22/10/07 12:07:49.06 jv0/Hwt1.net
何でインダクタなんて使いたくないとか決めつけてるの?なんかかっこいいじゃん!コイルなんだぜコイル!!(^p^)

384:774ワット発電中さん
22/10/07 12:43:56.91 7k4dfaJI.net
どうせ趣味なんだし、好きにすればいい

385:774ワット発電中さん
22/10/07 12:45:48.82 jv0/Hwt1.net
だな。シルクに萌え絵入れようぜ(^p^)もえもえきゅーん

386:774ワット発電中さん
22/10/07 13:29:55.50 p6GFpX8L.net
>>385
僕はこれ使ってる\(^o^)/
URLリンク(i.imgur.com)

387:774ワット発電中さん
22/10/07 13:30:48.99 4gZfI08v.net
PWMで駆動したら、抵抗よりコイルの方が効率がいいとかでは。

388:774ワット発電中さん
22/10/07 13:41:21.68 pIE3vQdc.net
LEDの電流制限は、この場合電位差が小さいので出力の内部抵抗で足りちゃってるだろうから制限抵抗なしになってると思うんだわ
で、寄生コンデンサのディスチャージ時はチャージ電圧+電源電圧が出力の内部抵抗にかかるから、ドカンと来るからLでナマスと
ちゃうかな~
なんたらスパイスの達人がいたら答え出そうだけど

389:774ワット発電中さん
22/10/07 15:30:07.07 FN5ENDyl.net
>>387
そりゃ効率は良いだろうけど
条件や個体で電流が大きく変わっちゃうじゃん
簡単に定格越えちゃう
抵抗なら気にしなくて良いのに
どうせやるなら電流制御のバックコンバーターっぽくしようよ

390:774ワット発電中さん
22/10/07 15:55:49.39 FN5ENDyl.net
この回路
砂場いらないの?

391:774ワット発電中さん
22/10/07 16:10:28.44 pIE3vQdc.net
>>390
Lの逆起電力で、マイコンが破壊される心配してる?
マイコン側の入力保護ダイオードでクランプされて問題なしかと

392:774ワット発電中さん
22/10/07 17:55:47.43 7k4dfaJI.net
回路図上ではLにしておいて、実際にはRを付けるという
ブービートラップとかね

393:774ワット発電中さん
22/10/07 18:03:24.64 VC8Qpe+K.net
最大点灯時間12.9%
制御周期15.5ms
点灯周波数64.5Hz
PWMデューティー15%~97%
ちらつきが気になる人がいるかも

394:774ワット発電中さん
22/10/07 18:06:09.51 7k4dfaJI.net
テレビなんて60Hzだったりするけどな

395:774ワット発電中さん
22/10/07 18:12:38.11 VC8Qpe+K.net
照明100Hzで気になる人いるじゃん

396:774ワット発電中さん
22/10/07 18:16:33.71 VC8Qpe+K.net
点灯 1500us x6
消灯待ち 100us x6
ADC準備 100us
AD 100us x3
計10ms (100Hz)
とか

397:774ワット発電中さん
22/10/07 18:20:34.60 VC8Qpe+K.net
デューティーと電流の関係がわからないんだけど
どうやって計算するの?

398:774ワット発電中さん
22/10/07 18:24:56.88 gf7JtHCT.net
R なら連続通電で流れる電流にデューティー比を掛ければいいんだけどな。

399:774ワット発電中さん
22/10/07 18:32:37.03 E5ZTDT7y.net
水、木、金とゆるAVRのユルくないレス数に読みつかれた
商売なら多ピンのCPUを使うところだけどそれでは話はすぐにおわってしまう

400:774ワット発電中さん
22/10/07 18:36:02.89 VC8Qpe+K.net
普通の降圧電源ならデューティー比と電圧が比例するから電流はヤバい事になるんだけど
Cもダイオードも無いからよくわからん

401:774ワット発電中さん
22/10/07 18:40:57.29 VC8Qpe+K.net
ダイオード:CPU内のクランプダイオード
平滑コンデンサ:無し
とした時の降圧電源と考えれば良いのかな?
実験してみるか

402:774ワット発電中さん
22/10/07 18:47:37.31 VC8Qpe+K.net
10A超のLEDの制御をした時は
デューティーに対して電流変化が大きくて
非常に苦労した覚えがある

403:774ワット発電中さん
22/10/07 19:30:37.89 VC8Qpe+K.net
1mHなんて持ってなかった

404:774ワット発電中さん
22/10/07 19:51:57.85 pIE3vQdc.net
突入防止かと思ってたけど
クランプダイオードとインダクターでPWMを均してんのか
チラツキ防止にも「なるな

405:774ワット発電中さん
22/10/07 20:00:23.70 VC8Qpe+K.net
320kHzはちらつかないだろ

406:774ワット発電中さん
22/10/07 20:09:47.54 pIE3vQdc.net
320kってどっから湧いた

407:774ワット発電中さん
22/10/07 20:13:05.90 VC8Qpe+K.net
デューティーの最大が97%だから
制限抵抗が無いのと同じだな
やっちゃいけないLEDの駆動回路の代表

408:774ワット発電中さん
22/10/07 20:13:44.26 VC8Qpe+K.net
>>406
PWMの周波数

409:774ワット発電中さん
22/10/07 20:19:40.29 VC8Qpe+K.net
320kHzで1mH
感覚的にはすごくデカいんだけど
たまたま1mHを持ってたとか?
コンデンサは入れたくなかった?
入れられない事情があった?
なんかいろいろわからないことだらけ

410:774ワット発電中さん
22/10/07 20:22:32.30 pIE3vQdc.net
前の方で64.5Hzって書いてなかった?

411:774ワット発電中さん
22/10/07 20:25:20.95 VC8Qpe+K.net
PWM周波数320KHzで2ms点灯
13.5ms消灯

412:774ワット発電中さん
22/10/07 20:30:14.63 WQyb2H1H.net
>>407
6個のLEDは同時には1つしか点灯しないから、その時点でデューティーは 1/6 だよ。
2個同時にも点けられるけど、1個の場合と 2個の場合とで明るさが変わっちゃうからそうしないはず。
でも仮に 2個同時に点けてもデューティーは 1/3 だ。
それをさらに 8段階に制御するんでしょ。
でもやっぱり、ひとつの L は 2ペアの LED に繋がるから、どんな意図の電流制限であろうとあんまりいい方法ではないんじゃないかなぁ
連続する 2ペアの LED が両方 ON の場合と片方 OFF の場合とで電流変わっちゃいそう。

413:774ワット発電中さん
22/10/07 20:30:35.55 pIE3vQdc.net
offの長い時間を1mHで繋いでるんじゃ?

414:774ワット発電中さん
22/10/07 20:35:36.95 VC8Qpe+K.net
>>412
キーサンプリング時間、オフ待ち時間もあって
PWMオン期間は12.9% 2ms
デューティー最大97%はPWMオン期間2msの話

415:774ワット発電中さん
22/10/07 20:37:09.92 VC8Qpe+K.net
>>413
オフ期間流れてたらキーサンプリングが出来ないし
他のLEDが点灯してしまう
消灯まで100us待ってから次のLEDを点灯してる

416:774ワット発電中さん
22/10/07 20:38:29.98 WQyb2H1H.net
>>414
なるほど了解

417:774ワット発電中さん
[ここ壊れてます] .net
なるへそ

パズルはむつかしいほうが面白いけど
難しすぎると、途中で飽きる
ルービックキューブみたいにw

418:774ワット発電中さん
[ここ壊れてます] .net
>>412
普通は
制限抵抗がLED別なら
2本点灯でも明るさは変わらないはずなんだけど

インダクタが共通なのと
ポートの内部抵抗を使ってるっぽいので
この回路だと変わっちゃうかもね

419:774ワット発電中さん
[ここ壊れてます] .net
5/6の空白期間をコンデンサでじわっと保たせれば

420:774ワット発電中さん
[ここ壊れてます] .net
ナゾは
なぜ電流制限抵抗ではなく
インダクタを使ったのか
というところだけ

それ以外は特に疑問点はないかな

421:774ワット発電中さん
[ここ壊れてます] .net
>>419
13.5msもの間光らせるのは大変
微妙な電圧差で電流が大きく変わるので

それ以前に
逆向きのLEDが光らなくなっちゃうし
キーサンプリングにも影響が出る

422:774ワット発電中さん
22/10/07 20:56:28.55 pIE3vQdc.net
抵抗に置き換えて実験してみれば、なるほど~ってなるかも

423:774ワット発電中さん
22/10/07 20:56:54.42 VC8Qpe+K.net
>>422
まかせた

424:774ワット発電中さん
22/10/07 20:57:21.11 pIE3vQdc.net
やだ

425:774ワット発電中さん
22/10/07 20:59:11.47 VC8Qpe+K.net
じゃあ来週やってみる
3連休は無理

426:774ワット発電中さん
22/10/07 21:03:33.20 D6eq3rop.net
つうか誰かボタンの解説してくれよ

427:774ワット発電中さん
22/10/07 21:10:47.28 VC8Qpe+K.net
各チャンネルボタンが3個
押下状態8通りで電圧が変わるようにして
ADCで押下状態を判別
ADC中は3pinは入力状態
電圧によってLEDが光らないように
最大でもVf未満の電圧になるのうに設定
サンプリングは15.5ms周期
5回一致で確定

428:774ワット発電中さん
22/10/07 21:11:51.28 VC8Qpe+K.net
たぶんこんな感じ

429:774ワット発電中さん
22/10/07 21:23:59.85 D6eq3rop.net
>>427
いやそうなんだけど、回路定数がなんでああなってんのかだよ。
ボタンの押下状態に対してリニアに電圧が出るようになってる?
インピーダンスが一定になるようになってる?
みたいなことがあるのかと思って手計算してたけど嫌になった

430:774ワット発電中さん
22/10/07 21:25:07.70 VC8Qpe+K.net
閾値はソースコードを見ればわかるよ

431:774ワット発電中さん
22/10/07 21:29:18.10 VC8Qpe+K.net
インピーダンスは
パッと見でも一定じゃない

432:774ワット発電中さん
22/10/07 21:33:51.78 D6eq3rop.net
>>430
うーん、そういうことじゃなくて…
まあもう少し考えるわ

433:774ワット発電中さん
22/10/07 21:46:16.21 j+M/Mshz.net
ADC判定の4キーパッドがAliに売ってた
ありふれた技術なのかな?
値の決め方は
ざっくり8個が等間隔になるように
まず単キー押しに影響する縦の4個を決めて
それから複数押しに影響する横を決めれば良いかと


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

269日前に更新/223 KB
担当:undef