スポンサーリンク


RAKUTEN

  • スポンサーリンク

« 2013年2月 | メイン | 2013年4月 »

2013/03/25

AITENDOのDSPラジオIC KT0911 その2

ためしにいじってみようかと考えていたDSPラジオICAitendoのKT0911ですが、ちょっとめんどくさいことに気付きました。

32.768KHzリファレンスクロックのRCLKピンですが、外部入力なんですね。参考回路ではLCDドライバの3610とやらから貰うように書いてあります。

このドライバを使わない場合は、Xtalではなくて発振回路を外に持たないといけないようです。

発振回路を組んでも良いのですが折角シンプルに作りたかったのになんか納得がいきません。

EEPROM代わりに付けるつもりだったPICから供給を、とも考えましたが、精度を持たそうとするとPICの方に外部Xtalがいるようになるし。

とやる気をなくしていたところ、Aitendoの別のモジュールに気付きました。

ラジオモジュール[RDA5807-M]というものです。

このモジュールの概要説明には周波数範囲:76-108MHzとありますが、使われているDSPラジオICのRDA5807HSのデータシートを見ると、なんと50〜108MHzと書いてあります。

元々FM 50MHzを聞いてみようと思ってKT0911に注目していたのですが、このモジュールでもよさそう。こちらならマイコンで直接制御できるし。ということで乗換え方向です。

それではまたです。

2013/03/24

FRISKケースで音声合成

今日は、またAITENDOのDSPラジオICをいじろうかと思っていたのですが、ちょっと気が変わって、だいぶ前に買ってあった秋月電子の音声合成LSIの方にしました。

この石は、ほとんど外付け回路無し、シリアルでテキストデータを入れてやればそのまんま音声として出してくれるという優れ物です。

なぜこれを引っ張り出してきたか、というと、土曜日にAITENDOでFRISK用の基板をまとめ買いしまして、それを使ってFRISKに入れてしまえるな、と思ったからです。

Dscf1934 基板はこれです。100円で2枚入っていて安い。SOPの座を付けたタイプ等複数種類あります。

まずは動画をご覧ください。

Speech 回路図はこの通り。LSIは28ピンですが実際に接続するピンだけしか書いてありません。実に簡単です。

PICマイコンとLSIの通信はRXD一方向だけにしました。本当はTXDにも繋いでビジーステータスを見るのですが、後述のようにソフトの方が大変になるのでそれはやめて、PLAYステータス信号を直接観測するようにしました。

それと合わせて、PLAY信号にLEDを付けましたので、話している間LEDが点灯します。

(ちょっと2001年宇宙の旅のHALっぽい?)

ソフトは以下の通りです。

「SPEECH.c」をダウンロード

使っているPIC12F683にはUARTがないので、ソフトでRXDに繋いだGPIOを振ってエミュレートしています。送るのは単に時間を切ってH/Lを振るだけなので簡単で良いのですが、受ける方はかなり大変です。そこでTXDは使わずにお茶を濁しています。
 

しかしこんなに簡単にそれなりの音声合成ができてしまうのには驚きました。

今回はただしゃべらせてみた程度ですが、折角だからなにかに応用したいとことです。

それではまたです。

8ピンPIC(PIC12F)用プログラミングケーブル作成

このところ8ピンのPIC(PIC12Fxx)を使うことが多いです。お手軽な石なのでちょっとしたことには重宝するのですが、毎回悩むのが、その書き込みインタフェースです。

 

私はPICKIT3を使っていますが、その口は2.54mmピッチ6ピンのピンヘッダ用になっています。

 

基板にピンヘッダを立てれば簡単ではありますが、それ自体が案外基板スペースを食います。通常こういった石を使う場合は、小さいケース(FRISKとか)に組み込もうとしていることが多く、ピンベッダスペースや高さも苦しかったりします。

 

小さいコネクタをつけて変換ケーブルを作ったり、プログラム時だけ線をPICに直接ハンダ付けしたりもしましたが、どうも使い勝手がよくありません。

 

そこで今回、以下の写真のような変換ケーブルを作ってみました。

Dscf1926 なんのことはない、ピンヘッダと8ピンICソケットをつないだだけのものです。配線は、"ICSP PIC12F"で画像検索すると参考にできる回路図がいっぱい出てきます。なお、MRST端子はICソケットのところで20KΩのプルアップ抵抗を付けています。

 

これで、プログラムの時だけPIC12Fの上からICソケットを押し付けます。

Dscf1927 実際に使ってみたところ、ソケットの足がうまいこと8ピンPICを挟み込みようになって案外しっかりと固定されました。プログラム書き込みも問題なく出来ています。

 

とにかくこれで、基板のピンヘッダスペースも不要だし、そのための配線もいらなくなりますのでかなり便利にできたと思います。

