X



トップページ電気・電子
1002コメント428KB
初めてのPIC 0x12
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/09/19(水) 16:56:18.51ID:F4lNkPz3
PICを触り始めて比較的日が浅いという初心者のためのスレです。
もちろん、日は経っているが自分はまだ初心者という方も大歓迎です。
PIC選びやPICを使った回路設計は誰でも最初は不安なものです。
恥ずかしがらずに何でも尋ねてみましょう。
なお、PIC関係のスレにはもう1つ「PIC専用のスレ」があります。

質問・回答する際は…
 必ずPICの型番と開発環境を明記しましょう。
 プログラムはレス内に直接書き込まず以下を利用しましょう。
  http://codepad.org/

その際心がけることは…
 品格に劣る回答者はスルー(相手すると逆効果)
 素人玄人などと上から目線の回答者は無視
 良い回答が出るまでしばらく再発言しないのもあり(良回答は後に出やすい)
 回答者のアドバイスで後日解決したら結果報告
 回答者は初心者に優しく
 Atmel買収以降アンチによる荒らしも横行してるので見かけても無視
 (特にスレ立て当初はこぞって荒らしに来るのでスルー)


必要なソフトなど(基本無料)
 統合開発環境 MPLAB X ttp://www.microchip.com/mplab/mplab-x-ide
 コンパイラ(XC8 XC16 XC32) ttp://www.microchip.com/mplab/compilers(高機能版のみ有料)
 コード生成プラグイン(MCC) ttp://www.microchip.com/mplab/mplab-code-configurator
 マイクロチップ・ライブラリ(MLA) ttp://www.microchip.com/mplab/microchip-libraries-for-applications

必要なハードなど
 初心者はPIC16F1以降の型番で始めると無理なく始められます。
 最初からPIC32で始めるのもあり。
 MCCの利用でハードルはむしろ低いです。
 http://akizukidenshi.com/catalog/g/gI-11902/
 プログラムの書き込みには書き込み器が必要です。
 持っていない場合はPICkit4などを購入しましょう。
 なお、eBayやAliExpressで買えるPICkit3の中華クローンも十分な性能が報告されています。
 PIC一覧、スペック検索
  ttp://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1005
  ttp://www.microchip.com/maps/microcontroller.aspx

過去スレ
 0x11 2018/08/05〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1533446166/
 0x10 2018/06/29〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1530265723/
 0x0F 2018/05/01〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1525183933/
 0x0E 2018/02/13〜 ttps://rio2016.5ch.net/test/read.cgi/denki/1518524799/
 0x0D 2017/10/25〜 ttp://rio2016.5ch.net/test/read.cgi/denki/1508935254/
 0x0C 2017/07/27〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1501157324/
 0x0B 2017/05/08〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1494235320/
 0x0A 2017/01/04〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1483498857/
 0x09 2016/09/07〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1473238791/
 0x08 2016/04/30〜 ttp://rio2016.2ch.net/test/read.cgi/denki/1461994030/
 0x07 2016/02/05〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1454648249/
 0x06 2015/07/18〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1437151298/
 0x05 2015/04/07〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1428391368
 0x04 2015/01/02〜 ttp://wc2014.2ch.net/test/read.cgi/denki/1420205108

では、質問どうぞ〜っ
0641774ワット発電中さん
垢版 |
2019/01/20(日) 10:20:34.07ID:vZ9nenqh
このくらいの回路になるなら実体配線ぽい回路図でなく、上を+、下をーに書いた方が判り易いだろう
0642774ワット発電中さん
垢版 |
2019/01/20(日) 10:53:17.67ID:mrBlcD9/
>>639
なんとなくアドバイス。
>>639
・作り始めたら LED の明るさはをューニングしたくなると思う
多分暗くなる側に。その場合抵抗値を変えるという原始的な
方法ではなくソフトで PWM すると良いだろう。
全体の明るさを上げ下げなんてこともできるよ。
・スイッチはCPS機能のあるピンにアサインしておくと、
メカニカルスイッチでなくタッチ電極で良くなる。
>>640
わざわざピンを空けておかなくても330Ω+LEDくらいなら
書き込み器つないだままで動作確認できるよ。
逆に書き込み機能PINをCPS用にアサインすると、書き込み
器を抜かないとCPSが機能しなくなる。
0643774ワット発電中さん
垢版 |
2019/01/20(日) 12:20:49.92ID:vwXagJt3
これいつまで続けんの?
これ以上続けんのなら専スレ作れば?
0644模型にLED
垢版 |
2019/01/20(日) 12:36:42.75ID:8u17mUW1
>>641
上下?こういう事?
https://i.imgur.com/kdZ2MaPh.png

