X

ゆるAVR

2022/07/16(土) 06:29:39.84ID:ByQ1D9ct
AVRマイコンでなんか作ったりとか
ゆる~く遊んじゃおうってスレです
一応、他人をこき下ろすような発言は禁止
どうしてもって場合は、どうしてそう思うのかまで書くこと
2022/10/05(水) 18:09:46.09ID:Sy8tyoK5
>>251
別に業務の引き継ぎだけじゃなくて
他人のコード流用でもいいけど
ディスパッチャ君のコード流用は不可能

>>253
本当に1行ずつコメントが必要だとしたら
ソースがまずい

>>255
流用が下手
ということ


趣味のコードでドキュメントなんてたいそうなものいちいち書かんだろ
簡単なメモくらい
2022/10/05(水) 18:13:08.48ID:Sy8tyoK5
ディスパッチャ君自信も
PIC、STM8、RL78 に移植とか出来ないでしょ
だから万年tiny2313
2022/10/05(水) 18:20:33.11ID:jRYaGmsA
>>262
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1419/370/amp.index.html
日本語よりお嬢様語ですわ〜 \(^o^)/
2022/10/05(水) 18:36:02.15ID:4r5HAvtl
俺のキーボードを昆布茶でびしょびしょにしようとしないでくれ
2022/10/05(水) 18:55:40.93ID:WQIpoG1n
ここではディスパッチャ君なんて名前がついたのか。
相変わらずのガイキチっぷりだな。
2022/10/05(水) 18:57:34.95ID:ZkJxkjnW
>>264
移植というか、アセンブラで最適化したコーディングするならそれぞれに作り直すんじゃないの?
そもそも同じものを別のマイコンで動かす必要があるかも分からんけど。
2022/10/05(水) 19:28:37.46ID:4r5HAvtl
で、ディスパッチャ君て何者?
270774ワット発電中さん
垢版 |
2022/10/05(水) 19:50:18.13ID:Fu4/vxNB
コメントやドキュメントはこう動けば良いなの願望が書かれたモノだから。
271774ワット発電中さん
垢版 |
2022/10/05(水) 20:12:14.74ID:QJSQ5o+2
ゆるスレで
2022/10/05(水) 21:20:27.30ID:jRYaGmsA
>>269
少なくとも只者ではない
僕は彼の根気強さに負けて作例を1点作った\(^o^)/
2022/10/05(水) 22:53:43.64ID:Sy8tyoK5
1000uFへの突入でレギュレータ飛ばしてしまった
低ESRヤバい
274774ワット発電中さん
垢版 |
2022/10/06(木) 10:54:49.87ID:41eTpe9R
>>273
へぇ・・・ 保護に電流制限の抵抗を入れると電源投入直後の充電時以外は邪魔でしょうけど どう対策するんすか?
インダクタで電流制限とか出来るんすかね?
2022/10/06(木) 11:00:23.33ID:khsCPrD7
低ESRだからなのか?
2022/10/06(木) 11:01:10.59ID:khsCPrD7
>>272
何作ったの?
277774ワット発電中さん
垢版 |
2022/10/06(木) 11:20:46.13ID:41eTpe9R
ああそうか 極論として 仮に一瞬短絡したとしても
電圧が急減するだけで それだけで
電源を壊わすというのはむしろ難しいような気もするか; むむむ
2022/10/06(木) 11:22:45.54ID:tnqe5ftg
>>273
それで飛ぶくらいの容量のレギュレータで動かす負荷に対して 1000μF がデカ過ぎってことじゃない?
2022/10/06(木) 11:35:48.50ID:4tbzKm0X
>>273
大抵のレギュレータには過電流保護機能とかサーマルシャットダウンがついてるので
大容量のコンデンサで飛ばす(壊す)のは難しいと思うの
たぶん\(^o^)/

