COUNTER



新BLOG
 
新BBS
MN-BBS
旧BBS
CALENDAR
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30     
<<  2024 - 04  >>
 
LOGIN
現在モード: ゲストモード
USER ID:
PASS:
CATEGORIES
ARCHIVES
PROFILE
OTHERS
    処理時間 0.352838秒
POWERED BY
POWERED BY
ぶろぐん
DESIGN BY
ブログンサポート
          
---手パ(手動パルスジェネレーター)切り替え器制作(2)---
 ロータリースイッチの機能をPICに分担させるのに、ちょっと

 工夫します。

 ロータリスイッチの場合隣り合った数字の移動しかできません。

 4接点だと4までの隣同士の数字にしか移動できません。

    1←→2←→3←→4

 1→→4はできません。

 スイッチ一つをPICに分担させると、ダブルクリック等の技を
           (「長押し」も可のアドバイス受けました。)
 検出しないと逆戻りをさせることはできませんので、次のよう

 にします。

 スイッチが1回押されるとカウンターを1加算するようにします。

 一方参照テーブルは、

   1←→2←→3←→4←→3←→2

 のように、6個作っておきます。

 このテーブルにカウンターを次のように割り当てます。

   1←→2←→3←→4←→3←→2
   ↓  ↓  ↓  ↓  ↓  ↓
   1  2  3  4  5  6

 こうすることで、カウンターを加算することで、常に隣の数字

 に移動ができます。カウンターが6になったら、にもどし

 ます。

 (1ではだめでした。割込処理を抜けるとき0にします。
  if(counter==6){counter=0;}は、swtch文の後です。
  割込処理のキーチェックで必ず、1加算されます。)


 これをCのプログラムにすると、

 

 みたいな感じになります。実際には、「待ち時間を作る」、

 「スイッチが押されたフラグのSWをクリアーする」等の

 細かい指示が必要です。

 また、もう一つスイッチを使うなら、2→→1、等の逆戻り

 もできますが、一つだけの予定なので、このままいきま

 す。Webはくしゅ

| mabo52 | 21:18 | comments (9) | trackback (0) | DIY:: -自作MPG |
コメント
小林電機さんですか...前言(ショーティングタイプを売っているの?)撤回しますm(_._)m
たしかに測定器やアンプなどに使おうとするとショーティングタイプですよね。
良く調べたらマルツにも両タイプ有りました。ノンショーティング\"タイプとしては、秋月の \"ロータリースイッチ(2回路6接点)[RS-2688-0206-38N] 通販コード P-00101\" が\\150と激安ですね。
| oldman | EMAIL | URL | 15/08/26 18:48 | r0ohnno6 |

oldmanさん、こんばんは。書き込みありがとうございます。

問い合わせに、明快なお答えありがとうございます。弱電関係もまだまだで、分からないことだらけです。

ロータリースイッチを購入しようと思い、スマホで検索していたら、真っ先に、
http://cobaden.net/?mode=srh&cid=&keyword=%A5%ED%A1%BC%A5%BF%A5%EA%A1%BC%A5%B9%A5%A4%A5%C3%A5%C1&x=45&y=9
が飛び込んできて、考えてしまった訳です。

どうもワイヤードロジックは苦手です。ご紹介いただいたICもちょっと、勉強してみようと思います。これらのIC使えれば、いろいろ幅が広がるでしょうね。

私には、ちょっと、未知なる分野です。

スパム対策で、記事が保留になっていて、気がつくのが遅くなりました。URLが複数記載されると、保留になるようです。
| mabo | EMAIL | URL | 15/08/26 00:59 | 5aCzZ7Mo |

猛牛ロックさん、追伸です。

>ローテーションはしないで何度かの適当な連打でホームポジション(1)に送って、
>そこから数えながら2,3と変えていくのが好みですね。

この方が、使い勝手はいいかもですね。今回は、ロータリースイッチの肩代わりということで、考えてみました。
後戻り、できない、ロータリースイッチです。(笑)

長押し、ダブルリック?等判定するとなると、プログラムが面倒なので、シンプルにいきました。
| mabo | EMAIL | URL | 15/08/26 00:14 | 5aCzZ7Mo |

猛牛ロックさん、こんばんは、書き込みありがとうございます。

さすが、猛牛ロックさんです。このままでは、カウンターの6がひっかからないよな、
なんて思いつつでした。

それに、割り算のあまり、っていう手もありでしたね。これだと、if文もいりませんね。
一回の電源ONで、何千回も切り替えをすることは、まず、ないでしょうから、
上限の制限をしなくても、オーバーフローすることはないかもですね。

アドバイスありがとうございます。一通りうごいたものを、もう少し後で、アップします
| mabo | EMAIL | URL | 15/08/25 21:05 | 5aCzZ7Mo |