>>642
・一応今回もフロントウインカーは減光させる予定
・CPS機能というのが分からないのでちょっと調べてみます

>>643
スレの趣旨と違う?
0645模型にLED
垢版 |
2019/01/20(日) 12:57:29.28ID:8u17mUW1
このCap Senseが割り当てられているピンに金属繋げばタッチするだけでスイッチになるという事?
凄い機能!ありがとう面白いね
https://i.imgur.com/4jn3gEEh.png
0646774ワット発電中さん
垢版 |
2019/01/20(日) 13:05:21.94ID:3/jUTjnC
>>643
おまえが同じIDでもう一度書き込めたら終わるかも。
自分が出て行けば解決。

>>644
問題ないと思います。
0647774ワット発電中さん
垢版 |
2019/01/20(日) 13:49:51.10ID:btcG9/yP
>>646
> >>643
> おまえが同じIDでもう一度書き込めたら終わるかも。


俺もうすうす気づいてたけど
ID変えて攻撃する、という人はいるよねココ
0648774ワット発電中さん
垢版 |
2019/01/20(日) 14:51:19.29ID:6CMY7EV+
初心者の、準備不足な質問でも、回答する人がいるなら、OKですし。
そんなの自分で調べろ!!!と思う人は静観してればいいと思う。

それでも、>>642 のCPS機能を使ったタッチ電極は思いつかなかったな。
アマの自作でも、作例は、結構あるのですか?
0649774ワット発電中さん
垢版 |
2019/01/20(日) 15:08:00.61ID:oCpM8GNI
>>645
私のイメージだとCap Senceは扱いづらい感じ、回路にもよると思うけど。
全くの初心者なら普通のスイッチで始める方がいい。
ICSP用のピンを専用にするのも同じ理由。

それが可能か不可能かでなく、問題の切り分けが単純になるようにするのがいい、初心者のうちはね。
0650774ワット発電中さん
垢版 |
2019/01/20(日) 17:16:51.39ID:PB9EcKyy
普通のスイッチでさえチャタリングの問題とかあるからなあ
回路とプログラムが問題なく走るようになってからそこだけ置き換え試すのがいいような
0651774ワット発電中さん
垢版 |
2019/01/20(日) 18:03:19.19ID:mursJR+O
なぜ回路図らしきものだけアップして実際の接続の話やプログラムの話が出てこないのか不思議だわ。
俺なんか、まずとりあえず1個点滅させにゃ気が済まないたちなので…w
0652模型にLED
垢版 |
2019/01/20(日) 18:24:12.71ID:8u17mUW1
>>649
そうだよね
シンプルな方がトラブルシューティングしやすいからそうする
でも模型だとスペース的にスイッチすら入らないような事も出てくるだろうからタッチ式というのは楽しみ

>>651
手段が目的化しない性格というのもあるけど、工作の方が得意でプログラミングは全くの初心者だから…
なんかせかされているように結構言われるねw

とりあえずこのライト関係は置いておいて1個試験してみるかな
スイッチで赤→緑に切り替えるようPIC12F1822に書き込んでみよう
https://i.imgur.com/Wv0u4JL.gif
0653774ワット発電中さん
垢版 |
2019/01/20(日) 19:28:12.11ID:pKF3/V0n
>でも模型だとスペース的にスイッチすら入らないような事も出てくるだろうからタッチ式というのは楽しみ
逆じゃないかなあ。
ある程度の面積が用意できないとタッチセンサーはうまくないような…。
スイッチは、私の手持ちに限っても一番小さいのは2x3x1mm程度のがあるよ。
あ、でも、模型のボディーそのものにタッチするようにすればいいのか…。
0654模型にLED
垢版 |
2019/01/20(日) 19:58:06.88ID:8u17mUW1
>>653
あ、そうなの?
アンテナみたいに金属棒伸ばしてタッチとかじゃダメなのかな?