耐久性はわかりません。しばらく使って試してみます。

それではまたです。

2013/03/20

5本のIOで12個のLEDを制御 その2

コメントでご指摘いただきましたように、前回の記事の回路は"Charlieplexing method"という方式で結構前から有った物のようです。

この回路は原理的に1度に1つのLEDしかオンできませんので、今回はダイナミック駆動と組み合わせて残像で複数同時に動くようにしてみました。(これも当然と言えば当然な組み合わせで、新しい物ではないですが。)

回路図は前回のままです。

今回のソフトは以下の通りです。

「MANYLED2.c」をダウンロード

LEDの数だけ配列(display[12])を作り、PIC12F683のタイマー割り込みでそれをスキャンして表示しています。

上位ルーチンではdisplay[]にLED状態を入れるだけですので、ちょっとしたゲーム位なら簡単に作れます。

これで昔の「ラジオの製作」や「初歩のラジオ」にあったようなLEDゲームの再現ができるかな、と考えましたが、この時代に作っても面白くないかな、というか誰も分からないかな、などど思案中です。

それではまたです。

2013/03/17

5本のIOで12個のLEDを制御

以前作った3D LEDディスプレイの絡みで、LEDの配線を少なくする方法ってないかなあ、と考えておりまして、思いついた回路を実験してみました。

どういうものかはまた動画をご覧ください。

回路図は下の通りです。

Manyleds

5ビットのIOですから、情報量からするとデコーダICを使えば最大32個まで制御できますが、

 
この回路はそういう外付けIC等無しでIOの少ないCPUとソフトだけでできるのが特徴です。  
 

ソフトは以下の通りです。今回はPIC用のHI-TECHCで作ってみました。

「MANYLED.C」をダウンロード

回路的には一度に1個の点灯用ですが、組合せによっては複数もオンできます。(抵抗をケチっているので明るさは落ちますが。)動画の最後で交互表示しているのがそれです。

とはいえ1個ずつオンにしてダイナミック駆動で複数を点けて見せるのが本当ですね。

そのうちソフトを直して対応しようと思います。

それではまたです。

2013/03/13

【動画紹介】けなげなロボット

タイトルにRough-Terrain Robotとあります。Terrainという単語はなんだっけ?と思って調べたら「地形、地勢」とありました。つまり荒地向けロボットといった意味でしょうか。

6本の足らしきものを回して岩場をむりくり進む姿が私には「けなげ」としか言いようが有りません。

ひっくり返ってもめげずに突き進む姿は愛らしくさえあります。

しかしこの足(?)の形はなんで? 大きなタイヤではだめなのでしょうかね?

それではまたです。

【動画紹介】ジャンプするロボットカー

タイトルにJumping Robotと有りましたので、「ジャンプするロボットとは?」と思ってみてみました。

出だしが普通の4輪車の模型っぽいので、「はてな?」と思いましたが、すぐに納得です。

確かにジャンプしてる。しかもかなりのジャンプ力。1階ですが建物の屋根の上まで飛び上がってる。

ジャンプする前の「溜め」が中々良いです。

一見の価値はありますよ。

ところで着地姿勢までは制御できないようで、ジャンプ後の落ち方はまちまちです。それでもダメージもなく走行開始できる丈夫さも見どころだと思います。

それではまたです。

2013/03/12

AITENDOのDSPラジオIC KT0911

AITENDOのサイトを見ていてまた変なラジオICに気づきました。

モノはDSPラジオICのKT0911です。以下はその特徴の説明文です。

●ワンチップデジタルAM/FMレシーバー、ワールドワイドバンド対応、高集積度、少ない周辺部品で作成可、使いやすいシリアルEEPROM制御インターフェース、●32-110MHz(FM)、500-1710KHz(AM)、高感度:1.6uVEMF(FM)、16uVEMF(AM)、高忠実度:SNR(FM/AM):60dB/55dB、THD:0.3%、低消費電力:2.2-3.6V(動作電源)、22mA(消費電流)、●外部LCD表示ディスプレイへの直結に対応、●ダイヤルモードとキーボードの2モード、●パッケージ:SSOP-16L(0.635mmピッチ)

何が変か、というと、

@まずFM周波数。「32MHz〜」ですと?誤植じゃないのかな、と思ってデータシートの方を見ると確かにそうなっています。FMの範囲が3領域の選択式になっていて、その一つが32〜64MHzになっています。世界のどこかにはこういう低い周波数のFM放送があるのでしょうか?

A次にインタフェース。「EEPROM制御」? データシートによるとこれは電源オン時に内部設定をEEPROMから読んでくるということですね。つまりそのインタフェースでは動作中には設定が変えられないということかな。

