Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 25

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php:25) in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 81
科学好き者の日々

マイコンデータを読む

どきどきステッキを握ったときの、ADコンバータの値はいくらなのかを知らないと閾値を決めることができません。

マイコンの内部で使われている変数の値がいくつなのか、デバッグ中に知りたいものです。
ループカウンターなどはシミュレーションでもわかるのですが(実はシミュレーションは使いこなしていないのです)ADコンバータやRS232Cなどから取り込むデータが正しいのかそうでないのかはバグの範囲を狭めるための重要な情報です。

簡易的にLEDやキャラクター表示器を使うのが多いのですが、直接数値をUSB経由でパソコンに表示するのが確実で簡単のように思えます。

今つかっているWIZ-Cの無料のCコンパイラにもシリアルの入出力のライブラリーがあります。

const long SERIALRATE_IN=9600;
const int BITTIME_IN=(4000*1000)/SERIALRATE_IN/4;
const long SERIALRATE_OUT=9600;
const int BITTIME_OUT=(4000*1000)/SERIALRATE_OUT/4;
と定数を定義しておいて(9600はボーレイト、4000はPICのクロック周波数)

SerialOut(&GPIO,5,CH1D);

mainの中で上記のようにかくとPICのビット5にCH1Dの内容がシリアルで送られます。

USBへは、SVX日記で配布していた?梅林コースで購入した、FT232BM変換基板を使っています。FT232BMはLQFPパッケージでユニバーサル基板では使えないので、試作用にはこのような変換基板が便利ですね。
PICとFT232BMの間はシリアル転送で9600bpsです。

でやってみたら、「ありゃ。。。文字化けだ!」
これは当然でCH1DはADコンバータの値でバイナリー値です。ハイパーターミナルでの表示はキャラクター表示ですね。そのままのバイナリー値を渡しては表示できません。バイナリーキャラクター変換をする必要があります。

以下の変換ルーチンを作りました。見易さのため改行、ラインフィードも必要ですね。

void dspserial(unsigned char no)
{
unsigned char dg3;
unsigned char dg2;
unsigned long mod3;
unsigned char mod2;
unsigned char mod1;
dg3=no/100; //MSD
mod3=dg3%10;
mod2=no%100;
dg2=mod2/10;
mod1=mod2%10;
SerialOut(&GPIO,5,0x30+dg3);
SerialOut(&GPIO,5,0x30+dg2);
SerialOut(&GPIO,5,0x30+mod1);
SerialOut(&GPIO,5,0x0D); //"CR"
SerialOut(&GPIO,5,0x0A); // "LF" TXdata
}

これでmainで

 dspserial(CH1D);

と呼べばCH1Dの値をハイパーターミナルで読むことができるようになりました。

USBアダプター.jpg

写真は「FT232BM変換基板」でリード線は紫色がTXdataで黒色はGNDです。

ドキドキお知らせステッキ

マジックステッキ.jpg

3月15日発売の「エレキジャック11」は女の子用電子工作特集?のようです。
LEDを使った「光るもの」の工作ですが、
「ふわふわ光る妖精の羽」、「私のドキドキお知らせステッキ」、「着信が着たら光るマカロン・ストラップ」、「服装の色に合わせて光る蝶々ネックレス」、「啓示をくれる光る神様」、「風になびいて光る髪」、「きらきら光るスカート」、「空気を読む花瓶とお花」、「有機ELで作るラブレターとお菓子の家」、「雪の結晶を光らせるオブジェの製作」、「ゆらぎの光でキャンドルの炎を作る」、「縫い付けて光らせるストールとカバン」、「ケーキとLEDキャンドルの作り方」、「音に反応して光るバー・グラフ」、「電子ネコジャラシ「セニョリータ」
といった内容です。
通常電子工作の内容というと、ロボットや鉄道模型、ラジコンなどで服装、アクセサリーなどに関するものはあまり見かけません。
まあ新企画なのだろうと思います。

で、面白そうだと思った「私のドキドキお知らせステッキ」をつくってみました。