30 #include <xc.h>の所が!マークに
何が悪いんだろう
https://i.imgur.com/EZdqPpHh.png
0656774ワット発電中さん
垢版 |
2019/01/20(日) 21:15:47.82ID:GeDo1eB8
>>654
エラーは出ずにビルドはできるでしょ?
コンパイラーのバージョンはいくつになってますか?
参考にしている本と同じにすれば消えると思います。
0657774ワット発電中さん
垢版 |
2019/01/20(日) 21:26:27.72ID:GeDo1eB8
>>654
環境を書いてね。
うちは MPLABX IDE v5.05、XC8 v2.00とv1.45 の Win10 環境です。
ちなみに、上の警告はv2.00で出て、x1.45にしたら出なくなって、v2.00に戻してももう出ない。
いずれもビルドに問題はなかった。
0658模型にLED
垢版 |
2019/01/20(日) 23:42:58.36ID:8u17mUW1
>>655-657
ありがとう

環境は
Windows 10 Pro (64bit)
MPLAB X IDE v5.10
XC8 (v2.05)
ですね

本は
MPLAB X IDE v3.61
XC8 (v1.42)
です

リンクして頂いた情報でもバージョン違いが原因みたいですね
やり直してみます
最悪本と同じバージョンに入れ直してみる
0659774ワット発電中さん
垢版 |
2019/01/20(日) 23:46:42.29ID:vDOUrcXM
コンパイラは両方インストールしといて設定で切り替えられるから、
最初は本と同じの方が絶対いいですよ。
2.00以降は私でも、てか私も初心者ですが、はあ?ってなることがある。
0663774ワット発電中さん
垢版 |
2019/01/21(月) 01:36:48.08ID:J6SHP1W6
>>654
> アンテナみたいに金属棒伸ばしてタッチとかじゃダメなのかな?
問題ないよ。指でタッチするならそれなりの間隔が必要だが
鉛筆の芯でタッチするなら 1mm間隔に並べても OK だ。
電線を延ばすと非タッチ時の浮遊容量が増えるので線長に合わ
せてチューニングするか AGC のように自動調整しても良い。
入力の H/L 見るよりは面倒だが AGC処理からチャタフリーまで
丁寧にやってもせいぜい 30ステップくらいだあな。
0665774ワット発電中さん
垢版 |
2019/01/21(月) 12:47:45.42ID:aAo0R3/4
>>662
おお、お前、素直で気に入った!ww
頑張って回路完成させてくれ、応援してるぞ
0666666
垢版 |
2019/01/21(月) 13:58:48.52ID:b1NkzF2x
666
0667774ワット発電中さん
垢版 |
2019/01/21(月) 22:05:19.62ID:HK4sXDnT
mTouchをMCCでやってみたらあっという間にできた。
ブレッドボード上に隣り合って立てたピンヘッダに指で触れてちゃんと別々に認識する。
いままでちょっと食わず嫌いだったと反省している。
まあ、MCCのおかげと言えばそれまでだが。
0668774ワット発電中さん
垢版 |
2019/01/21(月) 23:41:16.98ID:J6SHP1W6
タクトスイッチは結構固いのが多く、たまに押すくらいなら良いが、頻繁
に押すと腱鞘炎気味に指が痛くなる(俺の指がヤワなのかも)。
mTouchはクリック感じがないのがある意味欠点だが、指には優しい。
クリック感の代わりにクリック音をソフトで出すのもありかもしれない。
タッチ電極は革製品に使うカシメを使うのがマイブーム。
0669774ワット発電中さん
垢版 |
2019/01/24(木) 00:39:14.80ID:B/Phbt8e
これすごくね?
youtube)Simple DIY PCB with a 3D Printer

3DプリンターでPCBができるんだな。
ガチで普通に短時間でゼロから完成品をつくる方法と
全部で3Dプリンタ3万 ドリル2000円 ドリルシャフト1000円 くらい?
基盤発注やらエッチングよりいいのでは?
回路幅は1.5mmくらいなので(エンドミル変えても精度きついか)