僕はむかし3端子レギュレータの端子をIN,GND,OUTと思い込んで間違った配線して壊した
7805とかと同じ感覚でNJU72233を配線したらポンした\(^o^)/
2022/10/06(木) 11:35:56.73ID:uS2AhADD
>>258
実際にサンプルの模型自動車ライト制御プログラム(ただのLチカです)を
シングルタスクで書いて。催事と速度を比較してみていただければ、と思います。
もちろん万能ではありません、一度、マルチタスクで書いた後に、
シングルタスクでゼロからやり直した事があります。

>>263
「溺れる者は藁をも掴む」じゃないけど、将来の機能追加など万が一の時を考えて
まだ泳ぎ出す前なのにコメントを沢山書いていますw
実際に機能追加作業が始まると、意味がよく理解できないコメントに溺れてしまって、
なんだこの意味不明役、立たずのコメントは藁か!と腹が立つ。
 ASMではプログラムの個々のステップの処理内容が小さく抽象的なので
分りにくいってのもあると思う。
2022/10/06(木) 11:37:48.13ID:uS2AhADD
ゴメン
催事 → サイズ
2022/10/06(木) 11:43:38.10ID:khsCPrD7
コメントあるあるやねw
自分のために書くと、結局イミフと化すとかよくくある
最近は初めから他人に説明(解説)するつもりで書くようにしてる
2022/10/06(木) 11:45:50.48ID:uS2AhADD
なんだかタイプミスが多いな、睡眠不足が原因かな・・・眠い・・・
>264
このディスパッチャは移植なんかできまっしぇんw
なにしろ相手はマルチタスクに何の配慮も無いAVRですよ。
ただし、考え方(動作原理)さえ理解していれば、全てのCPUに応用できます。
(あ、ごく一部のCPUを除く)

>>269
ただの通りすがりのAVRプログラミング求道者です。
「あと5年有れば真のAVRプログラマになれたのに」
と言って死にたいのですw
2022/10/06(木) 11:48:54.02ID:uS2AhADD
しかし、このゆるスレがすっかり本スレになってしまったね
2022/10/06(木) 11:49:22.09ID:tnqe5ftg
仕事の話で言えば、関数の中身が全部コメントアウトされてて、なんでって聞いたらこうしないとビルド通らないからと言われて唖然としたことがある
2022/10/06(木) 11:49:52.41ID:4tbzKm0X
>>276
彼が頻繁にURLを貼っている(模型自動車のライト制御?)
https://pastebin.com/hZ4EiF7m
tiny2313にSW8個とLED6個を接続して自動車のライトの動きを再現したもの
またUART入出力でPCと接続もできる(詳しくはURLに動きの詳細が出てる)

↑この仕様はCPUの貧弱なPICでは作れないとPICスレで主張してたの(涙)

これを8ピンのPIC(12F1572)で作ったの \(^o^)/
2022/10/06(木) 11:56:27.84ID:khsCPrD7
>>284
別にサブスレって位置づけじゃないし、いいんでない
面白い話題ふってやれば戻るんじゃない?
2022/10/06(木) 11:58:02.49ID:tnqe5ftg
>>286
8ピンじゃIO足りなそうだけど、外付けの部品で拡張したの?
2022/10/06(木) 12:04:55.77ID:khsCPrD7
AVR便利帳みたいのほしいなあ、ペリフェラルの初期化手順とか、コピペでパっとできる的なやつ(それにかぎらないけど)
一回作っちゃせば使いまわしできるけど、AVR使いだして間がないから、全然ストックないんだよね
疲れた頭でデーターシート読でも、なかなか入ってこないし、みんなでよってたかって作んない?
290774ワット発電中さん
垢版 |
2022/10/06(木) 14:00:16.43ID:DrJ4U8C8
>>286
SW8個も使うなら、すべてに抵抗値違う抵抗噛ませて全部並列に繋いで
アナログ入力1個で判別すれば楽