こちらにコメントさせて頂きます。
・ロータリースイッチは\"通常?\"はノンショーティングです。
 ショーティングが使われるのは(私の知る限り)抵抗を並べて作る高級アッテネーターとテスターの内部位じゃないでしょうか。ロジック(IC)の世界では、\"トーテムポール出力(ググッてみてください)\"が大多数で、一部のインターフェースICのみが出力同士をつないでも大丈夫なオープンコレクタタイプです。と、言うことで通常は\"ノンショーティング\"タイプを買っておけば汎用性が高いと思います。
 そもそも、ショーティングタイプが一般的に販売されているの? ( 参考リンク:http://0r.com/rs/ )

・切り換え器の方式について
 忘れないための勉強も大事ですが、ワイヤードロジックの方が物量が少ないかも...。
 共立エレショップに以下のIC類が売っています(残念ながら東京のお店にはありませんでした)。
 (1)のカウンターICの下2桁を、(2)または(3)のICの入力にすると1~4の何れかがLowになり、この信号を使って(4)の各ラインを on/off制御すれば パルスジェネレータからの信号を振り分けられます(upボタンとdownボタン、表示用のLEDなどは別途)。
 (3)だと clock, directionの両信号をひとつのICで扱えますが、(2)の方が8ポジションまでの拡張性がありますね。どちらを使うかは好みでお決めください。
(1) 74HC193 DIP:SYNCHRONOUS UP/DOWN BINARY COUNTER ( http://eleshop.jp/shop/g/gT11522/ )
(2) 74HC138:3-LINE TO 8-LINE DECODERS/DEMULTIPLEXERS ( http://eleshop.jp/shop/g/gT11496/ )
(3) 74HC139 DIP:DUAL 2-LINE TO 4-LINE DECODERS/DEMULTIPLEXERS ( http://eleshop.jp/shop/g/gT11498/ )
(4) 74HC125 DIP:QUADRUPLE BUS BUFFER GATES WITH 3-STATE OUTPUTS ( http://eleshop.jp/shop/g/gT11490/ )
| oldman | EMAIL | URL | 15/08/25 18:16 | r0ohnno6 |

もう一点。

> もう一つスイッチを使うなら、2→→1、等の逆戻り

「長押し」を区別すると付けなくてもいけますよ。
実際の使い勝手がどうなるかは未知数ですが。

私としては、何も見ないで操作したいので=現在の状態が判らなくなったりするので、
ローテーションはしないで何度かの適当な連打でホームポジション(1)に送って、
そこから数えながら2,3と変えていくのが好みですね。
| 猛牛ロック | EMAIL | URL | 15/08/25 10:49 | pmdbpk0Y |

なるほど。5以上に割り当てて1から6のローテーションさせるのですね。
勉強になりました。今度この手を使ってみます。

> カウンターが6になったら、1にもどし
となっていますけど7なら1にするですよね。
掲載の文では12345123となりますよ。
counter++;
if(counter==7) counter=1;
とシンプルな表現が良いんじゃないですか。
1行なら↓の書き方で。

if(){
counter=counter%6+1;
switch(){
case 1:
();
break;
case 2:
case 6:
();
break;
case3:
case5:
();
break;
case4:
();
break;
}
}
| 猛牛ロック | EMAIL | URL | 15/08/25 10:12 | pmdbpk0Y |

TRさんおはようございます。書き込みありがとうございます。

単に、切り替えをするだけのプログラムです。ロータリースイッチの方が、お手軽だと思います。

今回ロータリースイッチにしなかったのは、手パに使われているロータリースイッチの種類(ショーティングかノンショーテグ)が不明だったことと、PICのプログラム、時々しないと忘れてしまうからです。

ロータリースイッチは、oldmanさんが書き込みしてくださったので、お聞きしてみました。
| mabo | EMAIL | URL | 15/08/25 09:06 | 5aCzZ7Mo |

maboさん、おはようございます。
物凄い仕掛けですね!!
各軸の切り替えと減速率を変えるには、こういった仕掛けが必要なんですか?
むずそう!!

手パ~ロータリースイッチ~SS基板というわにはいかないのですか?幼稚で済みません。
| TR | EMAIL | URL | 15/08/25 06:16 | 1QRz8mi. |


コメントする









この記事のトラックバックURL
http://mabo52.sakura.ne.jp/tb.php/918
トラックバック

こんな物欲しいな
CLOCK
NEW ENTRIES
COMMENTS
    ---SPINDLEのPWM制御 (その2) (7)
  • TR >06.18
    ---番外編---
  • TR >06.02
    ---SPINDLEのPWM制御 (その2) (5)
  • mabo >05.30
保留中コメント:10件
LINKS
    相互リンクさせていただいてます。
  • The Rider
Search Box
名言集
メール
   
連絡は下記から
名前:

メールアドレス:

件名:

メッセージ(必須):


TOP PAGE