Fusionとか1基盤が1週間やら2週間で2500円でしょ?
3万で揃うのでこれいいかもしれない。
0670774ワット発電中さん
垢版 |
2019/01/24(木) 01:00:59.66ID:r4VFyLrw
で、それガーバーデータ喰わせればプリントしてくれるの?
0672774ワット発電中さん
垢版 |
2019/01/24(木) 07:15:14.76ID:y22E4dfu
年がら年中基板作ってる訳ではないので発注でいいや。機材置いとく場所もないし。
0673774ワット発電中さん
垢版 |
2019/01/24(木) 13:20:20.91ID:wmg5uqx/
空中配線最強
0675774ワット発電中さん
垢版 |
2019/01/25(金) 12:11:45.18ID:+UkbzymC
>>669
急いでいるときには、便利だけど、レジストのかかっていない、基板は使いづらい。
片面だし、エンドミル、高くて長持ちしないし、うるさいしね。
1週間待てるなら、発注が全然安いよ。
0676模型にLED
垢版 |
2019/01/26(土) 22:24:46.94ID:qRywZeyL
週末なんでプログラミング挑戦中
単に点灯なら本通り打ち込めばいいけどスイッチによる2色切り替えに難儀してる…
https://i.imgur.com/Wv0u4JL.gif
0679模型にLED
垢版 |
2019/01/27(日) 21:42:42.04ID:QiZqA1vw
スイッチうまくいかないですですね
このRB5ハザードスイッチを押す度にON−OFFを繰り返すようにしたいのですがこのスレで直接プラグラミングについての質問はNGですかね?
https://i.imgur.com/PT3muPDh.png
0680774ワット発電中さん
垢版 |
2019/01/27(日) 21:49:53.30ID:NqgbrG6/
やっぱりチャタリングだったか…
数十msec間を開けて3回連続オンだったらオンにするとかプログラム上の対策が必要
0681模型にLED
垢版 |
2019/01/27(日) 21:59:45.91ID:QiZqA1vw
>>680
お勧めのサイトとかあります?
0684模型にLED
垢版 |
2019/01/28(月) 02:06:39.21ID:arz+bjx1
これだとスイッチを押してる間はハザードが点くけど押すごとにON-OFF切り替えにはならない…

void main(void) {

OSCCON = 0b01110010;
OPTION_REG = 0b00000010;
WPUB = 0b00111111;

ANSELA = 0b00000000;
ANSELB = 0b00000000;

TRISA = 0b00100000;
TRISB = 0b11111111;

PORTA=0;
PORTB=0;


while(1){
if(RB5==0){
PORTA=0b11000011;
__delay_ms(500);
PORTA=0b00000000;
__delay_ms(500);
}else{
PORTA=0b00000000;
}
}

return;
}
0685774ワット発電中さん
垢版 |
2019/01/28(月) 03:42:38.47ID:bPlYBI0E
>>684
とりあえずトグルで点灯か消灯かは
LATBbits.LATB0 ^= 1;
を使えば1なら0に0なら1になります。
あと、私なら、
while(RB5==0);
も入れるかな。

ただ、ハザードは点滅を続けるか止めるかだし、
ハザードを点滅させながらヘッドライトのオンオフとかもしたいわけでしょ?
やっぱりタイマー割り込みを勉強してもらった方がいいかもです。
__delay_ms();使わずに点滅させる方が後々楽だと思います。
さらに言えばMCC使った方が手っ取り早いんだけど、話が複雑すぎてここじゃ説明できない。
「XC8 MCC Lチカ」とかで検索してみてください。
0686模型にLED
垢版 |
2019/01/28(月) 08:25:25.71ID:arz+bjx1
>>685
アドバイスありがとう
話の半分も理解出来ないのでぼちぼち検索しながらやってみます
トグルは模型のスケール的にも使いたくないのでプッシュモーメンタリーで考えてます
回路図が全部トグルになってましたね…
0688774ワット発電中さん
垢版 |
2019/01/28(月) 14:23:13.20ID:AC4I5f6l
>>686
トグルって言葉があいまいでした。
モメンタリのスイッチを使い、押す度に点灯・消灯をトグルで繰り返すという意味で使ってます。
A ^= 1;
は、実行するたびにAの値が0/1を繰り返します。
チャタリング対策は別として、基本は
if(B==0){
A ^= 1;
}
とやるだけです。
while(B==0);
は押したスイッチを放したかどうかを判定します。
0689模型にLED
垢版 |
2019/01/28(月) 20:10:03.44ID:arz+bjx1
>>687
情報ありがとう

>>688
あ、ではやりたい事であってますね
わざわざありがとうございます
0690模型にLED
垢版 |
2019/01/29(火) 16:13:45.11ID:atm/qpTm
>>688
うまくいかないです…