まぁ、すべての組み合わせの合成抵抗値計算したりすんの大変だけどw
2022/10/06(木) 14:02:46.13ID:khsCPrD7
>>290
同時押しはどうすんの?
292774ワット発電中さん
垢版 |
2022/10/06(木) 14:03:34.52ID:DrJ4U8C8
並列でなく直列に繋いで、SWで抵抗をパスさせた方が簡単だな
足し算で済む
押されたボタンの分だけ抵抗値が減る
293774ワット発電中さん
垢版 |
2022/10/06(木) 14:04:57.78ID:DrJ4U8C8
>>291
抵抗値を、1,2,4,8みたいに2進数式に使うと
複数押されても何が複数押されたか判別可能
2022/10/06(木) 14:08:09.40ID:khsCPrD7
ADCの分解能足りる?
2022/10/06(木) 14:25:13.95ID:qowYjqHm
>>294
8個の識別には 8bit 必要だけど誤差やらばらつきを吸収するためにあと 2~3bit は欲しいだろうね。
でも同時押しいらないなら計算上 5% 抵抗でも 8bit ADC で最悪値 20個くらいの読み分けができる。
実際は 5% 抵抗だってそのばらつきは小さいから、もっと多くのボタンの読み分けができる。
2022/10/06(木) 14:26:39.17ID:khsCPrD7
同時押しいらないならじゃなくて、同時押しの流れやんw
2022/10/06(木) 14:28:44.96ID:qowYjqHm
>>296
同時押しのパターンは説明したじゃん。
その上で元のアプリケーションの操作性を鑑みて同時押しを捨てた場合について言及してるんでしょ。
2022/10/06(木) 14:32:03.04ID:41eTpe9R
8ピンか・・・
給電に2ピン、
シリアル通信に2ピン、
残り4ピン・・・
ダイレクトスキャンに3ピン使うと1ピンしか余らんなぁ; あ、じゃあ、
スキャンアドレスは外部カウンタでクロックから生成して
同期用に一ピン入力
スキャン周期8でスイッチ系の入力に1ぴん
LEDには1ピン、8周期中6使って各各のLEDに、二周期は消灯、なら
1ピン余るから、なんとかいけるのかなぁ・・・しらんけど;
299774ワット発電中さん
垢版 |
2022/10/06(木) 14:49:29.66ID:DrJ4U8C8
>>294
抵抗のバラつきがプラス方向で
かつ抵抗小さい方からの累積数より大きいという条件なら判別可能で10ビット分解能で余裕
1,2,4,8,16,33,67,140とかさ
途中欠番になるだけだし
300774ワット発電中さん
垢版 |
2022/10/06(木) 15:10:04.47ID:41eTpe9R
いまいちよくわからんけどこういうこと?
140Ωの5%が7Ωだから、4Ω以下のが埋もれないか?
付け替えはしないだろうから較正表というか換算テーブルで見れば行けるのか・・・??
301774ワット発電中さん
垢版 |
2022/10/06(木) 16:11:19.86ID:cEZPDJy4
誤差ったって使うたびにばらつくわけでもあるまい?
2022/10/06(木) 16:12:13.74ID:khsCPrD7
電圧変動とか、ノイズとか
2022/10/06(木) 16:14:07.69ID:khsCPrD7
一番めんどくせーのが温度ドリフト
304774ワット発電中さん
垢版 |
2022/10/06(木) 16:14:26.93ID:41eTpe9R
>>301
どういう判定方法をとる気か知らんが
較正作業めんどそうやぞ・・・
2022/10/06(木) 16:19:12.00ID:dzojMbVr
よく考えると、SW 8個の場合合成抵抗は例えば 0~255Ω の間の 1Ω刻みのリニア値が得られるけど、それを電圧に変換して ADC に読ませるのは面倒だね。
定電流元使えば抵抗値に比例した電圧に変換することができるけど、当然定電流を流す電源の電圧は VREF より高くないといけないから、VREF が電源電圧に近いとフルレンジは取れないことになる。

