---楽譜作成ソフト---

 現役だったころ一時、音楽の編集のソフトを購入して、MIDI
 の環境をPCに作ったことがありました。
 ソフトは、結構な値段がしたように記憶しています。
 ひょんなことから、楽譜から曲を演奏してみたくなり、フリー
 のソフトを探しました。
 今は、いいソフトがあり、簡単に楽譜から演奏ができてしまいま
 す。DLしたのは、MuseScore というフリーのソフトです。以下
 が楽譜入力の画面です。

 

 フォギーマウンテンブレークダウンというバンジョ-のそれこそ
 ギターで言ったら「禁じられた遊び」に匹敵するくらいの曲をいれ
 てみました。MID形式の出力もできますので、このブログに
 貼り付けてみました。
 クイックタイムのインストールが必要ですが、下記の▶のプレイ
 ボタンを押すと、その曲が聴けます。

 

---PET用小物---

 ワンコをつれて、海岸によく散歩に行きます。その時の
 必需品だったのが、商品名「donpac」という小物です。
 この小物は、ウンチ入れて車にはれるので、室内がくさく
 ならない優れものです。
 超大型犬の我が家の看板犬のウンチは、結構量が多い
 ので、今まで使っていた「donpac」には、いつも、無理無理
 押し込んでいました。
 一回り大きなものがあると便利だなと思ってました。ネットで
 検索してみると「donpac+」という一回り大きなものが売って
 ました。

 

 この大きさなら、余裕をもって収納できそうです。
 また、なくさないように、ちょと太めの紐をつけて貼り付け
 ます。

-ローコストLCDシリアル通信モニター(PIC16F1823)(2)-

 二組必要だったので、片方は、5V仕様、片方は、
 3.3V~5Vででも使えるように作りました。
 今回は、配線に、ETFE電線(ジュンフロン線)を使いました。

 

 以前、ポリウレタン導線を購入して使っていましたが、
 これよりも使い勝手はいいように思います。
 半田付け部分の皮膜をストリッパーでいちいちはがして
 いましたが、なれると、半田ごてをあてると縮むそうです
 ので、時間の短縮になると思います。
 CNCで基板を作成すべく、ソフトの勉強を始めましたが、
 中断してます。

-ローコストLCDシリアル通信モニター(PIC16F1823)-

 諸兄のHPに載っていたローコストLCDシリアル通信モニター

 (PIC16F1823)を作成しました。

 

 USARTのボーレート設定がタクトスイッチでできるのが便利
 です。
 プログラム等は、全部、諸兄の作られた物を使わせていただき
 ました。
 もう一つPICをのせて、データー処理にとおもいましたが、
 今回は、やめました。
 諸兄のプログラムを見てみると、ボーレートの設定をEPROM
 に書き込んで、プログラムからリセットすることで、設定をかえ
 ているようでした。
 いままで、EPROMは使ったことないので、こんな使い方もで
 きるんだなと思いました。
 また、リセットするのに、
  asm(“RESET”)
 というインラインアセンブラーのコードを使ってるようです。
 それにしても、やはりすごいです。このような知識、どうやって
 獲得されたんでしょうね。

---新しいPIC---

 NETサーフィンをしていると「初めてのPIC」というHPが、
 目にとまりました。
 そこで紹介されている「16F1455(16F1459)」というPIC
 が目にとまりました。
 スペックを見ると、クロックが48Mhzに設定でき、
 2.3v~5.5vの幅広い電圧で動作できるとのありました。
 早速衝動買いをしてしまいました。
 ○月や○ルツ等では、取り扱いがなく、「○S」という初めて
 の会社での購入になりました。
 届いたパッケージは、会社独自のおしゃれなものです。

 

 中身は、HDD等の包装に使われている素材の袋にパッケージ
 されてました。

 

 開けてみると、PICは、静電気防止のスポンジ?ではなく、
 一つ一つプラスティックのケースに入っていました。

 

 感想としては、ICの取り扱いになれた?会社なのかなと
 おもいました。
 この「○S」という会社は、PICの検索をすると、必ずといって
 いいほど引っかかる会社でした。なんどか、HPは見て存在は
 知っていたのですが、どんな会社か分からず、利用していません
 でした。
 在庫のしなものばかりではなく、海外からも取り寄せ?で
 しなものを購入できるようです。

