【動画紹介】無駄に複雑
久々に変な機械の動画をみつけたのでちょっとご紹介です。
"Carzy complicated"と言っている通りのものです。
しかしワインを抜くだけでなく、グラスを微妙に動かしつつ注ぐところまでやってくれます。
無駄によくできています。
手間暇と才能以外に部材費もそうとうかかってそうですが、作成者どういう人なんでしょうね。
一種の金持ちの道楽でしょうか?だとしたら羨ましい限りです。
それではまたです。
久々に変な機械の動画をみつけたのでちょっとご紹介です。
"Carzy complicated"と言っている通りのものです。
しかしワインを抜くだけでなく、グラスを微妙に動かしつつ注ぐところまでやってくれます。
無駄によくできています。
手間暇と才能以外に部材費もそうとうかかってそうですが、作成者どういう人なんでしょうね。
一種の金持ちの道楽でしょうか?だとしたら羨ましい限りです。
それではまたです。
ご存知の方にとっては、何をいまごろ、かもしれませんが、昨日になって知りました。
1月でロシアの長波放送が停止になっていたのですね。。。。。
先週からM6955ラジオをいじっていて、短波の日本語放送は結構聞けたので、LWも聞いてやろうと思ってネットで見たロシアのLW周波数で待ち受けていたのですが何も聞こえなくて、やっぱりまともなアンテナが要るな、と思って長波用ループアンテナを作ろうとしていたところでした。
昨日になって、「月間短波の記事」で ロシア国内向長波放送を1月9日以降廃止というのを発見したところです。一ヶ月ちょっと前のことですね。もう少し早く気づけば停波前に聞けたかな、と思うと実に残念です。
長波で国内で受信できそうなのは電波標識と電波時計(40KHz、60KHz)くらいでしょうか?
でもやっぱり人の声や音楽が聞きたいですね。
ヨーロッパやモンゴルはまだ長波放送があるようですが、日本で聞けるのかな?
次どうしようか考え中ですが、一案としてAM用ループアンテナでも作って各地のAM放送でも聞いてみようかと思っています。
それではまたです。
結構な大雪でしたね。昨日は振替出勤日だったので会社に行きましたが、道が全面的に雪と水たまりになっていてかなり大変でした。
今日はお休みなので、昼前からソフトの続きを作ってみました。一応当初目標の動作ができましたので動画をアップしています。
操作はロータリーエンコーダ左右回転で普通にチューニング、早く回すと3倍速になります。
ロータリーエンコーダを押したまま回すとバンド切り替えになり、放すとその時表示しているバンドを選択です。
バンド切り替えメニューの中に”SCAN”があり、それを選ぶとそれまで聞いていたバンドの状態をスキャンし、グラフ表示します。
スキャン中にロータリーエンコーダを押すとキャンセルです。
バンドの状態ですが、前回書いたようにRSSIレジスタ(0x1b)値はなぜかFMでは有効ですが、AMではやっぱり受信状態と一致しません。
M6955のデータシートを見たところ、RSSI以外にCNR(キャリア・ノイズ比)レジスタ0x16、0x17があり、それを試したところ、AMでは受信状態に一致し、FMの方はそうでもないことがわかりました。
そこで、チューニングモードでは、RSSI,CNRを両方バーグラフ表示し、SCANモードではFMはRSSI , AMではCNRの値を表示するようにしました。
ここまでのソフトをご参考にアップします。
「m6955_type2.c」をダウンロード :メインです。
「m6955ctl2.c」をダウンロード M6955制御です。(2014/3/1 ヘッダ指定誤りを修正しました。)
「graphics2.c」をダウンロード :グラフィックルーチンです。
「PIC24F_I2C_2.c」をダウンロード :I2C制御ルーチンです。
「spilcd.c」をダウンロード :SPI LCD制御ルーチンです。
「font8x8.h」をダウンロード :フォントデータです。
「m6955_2.h」をダウンロード :M6955用定義です。
「spilcd.h」をダウンロード :SPI-LCD用定義です。
全プロジェクトの圧縮ファイルです。(2014/3/1追加)
なお、回路図を一部修正しましたので最新回路をアップします。
修正内容は以下の通りです。
@ 3.3V生成をレギュレータにしました。ダイオード降下方式だと電圧範囲は
まあ良かったのですが、LCDのコントラストが安定しないとわかったためです。
A LCDのRST端子を接続しました。データシートには接続なしで良いように
書いてありますが、私の環境だと表示しない場合が時々有り、接続して
制御するようにしてそれが解消しました。
B M6955のボリューム下側の抵抗値を変えました。適用な値にしていたの
ですが、ボリュームを絞った状態で大きな音が聞こえたためです。
AMとFMは良く聞こえています。
短波とLWを今夜試してみたいと思います。
それではまたです。
なんとかM6955のRSSIレジスタ(0x1b)の読み取りができるようになりました。
まずは動いているAM/FMモードにRSSI表示をさせてみました。
左が81.3MHzのJ-WAVE受信中、右はわざと外したところです。上のバーグラフがRSSI値を示しています。
しかしまだ問題が2点。
@FMは大丈夫そうですが、AMの方は安定していません。受信していないところでも
大きな数値が出たり、受信していても数値が妙に変動します。
A頻繁にRSSIレジスタ(0x1b)を読みに行くと受信感度が低下します。特にAMの方。
これは単にM6955のI2Cアクセス動作が悪影響を及ぼすのかと思いましたが、
他のレジスタ(0x00)を頻繁に読んだ場合にはそういう低下が見えませんので、
なにかRSSIレジスタアクセス固有の問題があるのかもしれません。
ここでFMの方で周波数を振ってグラフ表示をさせてみました。
横軸が周波数、縦軸がRSSI値です。スキャンをゆっくりしにして音を聞きながら見たところでは、放送受信時にグラフが立つのであっているのだと思います。
ここでもうひとつの問題。(多分そうかなと予想はしていましたが)
B周波数を設定してからRSSIの値が安定するまでちょっとタイムラグがあるようです。そこで周波数ごとに設定からRSSIを読むまでにウェイトを入れて調整しました。
その結果、上の画面の表示に20秒くらいかかっています。
改善策がないかm6955のマニュアルを見直してみます。ソースはまたツギハギだらけになっているので、改善後に整えてからアップしたいと思います。
明日はお休みですがちょっと用事が入っているため、続きは次の週末になりそうです。
それではまたです。
都知事選の結果はだいたい予想通りでした。実は4位の人にもっと票とって欲しかったのですが。それでもかなりの健闘ですね。今後に期待してます。
さて、やっと動画にできるようになりました。(まだAM/FMの2モードですが。)
基本動作のロータリーエンコーダで選局。押下でバンド切り替えです。
LEDは押下で赤、左右回転で青・緑を切り替えています。
ちょっとひねったところでは、ロータリーエンコーダをゆっくり回すとそのバンドの基本ステップ(AMなら9KHz、FMは0.1MHz)で、早めに回すとその3倍のステップで周波数が変わるようにしています。
エンコーダはタイマー割り込みで制御していますので、回転速度についてはエンコーダ信号の立ち上がり間隔での割り込み回数を計測しています。
やってみると「早め」って結構定義が難しいですね。とりあえず閾値を少しずつ変えてこんなものかな、というところに設定していますが、まだ調整がいりそうです。
他に、文字表示にスケール機能を持たせて大きく表示できるようにしました。
これで周波数表示を2倍にして表示しています。
一応動くのでソースをアップします。
「m6955_type1.c」をダウンロード :メインです。
「graphics2.c」をダウンロード :強化したグラフィックルーチンです。
「m6955ctl.c」をダウンロード :M6955の制御ルーチンです。
「PIC24F_I2C.c」をダウンロード :I2C制御ルーチンです。
「spilcd.c」をダウンロード :SPI LCDの制御ルーチンです。
「font8x8.h」をダウンロード :フォントデータです。
「m6955.h」をダウンロード :M6955定義ファイルです。
「spilcd.h」をダウンロード :SPI LCDの定義ファイルです。
次はスペアナ的バンド状態表示にトライしようと思います。
それではまたです。
金曜日から出張に出ていたところ雪に見舞われまして、いろいろあって今日の午後からやっと少し作業できるようになりました。
まずは、箱に入れることにしました。むき出しのままだとデバッグ効率が悪いし、操作性の確認は箱に入れた状態でないとわからないだろうと考えまして。
どうもボリュームとロータリースイッチの位置が良くないです。これは、基板にロータリースイッチを固定にしたため、内部で基板を置ける場所によって位置が制限されてしまうためです。
取り付けが簡単になると思って基板固定にしたのが失敗でした。
使えないことはないので、このまま進めます。
左下のスピーカー穴は、最初放射状に小穴を開けようとしていたのですが、どうも綺麗にならなかったので、しょうがないから中華製ラジオキットのパーツを切って貼り付けました。
中華製ラジオパーツはAitendoの福袋に入っていたのですが、作っていないものです。
このあとようやくソフト改良に入ります。
それではまたです。
平日ではありますが、昨日今日と1時間くらいずつ、ついソフトの方をやってしまいました。
日曜にだいたいのコーディングまではできてたのですが、バグがあって動かないのがどうも気になってしまいまして。
さきほどなんとかAMバンドに設定して、ロータリーエンコーダで周波数を振って聞こえるようになりました。
954KHzのTBSを聞いているところです。今はまだAMで単純にエンコーダを左右に回して周波数を変えられるだけです。FMも固定周波数で聞いてみましたがどうやら動きます。音も感度も結構良いようです。
しかし文字が思ったよりも小さいですね。8x8フォントでは厳しいかもしれません。
ソフトはあちこち直して綺麗ではないので整理してからアップしたいと思います。
M6955に関する情報として、今回苦労したのは主に以下の2点でした。
@M6955はレジスタ1、2でバンドと周波数を設定した後にレジスタ0のビット6(TUNE)を
1→0にする必要があります。これをやらないと電源オンの一回目だけは周波数設定できますが、それ以降は変化しません。
A今回の回路のようにROUT-LOUT間に1つのスピーカをつなぐ場合は、レジスタ6の
ビット1を1とする。これしないと音がかすかになります。
どうやら基本的な機能が揃ってきたと思いますので、次はユーザインタフェースの作り込みをやりたいと思います。
それではまたです。
全モジュールの配線まで行いました。
回路図は以下の通りです。
M6955の接続はどうしようかなあ、と考えた末、PICKIT3用のコネクタと兼ねてしまいました。
こうすると、書き込みの時に差し替えになって少し面倒ですが、その代わりコネクタがひとつ減り、PICの空きピンが増えて将来の拡張に回せます。
音量用のボリュームについても少し悩みました。レジスタ制御でできるようだし、それもロータリースイッチ操作にしてしまうとユーザインタフェースの一元化ができてかっこいいかなあ、と思ったためです。
しかし実際の操作を考えてみると、うるさいからボリュームを絞るような場合は即応性が必要で、そこでロータリースイッチを押してモードを変えてから回す、というのはいかにも不便そうなので結局普通にボリュームを付けることにしました。
電源を入れてみましたが、ソフトがまだなので当然何の音も出ません。
次はFMかAMで何か聞こえるところまで持っていきたいと思います。
それではまたです。
金、土と飲み会がありましたため、週末作業もちょっと入れませんでした(^^;
今日の午後からまた少し動かしています。
LCD表示の方が案外簡単に動いてくれたので一度アップします。
以前作ったAitendoの128x64 SPI OLED用のルーチンを使って、縦方向の解像度と初期化コマンドを修正しました。
初期化コマンドはLCDに添付されていたデータシートに書いてあった通りにしただけで表示できるようになりました。
今のところのソースは以下の通りです。
「spilcd_test.c」をダウンロード メインです。
「spilcd.c」をダウンロード LCDの制御ルーチンです。
「graphics.c」をダウンロード グラフィックルーチンです。
「font8x8.h」をダウンロード フォントデータです。
「spilcd.h」をダウンロード LCD制御用のヘッダファイルです。
これで、各グラフィックルーチンが使えます。画面表示はラジオを動かしながら作りこみますので、次はいよいよDSPラジオモジュールM6955を接続したいと思います。
それではまたです。
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
最近のコメント