んで >>300 の指摘のように、8bit を得ようとすると一番小さい抵抗は一番大きい抵抗の 1/128 = 0.78% でしかないから、かなりの高精度抵抗を使う必要がある。
5%抵抗なら 4bit 程度の精度 = SW 4個が保証限界だね。
逆に 4bit 程度なら、前述の定電流元は抵抗で簡略化できるかも。
2022/10/06(木) 16:21:04.07ID:dzojMbVr
>>305
まちがった、5% なら 1:16 が行けるから 5bit だね。
2022/10/06(木) 16:25:09.34ID:dzojMbVr
>>306
さらにまちがった。誤差は一番小さい抵抗の 1/2 未満じゃないといけないから、やっぱ 4bit だね。
308774ワット発電中さん
垢版 |
2022/10/06(木) 16:32:37.69ID:41eTpe9R
>>298
だいれくとじゃねえ ダイナミックスキャンや
走査時にスイッチも順にみて行けばええんやな
2022/10/06(木) 16:36:14.45ID:dzojMbVr
>>308
そに場合スイッチにはダイオードを挿入する必要があるし、ダイナミックスキャンのためぬ外付け部品いろいろ付けるくらいならピンの多いマイコン使う方が安いと思う。
2022/10/06(木) 16:36:18.12ID:khsCPrD7
1ピンでなんとかしたいって話じゃなかったんか
2022/10/06(木) 16:42:01.02ID:dzojMbVr
>>309
タイポがひどい…

それはおいておいて、LED 2個を並列に逆接続したペアを作れば、コモン線を 1本と LED線 n本で、つまり 1+n本の GPIO で 2n個の LED を外付け部品無しに点け分けられるね。
8ピンのマイコンで GPIO 5本取れるなら、8個の LED を制御できる。
2022/10/06(木) 16:59:52.14ID:kSx6V3Eg
混乱させるとスレが盛り上がる\(^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パターン)
2022/10/06(木) 17:05:30.13ID:DZiSSVZn
>>312
3ピンで LED 6個とスイッチ 9個繋いでるの?
回路図見せてくれ!
2022/10/06(木) 17:09:40.92ID:FvyqnPmf
外付けリレーか真空管だな。
315774ワット発電中さん
垢版 |
2022/10/06(木) 17:19:01.56ID:41eTpe9R
外部半導体なしか・・・なら、シリアル制御LEDと、ラダー抵抗のAD読みかなぁ・・・
316774ワット発電中さん
垢版 |
2022/10/06(木) 17:25:54.45ID:41eTpe9R
↑の補足
switch群をデジタル入力と見做して、ラダー抵抗でアナログ値を形成して
それをAD変換器で解読
2022/10/06(木) 18:11:07.78ID:1Y1faQUT
>>278
500mAくらいパルスで流すんで
そのくらい無いと変動しちゃう
レギュレーターは定格300mAまでだけど
パルスだから良いかなあと思って

>>279
過電流保護付きなんだよね
フの字の
原因別かなあ
コンデンサへの突入くらいしか思い浮かばない
2022/10/06(木) 18:18:24.51ID:jD/W4Qpi
>>286
マイコンで扱う処理としては最も簡単な部類だな
2022/10/06(木) 18:20:36.29ID:jD/W4Qpi
LEDのPWM周波数と、8段階の各デューティー比に関する要件は?
2022/10/06(木) 18:30:57.34ID:jD/W4Qpi
8pinか
素直に20pinくらいのを使った方が安いでしょ
2022/10/06(木) 18:44:39.45ID:khsCPrD7
そんな、ジグソーパズルを楽しんでる人に、完成品をあげるようなことを言ってはいけないw
2022/10/06(木) 18:56:15.92ID:khsCPrD7
この前試作したUSBASP+bitban+シリアルコンバーターを
ケーブル2本つなぐの嫌だからusbハブと一緒にケースに収めてテストしたら
動かね~・・・と、たそがれてたら、リボンケーブルの片側逆に作ってた orz
2022/10/06(木) 18:57:18.96ID:jD/W4Qpi
>>312
LED 8段階のデューティー比はどのくらい?
2022/10/06(木) 19:01:52.75ID:jD/W4Qpi
DACが使えるのか
PWMもリッチだね