B最後に「ダイヤルモードとキーボードの2モード」? データシートを見ました。ダイヤルモードはVR(可変抵抗)で選局できる模様。キーボードはキーモードの誤植みたいです。2つのキーで周波数をUP/DOWNするKEY MODEというのがあります。

    ーーーーーーーーーーーーーーーーーーーーーーー

特に@の周波数が気に入りました。これなら50MHzのアマチュア無線バンドが聞けるはずです。今までいじったDSPチップではできなかったバンドなので、ちょっとやってみたいです。

 Aはどうしようか?素直にシリアルEEPROMを持ってきてマイコンから設定値を書くようにしても良いのですが、そのまますぎて面白くないです。EEPROMとマイコン二つ持ちになって冗長だし。EEPROMライタを作るのも面倒だし。そこで8pinPICマイコンだけにして、EEPROMをエミュレートすると良いかな、と考えているところ。

 後は周波数設定と表示をどうしたものか?普通のDSPラジオICならマイコンから周波数を指定して、その周波数をマイコンが表示すれば良いのですが、このICは変なのでそれができないですね。

まあ設定はダイヤルモードでいいかな。表示はLCDドライバ3610とやらとセグメントLCDでできるらしいですが、物が増えていやなのでパス。

ということで目標:

  ・8ピンPicマイコン(PIC12F)をEEPROMに化かして初期値を50MHzに設定させる。

  ・KEYMODEにしてスイッチで50MHz近辺を振ってみて誰かの交信を聞く。

しかし物がないので、手配して実行するかどうかもうちょっと考えてから。

それではまたです。

2013/03/09

100円スピーカへのインジケータの付け方

週末に3D表示のカラー版でも作ろうと意気込んでいたのですが、いざとなるとLEDの配線が億劫になりまして。カラーにすると配線数が2倍ですし。

ということで、何となく転がっていた100円スピーカの改造でお茶を濁しました。

できるだけ簡単な回路にしましたので、動画をハウツー的な物にしてみました。

ところで、この回路には電源スイッチはないですが、動作していない時の消費電流はバイアスを作っている抵抗を流れる分だけで、計算すると5uA程度なのでボタン電池でもかなりもつから、まあいいかな、と思っています。 

それではまたです。

2013/03/04

3次元LEDディスプレイにトライ (その2)

昨日の回路図を見た友人から「左下のLEDは何?」という質問が有りました。

確かに何も説明なしでしたので、ここで解説させていただきます。

3dled0304 回路図の赤枠の部分です。

これは、秋月電子の通過型フォトインタラプタ CNZ1023というものです。

回路図にはLEDとフォトトランジスタで書いていましたが、実際は一体のものです。

これで回転角の原点を検出して表示開始タイミングを作っています。

Dscf1869a 実装位置は左の赤丸のところです。

Dscf1882_4 拡大図です。ボードの回転によりスリットの間を下の棒が通ると遮光されて角度原点が分かります。

ソフトではこの出力をPICマイコンのIOで見てHとなるタイミングを待ってから1週分の表示を開始します。位置決め精度がどの程度か心配でしたが、動作を見ると回転ごとのばらつきもなく結構正確に出ているようです。

最初はこのセンサ出力周期を見て1週分の時間を測定し、表示タイミングを微調整する必要が有るかと考えていましたが、その必要もなく、単にセンサ出力待ちと単純なWAITループだけで案外うまくいっています。(これはセンサの精度というより回転系の速度がまあまあ安定しているということですね。)

このセンサは10個300円とお安くなっていますし、他にも使えそうですね。

それではまたです。

2013/03/03

3次元LEDディスプレイにトライ

正直言いましてこのところ動画のために工作してます。

アクセスはそんなに多くないですが、国別を見ると、東欧とか中南米とか意外な国からアクセスが有ったり、たまに英語でコメントくれる人もいたりで中々励みになります。

他の人の工作関係を見ていると、アクセスの多い動画ジャンルでキューブ状のLEDマトリクスというのがありまして、ああいうのも面白そうだなと思っていました。

しかし何番煎じかわかりませんがマネはよくないし、ならば面で回転させて3Dはまだないみたいだしどうかな、ということでやってみました。

回路図は以下です。後日別記事で補足説明をします。

3dled

プログラムソースは以下の通りです。以下2ファイルをMPLABプロジェクトに入れればコンパイルできます。

「LED3D0303.c」をダウンロード
「const0303.c」をダウンロード

ちょっと言い訳すると動画だといまいち綺麗ではないですが、実物はもうちょっとましに3Dに見えていますよ(^^; もっと暗いところだと良く見えるのですが、動画がまともにとれなくて。

ほんとはLED8x8とかカラーにもしたかったのですが配線がとても大変なので5x7で妥協しました。こういうものは力技ですね。

それではまたです。