これは、2つの電極を2人でにぎり、その間に流れる電流の多さでLEDを点灯させるというものです。通常はハート型に配置された黄色のLEDが点いていますが、電流が多くなるにつれて順に緑、赤のLEDが点くようです。ドキドキすると汗をかいて電気抵抗が下がることを利用しているようですね。
記事はなかなかユニークで、基本回路はオペアンプ1つとトランジスタ2つだけですが、チップ部品を使うのにユニバーサルな変換基板を使っています。チップ部品をユニバーサル基板で使う上手い方法ですね。(こんな方法もありますが

さて、単に点灯させるのではなく、点滅して、どきどきが進むほど点滅周期も早くなったほうがより面白いと思い、マイコンでのコントロールとしてみました。

オペアンプ出力をPIC 12F675でADコンバートして、閾値をきめ3段階(どきどき小、黄LED点滅周期0.5秒 どきどき中、黄と緑LED点滅周期0.3秒 どきどき大、黄と緑と赤LED点滅周期0.1秒)のLED点滅を作ります。

ハート型にLEDを配置するのがやっかいですが、オートシェイプでハートを描き、エクセル上で配置してみました。

LED配置.jpg

これを参考にユニバーサル基板上にLEDを配置します。実はうっかりして黄色の中央LEDを1ピッチずらしてしまいました。

電源は単三の電池を直列にした、電池ボックスをハート型のユニバーサル基板にネジ止めしています。電源スイッチはなく、通常はスリープ状態としておき、両手で電極を持つと低抵抗となるので、その信号で割り込みをかけてスリープから戻るようにしています。オペアンプには電源が入りっぱなしですが、ほとんどの電力はLED点灯ですので、これでよしとしています。

ステッキ部は工作用紙を丸めて筒を作ります。上下に銅箔の電極を付け抵抗を計る端子とします。上の銅箔部を一人が持ち下の銅箔部を一人が持ちます。間にアルミ箔があるので銅箔とアルミ箔の両方を接触するように持ちます。

さてどきどきするかな?


パソコンのトラブル

パソコンの1台が突然フリーズするようになりました。

「え!?どうなったの?」
特に新しいソフトをインストールした覚えはありません。(しかし、最近JAVAなど勝手に更新されるものが多いですね)

「しょうがないなぁ。。。システムの復元をするか」
ところが「システムの復元」中にフリーズしてしまうのです。

「ありゃ。。。これじゃ駄目だね」
うまくいくかの僥倖をたよりに何度かやってみます。が全部途中でフリーズしてしまうのです。

「弱ったね。。。OSから再インストールするしかないか。。。。。。」

と覚悟しようとして、

「これはハードを疑ったほうがいいのでは?」と思いつきました。

このPCのマザーボードにはSATAが4チャネルあります。
起動ディスクの接続されているチャネルを変えてみることにしました。

なんと今度は安定しているではありませんか。
「こんなこともあるんだなぁ」と思ったトラブルでした。



おこしやす スイッチ操作

おこしやすの操作にショートカットキーを割り当てることができます。
他のソフトとバッティングしないように「再生・停止」を「ctrl+;」「巻き戻し」を「ctrl+:」「早送り」を「ctrl+@」と割り付けています。「ctrl+;」とはコントロールキー(ctrl)とセミコロン(;)キーを同時に押すということです。ホームポジションから近いキーを選んでいます。

ところが、同時に2つのキーを押すことができない方もいます。
そのためには「ctrl+;」などを1つのスイッチでエミューレートすることが必要になります。

テープ起こしにおこしやす フットスイッチ
テープ起こしにおこしやす フットスイッチ その2
に書いたように外部スイッチをゲームパッドに接続し、(JoyToKeyというエミュレーションソフトを使います。上のフットスイッチの例ではスイッチを1つしか使っていませんが、このスイッチを3個つかえばいいわけですね)

まず、スイッチボックスを作ります。ある程度の大きさのスイッチがいいので、ゲーム用の押しボタンスイッチを使います。Φ24mmのゲームスイッチを使いました。1つ140円です。
これをゲームコントローラのスイッチ部分に配線します。ゲームコントローラはUSB接続ですのでパソコンのUSB端子に接続すれば自動認識されます。

ソフトはJoyToKeyをつかい、3つのスイッチが接続されている信号(例えば→や←や↑など)を「ctrl+;」「ctrl+:」「ctrl+@」などに割り当てます。

これで3つのスイッチを押すだけで「再生・停止」「巻き戻し」「早送り」ができることになります。


録音、録画用パソコンの更新 その2

家に帰って、マザーボードのパッケージを開封します。

「ん。。。。」バッケージの封が切られています。

開けてみると、静電防止袋に入っているはずのマザーボードがないのです!!

「え!え!え!???」
誰かが店でマザーボードのみを抜き取ったのでしょうか?
昔「びっくりまんシール」というのが子供たちに大流行したことがあり、お菓子からシールのみを抜き取ることがあったのを思い出しました。

お店に電話してみると、どうもお店の展示用の品物の箱だったようです。

直ぐにお店に行って交換してきました。
「すみません」と平身低頭でした。

OSをインストールして、やっともとに戻りました。
たまっていたラジオの録音とテレビの録画を再開しました。




録音、録画用パソコンの更新

ラジオの録音やテレビ番組の録画に使っているパソコンが壊れてしまいました。

ある日突然、画面が出ないのです。
どうも動作はしているらしいのですが、ビデオカードが壊れてしまったのか、なんの表示もされません。

「弱ったね」
このパソコンのビデオカードはオンボードタイプなので、マザーボードを変える必要があります。みるとPCIソケットは1つ空いています。
「そういえば、PCIのビデオカードあったよね」昔、持っていたのです。探してみたのですが、やっぱり捨ててしまったようです。

秋葉原の中古屋を捜しますが、
「いまはAGPのビデオカードすらまれで、PCIはまったくみないですね}と言われる始末です。
PCIと言えばいまはPCI Express のことのようです。

じつはmini-ITX(C3)のマザーボードのPCもあるのですが、録音には使えるのですが、録画にはちと非力なのです。

「しようがないなぁ」というわけで、mini-ITXのマザーボードを更新することにしました。

インテルのAtom(最近のミニノートの使われているCPUですね)が付いているマザーボードとメモリー(DDR2)1GBで9660円でした。

購入して家で開封してみると。。。。。。





カウンターが50000になりました

カウンターが50000になりました。
見ていただいている方ありがとうございます。

最近、忙しくて?更新が進みません。

ちかぢかまた更新できるようになると思っています。

MP3のcodec

いまさらMP3のcodecの話でも無いような気もしますが、動画ファイルを変換するときに、音声ファイルをMP3として圧縮しています。

Windows標準だとサンプリング周波数が22050Hzまでしかできないようなのです。44100Hzとするためには、LIMEなどのcodecを別途入れる必要があります。

http://www.rarewares.org/mp3-lame-dshow-acm.php

上記にアクセスして、LAME 3.98.2 ACM codecをダウンロードします。

ZIPで圧縮してあるので解凍して、作成されるファイルから LameACM.inf を選んでアプリケーションキーを押し、インストールでエンターキーを押します。

以上でMP3の圧縮にサンプリング48000Hz、320kBPSまででの圧縮が使えるようになります。




Calendar
<< May 2024 >>
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031
search this site.
tags
archives
recent comment
recent trackback
others
admin

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 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111