3本で6個のLEDを8段階かあ
わからん

半導体を使わないって
抵抗も?
2022/10/06(木) 19:04:36.69ID:jD/W4Qpi
キーは1本に3個ずつかな
点灯してない瞬間にサンプリング
2022/10/06(木) 19:07:21.19ID:khsCPrD7
3品で6LED?
PWMで中間値出してプッシュとプルとか
2022/10/06(木) 19:07:54.95ID:jD/W4Qpi
LEDは1本に2個ずつ
中間電位に繋いどいてLOWとHIGHでそれぞれ点灯とか?
2022/10/06(木) 19:08:28.85ID:jD/W4Qpi
かぶった
2022/10/06(木) 19:10:45.62ID:jD/W4Qpi
別に中間じゃなくてもいいのか
2022/10/06(木) 19:14:12.60ID:jD/W4Qpi
1pinにつきキー3個とLED2個
LOW出力でLED-A点灯
HIGH出力でLED-B点灯
入力orADCで消灯
2022/10/06(木) 19:14:24.64ID:khsCPrD7
中間ないと全消灯させんの困るんでない
2022/10/06(木) 19:15:17.28ID:khsCPrD7
その手があったか
2022/10/06(木) 19:29:27.53ID:X13IG/JI
互いの逆向きの並列接続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が光らないなら問題無いんだけどな。
2022/10/06(木) 19:31:04.77ID:X13IG/JI
>>333
まちがえた。1-3間、3-2間の経路の順方向LEDがうっすら光りそう。
2022/10/06(木) 19:36:38.37ID:X13IG/JI
ああ、中間電位があればピン間に渡さなくてもいいのか。
でもその中間電位はシンクもソースも両方向の能力が求めらるよね。半導体無しじゃ厳しそう。
336774ワット発電中さん
垢版 |
2022/10/06(木) 19:40:13.51ID:vunsWHHW
つかったLEDがWS2822Sとかじゃねぇん?しらんけど(^p^;
2022/10/06(木) 19:41:51.53ID:khsCPrD7
中間電位はCRでいけるんでね?
でも、入力にするってのが正解やろね、SWも読まなあかんことやし
2022/10/06(木) 19:41:51.63ID:jD/W4Qpi
1ピンにLED2個の方がデューティーを最大50%に出来るし制御も単純なので良いような

電源電圧2直で光らないとかキーを押した時に光らないといった制約はいずれにしろ必要
2022/10/06(木) 19:47:43.18ID:HF8Hxs5k
RのかわりにCにしたら1ピンでLED3つくらい制御できるかもよ
2022/10/06(木) 19:49:48.60ID:X13IG/JI
>>337
よく考えたらそうかも。
中間電位の要件はそんなにシビアじゃない気がしてきた。
でもブリーダー電流は多めに必要な気がする。

でもなかなか面白いお題だね。
3ピンでLED6個とボタン9個はやれる気がする。
2022/10/06(木) 19:50:30.44ID:jD/W4Qpi
スリープ復帰に専用ボタンてのは製品じゃあり得ないな

ていうか、
電池駆動前提なら光らないだけじゃダメで
リーク電流も考えないと
2022/10/06(木) 19:58:00.18ID:X13IG/JI
シリアル通信省いて 3ピン制御だけにすれば、ATTiny10 でもやれるね。

>>339
このケースで C で制御するいい方法ってある?
でも C を使ってパラレル通信するアイディアは実現されてるんだよね。
パラレル入力の LCD モジュールのデータ線 4bit をマイコンの出力 1ピンで制御できる。
ラッチ/イネーブルの2本の制御にもう1本。
2022/10/06(木) 20:13:52.78ID:HF8Hxs5k
>>342
例えばハイパス側とローパス側に分けたら?
CはアノードにシリーズでカソードはどっちもGND
2022/10/06(木) 20:20:26.79ID:jD/W4Qpi
無駄に複雑にしなくても
2022/10/06(木) 20:21:23.44ID:X13IG/JI
>>343
ハイパス側を光らせずにローパス側を光らせることができないような。
そして明るさ制御もするっぽいから、過渡特性の利用は難しいんじゃないかなぁ。
はずしてるかもしれないけど。
2022/10/06(木) 20:37:19.29ID:cRIVI5CN
>>345
できるはできるかな
https://i.imgur.com/oexcMXo.mp4
実用性とかは置いといてスレのネタとして
2022/10/06(木) 20:38:19.89ID:cRIVI5CN
わかりにくいけど黒いワイヤはGND
2022/10/06(木) 20:41:02.23ID:HF8Hxs5k
CをRのかわりにって書いてたけどフィルタにするからRもいるわ
2022/10/06(木) 21:15:02.15ID:OQOf5LIU
>>346
へえ 面白いノウハウ持ってるなぁ
周波数を低、中、高で制御するの?
2022/10/06(木) 22:06:49.20ID:khsCPrD7
それカットオフ周波数付近で使ったら明るさもコントロールできるんじゃない?
2022/10/06(木) 22:19:53.40ID:zYBsGneR
しかし結構きれいに動作するもんだよね。
低周波で駆動したとしても所詮矩形波なわけで、その高調波でハイ側も光っちゃうと思ったんだけど。
2022/10/06(木) 22:31:01.51ID:1Y1faQUT
あとは調光とキー3個
2022/10/06(木) 22:39:41.28ID:2CnxMUu9
>>333
これがチャーリーさんだよね、実用的にはこれだろうな
極端にVfの異なるLEDを混在させるとうっすら光る可能性はあるだろうけど単一色のみのLEDだけなら問題ないし、[Vf-a ≧ 2・Vf-b]のようなLEDaとbを混在させようと思ったらVfの低いほうのLEDにちょっとRとかDを直列に入れといたらいいのかも
まあハイパスローパス方式もネタとしては結構面白いと思う
2022/10/06(木) 22:44:45.58ID:1Y1faQUT
電源---|>---[ポート]---|>---GND

に対してメリットは?
リーク電流くらい?
2022/10/06(木) 23:00:16.51ID:Iih/8ieo
>>354
ピンを入力にしたら両方光っちゃうじゃん
2022/10/06(木) 23:05:50.93ID:1Y1faQUT
電源電圧 < 2 Vf
が条件

>>333も同じ
2022/10/06(木) 23:09:14.77ID:Iih/8ieo
>>356
>>333 はおれだけど、その条件じゃないよ。
あっちのケースでは、1個の LED と 2直列の LED が並列接続される回路になるから、2直列の LED に対して VF しかかからない原理になってる。
ようするに LED が 0.5 VF で全く光らなければ問題無い。
2022/10/06(木) 23:17:24.42ID:1Y1faQUT
ああ
理解しました
2022/10/06(木) 23:19:48.04ID:1Y1faQUT
あとは、
どんなキーの状態でも光らない
キー状態が確実に判別可能
な回路を考えないと
2022/10/06(木) 23:25:19.17ID:Iih/8ieo
>>359
それな。
ADC で読むには電圧出す必要があるからねぇ
読むとき以外も、ボタンの ON/OFF が LED の明るさに影響する回路じゃいけないし。
2022/10/06(木) 23:32:45.40ID:1Y1faQUT
8値を判別出来ればいいから
そんなに難しくはないとは思うけど

電源5Vなら
2V~3Vくらいに割り振る感じ
電流制限抵抗含めて1Vで光らなければOKみたいな
2022/10/06(木) 23:47:57.48ID:4tbzKm0X
>>318
せやな~ なのでそれを難しくする事に意味があるんよ~

>>319
振られたお題はAVRで簡単に出来る複雑なLチカをPICで作るって内容だから
(悔しくてもっと複雑なLチカにしたのよ)

>>336
そんな高価なLED使えるかーー!
こっちとら低所得者だぞ\(^o^)/
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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