void main(void) {

OSCCON = 0b01110010;
OPTION_REG = 0b00000010;
WPUB = 0b00111111;

ANSELA = 0b00000000;
ANSELB = 0b00000000;

TRISA = 0b00100000;
TRISB = 0b11111111;

PORTA=0;
PORTB=0;


while(1){
while(RB5==0){
PORTA^=0b11000011;
__delay_ms(500);
}
}

return;
}
0691774ワット発電中さん
垢版 |
2019/01/29(火) 17:43:04.19ID:zGPbx5D9
プログラムが上手く出来ないならCRフィルタの方が早くね?
0693774ワット発電中さん
垢版 |
2019/01/29(火) 22:20:52.87ID:tAArbQwR
>>690
>うまくいかないです…
では何もわからないないので、具体的にどうなって、何がうまくないのか書いて。
0694模型にLED
垢版 |
2019/01/29(火) 22:29:21.18ID:atm/qpTm
>>693
プッシュスイッチでON-OFFを切り替える操作がしたかったけど上手くいかないです
0696774ワット発電中さん
垢版 |
2019/01/30(水) 03:38:08.38ID:ojpyTgNB
>>695
日本語不自由?

やりたい事があったが達成出来なかった
初心者なので原因は分からない

って事じゃん
0697774ワット発電中さん
垢版 |
2019/01/30(水) 04:27:34.77ID:T4R4Tcmo
>>696
日本語読む気すらない?

誰も原因なんか聞いてない。
どう上手くいかなかったのか具体的に書けって言ってる。
0698774ワット発電中さん
垢版 |
2019/01/30(水) 04:28:41.29ID:T4R4Tcmo
ま、エスパーさんを待ち続けたらいいよ、きっとそのうち登場するでしょw
0699774ワット発電中さん
垢版 |
2019/01/30(水) 04:36:30.68ID:5XQhuC6m
ちょい前のレスも読まない?
モメンタリで点灯消灯を切り替えたいってやり取りしてんじゃん
0701774ワット発電中さん
垢版 |
2019/01/30(水) 05:05:00.53ID:cPtSjdZM
>>699
>モメンタリで点灯消灯を切り替えたい
は目的、到達点な。
現在の状況を書け言うとんの。

東京駅まで行きたいんですが、迷いました。
っていうから、今どこにいるのかってきいとんじゃ。
近くにどんな建物があるか説明せえ言うとんじゃ。
意味わからんか?

お前、真正のアホウか?
0702774ワット発電中さん
垢版 |
2019/01/30(水) 06:39:14.85ID:FfO2a1Z+
>>701
>>690←の状況でって事じゃん
あんた迷子の人にお前何処にいるんだ?って聞くの?
分かんないから迷ってんでしょ
落とし物した人にどこで落としたか教えろって聞くの?
0703774ワット発電中さん
垢版 |
2019/01/30(水) 06:42:04.69ID:FfO2a1Z+
つーかレス読んでると本当の初心者に詳細説明しろって無理でしょ
0704774ワット発電中さん
垢版 |
2019/01/30(水) 06:53:16.82ID:+l9XmcT2
は?
まわり見渡せばどんな建物があるかくらい説明できるだろ、馬鹿か?
どこ通ってどこへ立ち寄ったかで、どこで落とした可能性があるか考えるやろ、馬鹿か?
何もしないで突っ立ってるだけか?

ま、いいや。
そうやって、ずっとエスパーを待ってなよ。
0706774ワット発電中さん
垢版 |
2019/01/30(水) 07:08:20.49ID:xmET+5ZW
短気だなw
教えてあげる気があるんならケンカ腰で言わなくてもいいのに
後輩とか他人に感謝された事無いんじゃね?
0707774ワット発電中さん
垢版 |
2019/01/30(水) 07:31:10.92ID:c/B1KqdD
日本には良い言葉がある。
他人を説得したり納得させたい時に思い出せ。

 「 物 は 言 い よ う 」
0708774ワット発電中さん
垢版 |
2019/01/30(水) 09:14:59.97ID:NBrSWDFp
少しエスパーしてみる
ハザード、つまり点滅をソフトウェア処理で実現したいが、690だとスイッチを押している間しか点滅しないのが問題って事なのかな?

