JJ1WKN Log

自作や移動運用関連のログです。

PIC18F14K50 USB (CDC) 接続 のテスト

2014-03-26 | PIC
ブートローダーのテストが終わったので、USBのCDC(Comunication Device Class)接続のテストをしてみました。

CDC接続ではPC側から見るとUSBがCOMポート接続に見えます。
通常はUSBシリアル変換モジュールなどを経由してPC側とやりとりをするのですが、USB対応のPICを使うと単体でUSB接続が可能です。

Maicrochip社の「Device - CDC - Basic Demo 」のブートローダー対応版をiwamotoさんが公開されていますので、これをベースに改造してみました。
ブートローダーでの書き込みはUSBケーブルの抜き差しだけなので、とても楽でした。

回路はブートローダーと同じ回路で、オリジナルは4番ピン(RA3)に接続されたSWを押すとメッセージが表示され、PCから送信した文字を1文字ずらしてPCへ送り返します。

少し改造して、PCから受信した文字をバッファに格納して、「.」を受信すると、バッファの文字列をPCへ返すようにしました。
また、SWを押すとバッファがクリアされます。

TeraTermで接続してテストしてみました。
ボーレートは自動的に追従するようです。
#で囲まれた文字列がPCへ送り返されたものです。


コンパイラはC18が必要でどの版を入れるか悩みましたが、60日を過ぎると評価版はLite版になるようなので、結局評価版にしました。

PicKit3用ICSP書き込みボードの製作

2014-03-25 | 無線機
PICも種類が増えて、手持ちのライターでは対応できないケースが増えてきたので、純正のPicKit3を入手しました。

そこで、秋月のPickit対応ICSP書き込みアダプターキットを参考にして、ICSPで書き込むためのアダプターをブレッドボードで作りました。
秋月のキットと同様にジャンパー線で40ピンまでのPICに対応します。
ICの上側はピン数によってピン番号が変わるので対応が分かるようにシールを貼りました。


PicKit3とはL字ヘッダーピンで接続します。
ブレッドボードなので余ったところでLチカの動作確認もできます。
電源はPicKit3から供給することもできますし、MPLABで毎回設定するのが面倒な場合は、外部から供給することもできます。

久しぶりのPIC PIC18F14K50 USB Bootloaderのテスト

2014-03-24 | PIC
久々のPICネタです。

USB接続ができるPICで遊んでみようと思い、秋月のPIC18F14K50使用USB対応超小型マイコンボードを入手しました。
ボードにヘッダーピンを半田付けしてLEDピカピカのテストが終わったので、ArduinoのようにUSB接続してプログラムを書き込めるブートローダーを書き込みました。

手順はiwamotoさんのサイトを参考にしました。
ブートローダーを使用するには~MCLRの接続が必要ですが、秋月のボードの~MCLRはICSPコネクタに接続してあるだけでI/Oコネクタには出ていないので、ソケットでICSPコネクタから引出しました。

ブレッドボードでのテストの様子です。
ボード上のLEDはパイロットランプでその上のLEDがプログラムでピカピカします。
右側のSWがブートローダーを起動するSWで、押しながらUSBケーブルをつなぐと、プログラミングモードになります。


ターゲットプログラムはMPLABのXC8でビルドが成功すればHEXファイルが作成されます。
プログラムの書き込みはマイクロチップ社が提供しているWindowsで動作するソフトを使用します。

SWを押しながらUSBケーブルをつないでデバイスが認識され、HEXファイルをロードしたところです。


USB経由でプログラムを書き込んでいるところです。


PCからリセットできるので、即書き込んだプログラムが実行されます。


このように一度ブートローダーを書き込んでおけば、USB接続で簡単に開発が可能です。

久しぶりのテクノ手芸 アイスクリーム モカ&ミント

2014-03-20 | テクノ手芸
久しぶりにテクノ手芸をしました。

元ネタは100円ショップで買ってきたフェルト製の手芸キットです。
フェルトや糸が付属しています。


作り方と型紙が付いています。


型紙を切り出しました。


テクノ手芸なので、中に何か仕込まないといけませんが、100円ショップのおもちゃコーナーで見つけたスマートフォンにしました。
ボタンを押すと4種類の音がでます。


分解してみました。基板の上が電池で赤黒線の先がマグネチックスピーカーです。


不要な部分を切り取りました。マグネチックスピーカーは音が悪いので直径が2cmくらいのスピーカーに取り替えました。


出来上がりです。ウエハースにコールサインを刺繍しました。


