---ルーレット表示製品版---

 MPGをステッピングモーターに直接つないでコントロール
 するアダプターを作成するにあたって、LEDを使った表示を
 ルーレット風にしましたが、同じようなもので、製品版が
 あるんですね。
 
 また、○ジナルマインドさんにも、A相B相をCW・CCWの信号
 に変換するIC(16F84A)が販売されているようです。
 ドライバーの入力がCW・CCW(DIR)しかないもののアダプター
 にするようです。
 私と同じ目的にも使えそうです。
 全部ソフトでコントロールしてるんですね。
 ソースリストでも見てみたい気がしますが、きっと、
 アセンブラーでしょうね。
 
 

---値段の不思議---

 PICのプログラムをPICに書き込むのに、ADWINのPICライター
 を使ってました。
 16F88等の古いものを使ってるぶんにはいいのですが、
 開発環境を新しいものに変更したついでに、16F1ファミリーの
 新しいPICも使ってみようと思いました。
 ところが、このADWINのPICライターは、新しいPICには対応
 してないようで、書き込みができないので、新しいライター
 を買うことにしました。
 何にしようか迷いましたが、諸先輩がお使いになっている
 定番のPICKIT3を購入することにしました。
 ネットと値段を調べてみるとびっくり。だいたい同じ値段でしたが、
 ○mazonでは、10倍の値段のものが売られています。
 多分、○月のと同じものだと思いますが、びっくりです。
 それとも別物なのでしょうか。○mazonのものは、
 パッケージに、「XYGstudy」の表記が見られますが、
 ○月のものにはありません。
 同じものだとすると、この値段の違いは、
 なんでしょうか。

---新しい開発環境(7)---

 新しい環境で、あれこれやっています。TMR0(タイマー0)
 を使ったプログラムを作って検証していますが、いくつか
 思うように動かないことがありました。
 使ってるPICは、16F88というOLDなものですが、新しいの
 を使うには、細かいところで、分からないところがあるので
 未だに使ってます。
 さて、内部クロックを使ってる時は、動いたように思いますが
 20Mhzのセラロックを外部につけて動作させると、どうも、
 プリスケラ-が使えないようで、値をかえても動作に変化
 がありません。
 また、TMR0の停止が思うようにできませんでした。
 
 いろいろNETであさって見ると、諸兄のHPで、
  
    <TIMER0>
     TIMERのON/OFF制御が出来ない。
     外部クロック入力同期(Sync2Cycles)がONに固定
      されている。
 の記事を見つけました。
 16F88のTMR0については、「ON、OFFができない」という
 ことで一つは解決しましたが、プリスケラ-が反映されないの
 が分かりませんでした。
 諸兄の回路図を見ると、水晶発振子を使って、RA7に入れ
 ているようで、CONFIGの設定も、EXTCLKになっています。
 私のセラロックは、RA6とRA7に入れて、CONFIGは、HSに
 しています。こんな風にすれば、入力が1本ですみますね、
 また、一つ勉強です。

 CLOCKを外部入力にすると、TMR0は、固定されてしまう
 のでしょうかね。
まだ、まだ、奥は深いです。
 <追記>
   どうやらプログラムの勘違いをしていたようです。
   一部変更したら、動きました。

---24時間対応のお店---

 ○天のパソコン工房というお店から、VGAの変換アダプタを
 購入しました。
 届いた物を確認してみると、どうも、製品名とパッケージの
 中身が違うようです。

 

 写真右側のものと思って注文しましたが、違う物が届いた
 ようです。
 同梱されていたチラシには、24時間36日受付と書いてあ
 るので早速電話をしました。
 すると、丁寧な対応をしてくれて、確認のために、写真を送って
 くれとのことでした。
 すぐに写真を送りました。
 連休のため対応がすぐとれないとのことでしたが、24時間
 365日対応というのが気に入りました。
 私のなかでは、優秀の部類に入る、お店だと思います。
 通常は、お店の名前は一部伏せてますが、今回は、宣伝
 をします。
 ただどうでしょうか。この後の対応が、
 気になるところです。

---DNSの不具合---

 インターネットの接続で、NTTからOCNに変更したら、特定の
 サイトに接続ができなくなりました。
 OCNのサイト等で調べて、DNSの設定は、「自動で取得」
 でいいとのことだったので、その設定にしてました。
 大きな不具合はなかったのですが、
   http://ktsite.ddo.jp/PIC/
 のサイトに接続ができませんでした。携帯では、できたので、
 多分、DNSの不具合だろうと思いました。
 ネットで検索すると、googleのDNSを使うといい、との記事
 をみかけましたので、
    優先 8.8.8.8
    代替 8.8.4.4
 にルーターのDNS(ドメインネームサーバー)の設定を変更
 しました。やっと見えるようになりました。このサイトには、
 16F88の情報がまとめられているので、重宝しています。
 
 リングバッファーを使って、割り込みによる送信の
 プログラム組みたくて、16F88のUSART割り込みについ
 ていろいろ調べています。受信のプログラムは散見しますが、
 送信のプログラムについては、AVR等のプログラムを
 をよく見かけます。16F88の例題?があるとい
 のですが。