スイッチはハザードONOFFの切り替えだけが役目。ONの間はスイッチを押していなくても点滅を繰り返す必要があるのに、690のコードはRB5が0の間しか点滅処理出来ないのが問題。
つまり点滅処理は、スイッチ押下判定であるwhile(rb5==0)の外に出す必要がある
0711模型にLED
垢版 |
2019/01/30(水) 10:26:41.64ID:wTQ7bfmI
みなさんアドバイスありがとです
点滅プログラムは自分にはハードル高そうで諦めモードです…

>>691
物理的回路でチャタリングを防ぐって事ですかね
色々検索してみましたがまだ自分の理解の外で何が必要かすら分からないです

とりあえず点滅回路のRA3,RA4以外を単純にモーメンタリースイッチでON-OFFが当面の目標かな

https://i.imgur.com/Tf1c1ZTh.png
0712774ワット発電中さん
垢版 |
2019/01/30(水) 10:37:23.43ID:DYEBrVf+
>>690
少し慣れてきたらスイッチやLEDに全部名前を付けておいた方がいい
#define Light_ON 1
#define Light_OFF 0
#define Switch_ON 0
#define Switch_OFF 1
#define High_beam_LED RA1
#define High_beam_SW RB0


if(RB0==0)RA1=1;  より
if(High_beam_Switch==Switch_ON)High_beam_LED=Light_ON;
0713774ワット発電中さん
垢版 |
2019/01/30(水) 10:40:26.58ID:DYEBrVf+
途中で送信してしまった…
まあ、あまり名前に凝り過ぎても却ってわかりづらくなるからほどほどにしないといけないけど
適度に使えばあっちを見たりこっちを見たりしなくていいようになる
0714774ワット発電中さん
垢版 |
2019/01/30(水) 10:44:06.51ID:mHkSrHuM
>>711
点滅も外付け回路でやる手もある
簡単なのは外付けで点滅専用PICを用意するとか
0715模型にLED
垢版 |
2019/01/30(水) 10:49:10.28ID:wTQ7bfmI
>>712
プログラムの中に名前を入れたほうが役目が分かりやすいって事?
やり方が分からないので調べてみます

>>714
単価の安いPICなら可能ですね
0719774ワット発電中さん
垢版 |
2019/01/30(水) 14:11:38.96ID:L+I7fi+g
>>715
1.希望としてスイッチ押したらどうなって欲しいのか
2.現実としてスイッチ押したらどうなってしまってるのか
この2つを明確にしないと進まないよ
たかが模型の電飾程度のことでもう2週間以上何の進展もないのはそのせい
言われたことを何もやらないし>>708のような有益な回答には全く返答せず
逆にゴミのようなレスにばかり反応してる
とりあえず、プログラムを部分的にでなく全部書くことから
0720模型にLED
垢版 |
2019/01/30(水) 14:39:40.90ID:wTQ7bfmI
>>719
希望としてはこの図の通りでプッシュモーメンタリースイッチでのLEDのON-OFF
現状は押した時だけ点灯でON-OFF切り替えになってない
https://i.imgur.com/Tf1c1ZTh.png
プログラムは>>690が全てでそれ以上は進んでない

進みが遅いのは間違いないけどゼロから初めてるんでアドバイスが理解出来なくて申し訳ない…
>>708さんのアドバイスも具体的にどうしたら解決するのか理解できない
0721模型にLED
垢版 |
2019/01/30(水) 14:55:45.08ID:wTQ7bfmI
>>714
>>716
PIC12F1822があるのでそれをウインカーリレーとして使おうかな…
まあいずれにしてもチャタリングが解消しないとダメだけど
0722774ワット発電中さん
垢版 |
2019/01/30(水) 14:58:48.64ID:jNI4Tbmn
>>720
押している間だけ0.5秒間隔で4つのLEDが点滅
ボタンを放すと点灯したままか、消えたままのどちらか
どっちになるかはその都度違う

こういう動作をしているかをまず確認してレスしてください。
0723774ワット発電中さん
垢版 |
2019/01/30(水) 16:25:26.73ID:EYoKVfJf
プッシュイスイッチのトグル動作は、スイッチの状態と、現在の点灯状態を把握しておかないと実現できないですよ。


1.sw=off led=off 初期状態 点灯待ち
2. sw=on になったら 3.へ
3.wait 10msec(例えば)
4.sw=off だったらチャッタなので 2.
そうでなければ 5.へ
5.sw=on led=on 点灯
6.sw=off になったら 7.へ
7.wait
8.sw=on だったらチャッタなので 6.へ
 そうでなければ 9.へ

