
写真1 AD9833 DDS MSOP 0.5ピッチ 変換基板に乗せる
それはさておき、
このチップは10ピンのMSOPで、写真にようにピンセットの先ほどの大きさです。
変換基板に取り付けましたが、ピンのピッチは0.5なので、半田付けにはちょっと技術が必要です。
まずチップをゲルタイプの瞬間接着剤で正確な位置に仮止めしておきます。
フラックスをほんのわずか塗って、すべてのピンにわざとまたがるくらい半田を盛ります。
半田吸い取り線で、余分な半田を吸い取って、出来上がり。
慣れれば簡単ですが、最初は数個パーにする覚悟がいります(笑)。
このDDSは、マスタクロック(MCLK)周波数は最高25MHzで、その場合最高発振周波数(ナイキスト周波数)は12.5MHzとなり、分解能は0.1Hzです。
今回は手持ち部品の関係で、20MHzのクリスタルを使用したので、10MHzまでのプログラマブルオシレータとして、実験してみました。この場合の分解能は約0.075Hzです。

mbedでPS2 Keyboardのハンドラを作ってみました。
今はUSB keyboardが主流ですが、mbedで使えるライブラリが見当たらないので、ちょっと古いですがPS2 Keyboardを使ってみました。
mbedのホームページで Shinichiro Nakamura氏が、PS2ライブラリをアップしてくださっているので、それを利用してスキャンコードをアスキーコードに変換するハンドラです。
いまのところCTRLキー、ALTキーはサポートしていません。
カナキーとその関連キーもサポートしていません。(スキャンコードは表示します)
PS2のメスコネクタは入手しにくいですが、一昔前のパソコンから取るか、PS2-9Pin CANONチェンジャーを持っていたら、それを使ってもよいと思います。私のチェンジャーは中にダイオードが入っていましたので、つぶしてPS2コネクタのみを使いました。
今回はPS2のCLK信号をP12に、DATA信号をP11につなぎました。
プログラムを実行してキーを入力すると、そのキーのスキャンコードとアスキーコードのキャラクタが表示されます。(上の写真)

SHIFTキー、SHIFT+CAPSLOCK、NUMLOCKは有効です。これらを押すとLCD上にS、L、Nと表示し、モードを表します。CAPSLOCKは、SHIFTを同時に押してください。
SHIFTモードは、SHIFTキーを押している間ONで、離すとOFFです。
CAPSLOCKとNUMLOCKは押すごとに切り替わるオルタネートです。
アスキーコードに変換できないキー、たとえばF1からF12や、ARROW、HOMEキーなどのキーは、
独自の1バイトコードに変換しています。正式なハンドリングではありませんが、使うには問題ないかと思います。
たとえば、F1は0x05、UP ARROWは0x15というように、ASCIIコードの0x01から0x1Fまでをアサインしています。詳しくはソースコードをご覧ください。

私のSOTEC PS2 Keyboardで確認していますが、他のキーボードでうまくいくかは試していません。
ソースコードは、ここをご覧ください。http://mbed.org/users/jf1vrr/programs/PS2_Keyboard/lrov1m
(JF1VRR)