動画です。




ElekinoRasberryPi Raspberry Piでメモリーキーヤー その3

2014-03-12 | Raspberry Pi
その3です。

ブレッドボードから穴開き基板に引っ越しました。

メモリーもM1からM3まで実装し、速度調整用のロータリーエンコーダーも付けました。
ピエゾブザーは音が小さいのでトランジスタで増幅してスピーカーを鳴らしています。
送信回路も付けました。動作確認用に赤LEDを付けてみました。
基板は小さいのでRaspberryPiの上に乗ります。


基板のUPです。左からM1,M2,M3です。


回路図です。


基板レイアウトです。103はチップコンデンサを基板裏に付けてあります。


片手で手持ちなのでブレブレですが、動画です。
速度調節しようとしてたら、メモリー送信が終わってしまいました。
Elekino on Raspberry Pi #3

ElekinoRasberryPi Raspberry Piでメモリーキーヤー その2

2014-03-10 | Raspberry Pi
その2です。

/etc/rc.localに設定して自動的に起動できるようにしました。
電源をつなぐだけで、動き出します。
OSの起動に時間が掛かりますので、起動したら開始メッセージを送信するようにしました。
開始メッセージはメモリーテキストの1行目を再生します。
起動までに20秒程度掛かりますが、Windowsよりは速いですね。



動画です。電源を入れてから撮影開始まで5秒程度です。
Elekino on Raspberry Pi #2

ElekinoRasberryPi Raspberry Piでメモリーキーヤー

2014-03-10 | Raspberry Pi
RaspberryPiエレキーにメモリーの内容を再生する機能を追加しました。

メモリー内容はテキストファイルに書き込んでおきます。
[bt]のように鍵括弧で囲むと連結して送信します。
アルファベットは大文字と小文字は同じに扱います。
記号は「.,?-@」のみをサポートしています。
定義されていない文字は全てスペース扱いとします。

ブレッドボードにメモリー用に2つSWを追加しました。


RaspberryPiと接続した様子です。


メモリーはカレントディレクトリにmem.txtとして置いてありますが、本来は「/boot/mem.txt」を再生します。
このファイルはSDカードをPC側で読み込んだ時のルートフォルダなので、PC側でメモリー内容をSDカードに書き込んでおけば、RaspberryPi側の操作は不要です。
ブート時に自動的に起動するように設定しないといけませんが。

XRDPで接続して起動してみました。
I/Oを扱うのでsudoでの実行です。
M1またはM2のSWを押すとメモリー内容が表示され、再生されます。


音が小さくてブレッドボードに寄った時にピントが合ってませんが、動画です。
ElekinoRaspberryPiのテスト


Raspberry Piでエレキー

2014-03-08 | Raspberry Pi
LEDチカチカの次はちょっと複雑になりエレキーです。

RaspberryPiのI/Oは色々なやり方があり、前回はPythonでしたが、今回はRaspberryPiのSocであるBroadcom BCM2835のライブラリを使用してみました。

参考にしたのは、浜松マイコン工房さんのサイトです。
RaspberryPiにはADコンバータが付いていないので、速度の設定はロータリーエンコーダーを使用していますが、今回は省略して短長点用のSWと送信確認用LED、ブザーのみブレッドボードに実装しました。

ソースを見ると、速度の初期値は下のMIN_SPEEDなのでロータリーエンコーダーの代わりに初期値を修正しました。100くらいがちょうど良いようです。
#define MIN_SPEED (255) // 最小速度
このような微調整もRaspberryPi上のエディタで修正してコンパイルし直すだけなのでとても便利です。



動画が無いので分かり難いかと思いますが、タクトSWでモールスを打つのは大変です。

Tanukino SDカードソケット

2014-03-08 | Tanukino
TannukinoでSDカードをアクセスしてみようと思い百均で買ったSDカードリーダーからSDカードソケットを取り出しました。

SDカードリーダーから中の基板を取り出しました。


中央で切断してUSBソケットをGET。
SDカードは基板から外してピンソケットを付けました。
まずは、ブレッドボードでテストしてみます。



Raspberry Pi 用USB電源ケーブル

2014-03-06 | Raspberry Pi
Raspberry Piの電源はPCのUSBポートから頂いていましたが、ジャンクの電源にUSBソケットをつないで、専用の電源にしました。
ついでに他の機器にも5Vを供給できるようにコネクタを付けました。
基板むき出しだとトラブルの原因となるので、クリアファイルを切って基板を包みました。