9. sw=off led=on 消灯待ち
10.sw=on になったら 11.へ
11.wait
12.sw=off だったらチャッタなので 10.
そうでなければ 13.へ
13.sw=on led=off 消灯
14.sw=off になったら 15.へ
15.wait
16.sw=on だったらチャッタなので 14.へ
 そうでなければ 1.へ
0725774ワット発電中さん
垢版 |
2019/01/30(水) 18:20:14.28ID:QvY4SiUT
LEDの点灯状態に関わらずスイッチの判定は必要だから場合わけいらんよ
0727688
垢版 |
2019/01/30(水) 19:15:15.33ID:HwNbKSm1
>>720
while(RB5==0);
はそこじゃないな、こんな感じでどう?
http://codepad.org/nl6k9HaL
ちなみに、これで、ボタン押す度に4つのLEDがトグルで点灯か消灯かになる。
点滅はしない。
>>685にすでに書いたけど、点滅はタイマー割り込みとかで別に用意する。

まずこの状態を理解しないと次に進んでもダメ。
0728774ワット発電中さん
垢版 |
2019/01/30(水) 19:36:40.97ID:GOrDpMNa
>>720

使ってるスイッチは、そもそもモメンタリじゃないだろ。
動作からしてただのプッシュスイッチだ。

スイッチにテスタ当てて、ちゃんと「モメンタリ動」するか確認したの?

してみて。
0729774ワット発電中さん
垢版 |
2019/01/30(水) 19:46:36.37ID:HwNbKSm1
>>728
>使ってるスイッチは、そもそもモメンタリじゃないだろ。
>動作からしてただのプッシュスイッチだ。
そうなの?
そう判断する根拠を教えて。
0730模型にLED
垢版 |
2019/01/30(水) 19:59:01.21ID:wTQ7bfmI
みなさん色々ありがとう
ひとつずつ検証してみます

>>727
具体的にありがとう助かります

>>728
ただのプッシュスイッチの定義が分からない
使っているのは押している間だけ通電してるタイプのスイッチ
0731774ワット発電中さん
垢版 |
2019/01/30(水) 19:59:23.34ID:AZiku9MT
こんな感じ?意図が違ったらごめん。
unsigned char psw = 0xFF;
unsigned char mode = 0;

void main(void)
{
init();

while (1) {
delay_ms(10);

psw = psw << 1;
if ( IO_RB4_PORT ) {
psw = ( psw | 0x01 ) & 0x0F;
}else{
psw = ( psw & 0xFE ) & 0x0F;
}
if ( psw == 0x0C ) {
mode++;
if ( mode >= 4 ) {
mode = 0;
}
}

switch ( mode ) {
case 0:
IO_RA3_LAT = 1;
IO_RA4_LAT = 1;
break;
case 1:
IO_RA3_LAT = 1;
IO_RA4_LAT = 0;
break;
case 2:
IO_RA3_LAT = 0;
IO_RA4_LAT = 0;
break;
case 3:
IO_RA3_LAT = 1;
IO_RA4_LAT = 0;
break;
}
}
}
0732774ワット発電中さん
垢版 |
2019/01/30(水) 19:59:55.65ID:GOrDpMNa
>>729

>そう判断する根拠を教えて。

モメンタリスイッチは "押してる間だけ" っていう動作はしない。

"押してる間だけ"っていう動作は「プッシュスイッチ」。

そんなことより、本当にモメンタリ動作するのか確かめたの?
0736774ワット発電中さん
垢版 |
2019/01/30(水) 20:15:14.97ID:Odv1J93h
プッシュスイッチもモメンタリスイッチも違う概念を説明する用語なんだけどな…
プッシュのロッカースイッチも
トグルのモメンタリスイッチも存在する。
0737模型にLED
垢版 |
2019/01/30(水) 20:16:24.84ID:wTQ7bfmI
>>727
RA3とRA4に指定して書き込んでみたけどスイッチワンプッシュで押した間とか、0.5秒くらい点灯でその後消える
安定点灯しないし、点灯維持しないで最終的には消えた状態になる
チャタリングが起きてる?
■ このスレッドは過去ログ倉庫に格納されています

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