---10歳のバンジョ-奏者---

 遙か昔の大学時代に、先輩からバンジョ-を借りて練習した
 ことがありました。
 ギターはそこそこ弾けたのですが、5弦が一番の高音という、
 ギターとは、それこそまったっく違う構成に、結局、ものにな
 ませんでした。
 ネットであれこれ検索してると、なんと10歳のバンジョ-奏者
 に出会いました。

 

 すごいテクニックです。いわゆる天才でしょね。

---自作MPGワイヤレス化 (14)---

 昨日コーディングしたリングバッファーを使ったプログラムの
 検証が終わりました。
 ほぼ満足のいく結果で、データーの取りこぼしもほとんどなく
 なりました。
 今回、リングバッファーに使ったメモリーは、256バイトで、
 これだけで、メモリーの74%を使ってしまいます。
 でも、効果、絶大ですね。パルスの生成に時間がかかる
 ので、その時間差を吸収してくれます。MPG1回転で、
 100パルスですから、2回半程度の回転に対応できると
 思います。
 今回は、大きなはまりどころもなく、すんなりでした。
 main.c
 ざっと、ゴミを取り除いたプログラムです。
 例によって、「uart.c」と「uart.h」は諸兄のものをそのまま
 使わせていただいてます。
 
 LCDのデバックモニターを作成予定ですが、ついでに、
 I2C接続のLCDもあれこれいじってみようと思います。
 本日、LCDの部品が到着しました。

---自作MPGワイヤレス化 (13)---

 どこでデータが欠落するのか、いろいろ調べようと思って
 ます。そのために、LCDデバックモニターを作って、みようと思
 います。部品を注文しましたので、届くのをまちます。
 デバッグモニターの制作と平行して、データー受信を
 リングバッファーを使ったプログラムに変更しみようと
 思います。
 当初は、リングバッファーを使ったプログラムにする予定で
 したが、リングバッファーの理解がいまいちで、コーデング
 できませんでした。その一番の原因は、構造体とポインタの
 理解ができてないことでした。
 ネットには、リングバッファーを使ったプログラムが沢山ある
 のですが、そのほとんどが、構造体とポインタという、私が
 一番苦手な手法を使ってありました。
 いろいろあさっていると、構造体とポンタを使わないプログラム
 を使って解説しているHPを見つけました。
 Elementary data structures - Queue
 このHPでやっと、リングバッファーの仕組みが理解で
 きました。
 また、このプログラムを組むにあたって、割り算のあまりを
 求める、計算をしなければなりません。この計算に、結構
 な時間がかかります。一般的には、計算の時間を短縮す
 るために2のN乗の数を使うそうです。2のN乗の数を使う
 ことで、割り算のあまりを出す計算を、X & (N-1)とする
 ことで可能にできるそうです。これで、飛躍的に計算を早く
 できると書いてあるHPにも出会ました。この2のN乗の大き
 さをバッファーの大きさにするそうで、計算時間の短縮がで
 きます。
 この & を使った計算方法が、
 %(剰余)の最適化について
 というHPに分かり易く書いてありました。
 ということで、リングバッファーを使ったプログラムを
 コーデングしていきます。

---自作MPGワイヤレス化 (12)---

 
 16F1827への移植がほぼ終わったので、有線でのMPGと
 ワイヤレスのMPGの動作について、テストしました。
 Multi Step-Cycle Jog Step1.00の設定で
 100パルス(MPG1回転)をSS経由でMachを動かして
 ました。
   ワイヤレスMPG ゆっくり回転 97.00
              早めに回転 64.00
   有線    MPG ゆっくり回転 100.00
              早めに回転 100.00
 というような結果で、ワイヤレスの方は、早く回転すると、
 4割ほど、パルスが欠落するようです。
 今回生成したA相とB相のパルスは、振幅を少し広めに
 とりました。この振幅をもうちょっと狭くすると、応答もよく
 なるような気がします。
 送信と受信側で、送受信のデータの個数を計測してみ
 
 ようと思います。