---新しい開発環境(6)---

 今回のプログラムの作成に使った回路?です。

 

 おきまりの基板+USBシリアル変換アダプター(○月)の構成
 で、開発してます。
 USBシリアル変換アダプターは、FT232RLという型番で、
 完成品が、950円でした。
 左端の小さな基板は、セラロックをつけたものです。はじめ、
 空中配線で、使ってましたが、アースの端子が根元からおれ
 てしまったので、基板につけました。
 この開発に使ってる基板は、
 「キットで遊ぼう電子回路シリーズNo9」
 に付属のものですが、便利に使ってル反面、やはり、中途
 半端な感じもします。使いやすいように、自作した方
 がいいのでしょうが、ずっと使ってます。

---新しい開発環境(5)---

 今日一日、正確にい言うと、昨夜から、もがいていました。
 その結果、やっと、割込を使った受信ができるようになりま
 した。
 今回はまったのは、諸兄のプログラムを移植していましたが、
 16F88ではないPICのプログラムだったので、またもや入力
 ピンの設定が違ってました。ここを直したら、すんなりでした。
 また、割込の書式も違うのかなと思って旧の環境での記述と
 新しい環境での、記述両方してみましたが、両方とも、通り
 ました。
    旧 RCIF = 1
    新 PIR1bits.RCIF = 0
 使えない表記だとすぐに、?マークがでるので、新しい環境
 での開発は、楽です。
 この割込のプログラムは、違う諸兄のプログラムを改変しました。
 いろいろゴミが残ってますが、私の環境で、一応動いたもの
 です。

---新しい開発環境(4)---

 諸兄のプログラムをもとに、多少変更を加えて、PCの
 キーボードから、LEDのコントロールをするプログラムをつく
 りました。
 キーボードから、1~7の数字を押すことで、それに応じた
 場所のLEDを点灯するプログラムです。
 プログラムです

 ヘッダーファイルの「uart.h」と「uart.c」諸兄の作られたものを
 そのまま使わせていただいています。
 今回はポーリングのプログラムなので、次は、割込を使った
 プログラムを作ってみようと思います。

---新しい開発環境(3)---

 新しい環境で、諸兄の書いてくれたシリアル通信のプログ
 ラムを自分の環境で実現するべくもがいていました。
 コンパイルはすんなり通るのに思った動作をしてくれません。
 全部疑って、一つ一つつぶして、やっと思うような動作ができ
 るようになりました。
 まず、はまったのが、デバックのために、プログラムの間に
 書き込んだ書式です。
     int count=1000;
     RA0=1;
     RA1=0;
     while(count>0){count--;}
     count=1000;
     RA0=0;
     RA1=1;
     while(count>0){count--;}
 LEDが交互に点滅するはずですが、RA1に当てはまるLED
 の変化がありません。
 もしやと思い
        PORTA=0b00000001;
        PORTB=0b00000000;
        ・・・・・・・・・・・・・・・・・・・
        ・・・・・・・・・・・・・・・・・・・
        
        PORTA=0b00000000;
        PORTB=0b00000001;
 のように変更したら動きました。「RA」の表記では、ポート
 全体の値を書き換えてしまってるようでした。
 よく見てみるとポートのビットの操作の記述が変更に変更に
 なってました。
      RA1→→PORTAbits.RA1
 のように書かないとだめでした。    
 次にはまったのが、外部オシレーターの使用でした。
 これは、デバックの方法の手落ちでした。外部オシレーター
 でプログラムがうまく動いているのか確かめるのに、LEDの
 点滅プログラムを挿入しましたが、ウエイトタイムが短くて
 点灯しっぱなしで、うまく動いてないように見えてしまいま
 した。何回、書き直したことか。
 丸一日かかって、諸兄のプログラムの再現ができました。

 

 PICのUART機能を使って、PCからのキー入力を
 エコーバックするプログラムです。
 それから、とんでもないミスをしてました。RXとTXのピンアサ
 インを私の教科書(キットで遊ぼう電子回路シリーズNo9)で
 確認しながらしてましたが、これが間違いでした。
 教科書のPICは、16F627AというPICで、今回使ったのは、
 16F88というPICでした。同じ18ピンのICなので、同じだろう
 たたかをくっくってたのが間違いでした。なんと、
    16F627
       TX--8ピン(RB2)
       RX--7ピン(RB1)
    16F88
       TX--11ピン(RB5)
       RX-- 8ピン(RB2)
 なんと、TXとRXが入れ替わってました。これでは、動きません
 ね。やはり、データシートみないとだめなんですねえ。

---宅急便の迷子---

 ○月に頼んだ部品が、今日届く予定だったが、今日は、
 なしのつぶてでした。
 荷物の追跡をしてみると、なんと、隣の隣の県のセンター
 の方に届いて、そこからまた、東京の羽田のセンターにも
 
 どされたようです。
 どおりで届かない訳です。仕分けのミスか、住所の間違い
 なのか、迷子になったようです。
 今日、作る予定だったものがまた、先延ばしになりました。
 明日は、また、草刈りで、明後日は、ボランティアのお仕事
 で、作業は中断です。