« 2006年12月 | メイン | 2007年02月 »

2007年01月31日

SDカードデータロガー - ケース完成

PSoCでSDカードの読み書きができるようになったため(ユーザモジュールを使用)
SDカードにデータを書き込めるデータロガーを作成しました。

前回作成したデータロガーとの大きな違いはSDカードにデータを書き込むようにしたことですが、
他にはロータリーエンコーダを使い操作性を高めていることもあげられます。
現在、ソフトウェア部分は基本となる部分は完成しました。

次にハードウェア側です。せっかくつくったのでケースへ入れることにしました。

前回に作成したデータロガーケース加工をしましたが、

友人からLCDは製品ではフレーム部分(?)が見えないのが多いよね

とかなんとか指摘されたので今回はそこも改良しておきました。
LCD部分はフレームが見えないように最低限の窓だけ開けてあります。

結果、以前よりかなりシンプルな感じになりました
(ボタンやLEDがが減ったというのもありますが)


動作ですが、以前のデータロガーと同様のデータが取れます。
ただし、今回は128MBのSDカードを採用しているため、1分に一度のデータ計測でも1年以上は連続してデータをとれそうです。

さらに、SDカードをPCに差し替えればすぐにデータを取り出せるという利便性もあり、かなり使いやすくなりました。


SD_Logger_Case_a.jpg SD_Logger_Case_b.jpg
↑LCD周辺部分は前回よりきれいに加工できました。  ↑ケースの中は結構ごちゃごちゃです。


SD_Logger_Case_c.jpg SD_Logger_Case_d.jpg

↑動作中の様子です。                  ↑今回はCdSをケースに埋め込んでみました。




以下は2006/02/18に追加

◆部品配置図メモ(コネクタピンアサイン)

PSoCTestBoard_SD.png

2007年01月30日

データロガーのケース改良 - アクリル板の加工

初代データロガーのケースを改良中です。

今回はLCD付近の窓がゆがんでいたのを削り直しました。
そのままでは窓が大きすぎるため、ほこりが入ってしまいそうです。
そこで透明なアクリル板を窓の部分につけてみました。

アクリル板を小さく切り、穴を開けてネジでアルミケースへとめました。
アクリル板はアクリルカッターを使い、すじをいれてから割りました。

また、穴あけは電動ドリルを使いました。
最初に1.5mmのドリルで下穴をあけ、その後2.5mmのドリルでさらに穴を広げました。
最後にネジをねじ込み、ねじ穴をあけました。

今回の改良で少し使いやすくなったかと思います。今後も改良していく予定です。


psoc_case3.jpg
↑穴を開けたアクリル板

psoc_case4.jpg psoc_case5.jpg

↑ネジで止めたところ                      ↑裏側

psoc_case6.jpg psoc_case7.jpg

↑基板裏側アップ。今回は2mm厚のアクリル板使用  ↑完成イメージ(まだ保護ビニールを全てはがしておらず、配線もはずしてある状態)

2007年01月28日

LM386を使ったミニアンプ

最近、PSoCでSDカードモジュールを使いSDカードの読み書きの実験を行ってきました。
せっかくSDカードが扱えるので、SDカード上のWAVEファイルをPSoCで再生できたらおもしろそうだと思いました。

やり方はSDカードからデータを読み出して一定間隔でDA変換していくだけ・・・のようです。
調べてみた結果、以下のサイトが見つかりました。

H8で音声データを扱ってみよう

このサイトではLM386を使ったアンプを使っています。
部品も少なくてすみそうです。そこで私も作って見ました。

◆リンク
以下が参考にさせていただいたサイトです。というか、回路図はこれらのサイトのをほぼそのまま作ってみました(笑)

LM386 パワーアンプIC

NJM386(LM386)ステレオアンプを作りました

LM380とLM386

まどかの 自 己 満 足 日記


◆写真
実際に完成したのは以下の写真の通りです。
半田付けする部品も少なく、短時間で作れました。
現在、ゲインは20倍になっているため、期待したより音は大きくできませんでした。
1番と8番ピンにコンデンサ(10μF)をいれるとゲインは200倍になるそうなので、後日試してみたいと思います。

miniamp_a.jpg
↑全体図です。一部半田付けしていないのはテスト用にミノムシクリップではさんで使ったため。

miniamp_b.jpg
↑たったこれだけの部品でできてしまう。コンパクトに作れるのがいいところです。


・・・で、肝心のWAVEファイルの再生ですが、まだできていません。
いろいろ試しましたが、SDカードの読み出し速度が遅すぎでうまくできそうにありません。
私の使い方が悪いのかとなやみましたが、どうやらモジュールの制限のようです。

ユーザモジュールのデータシートによると、
書き込み・・・2250 Bytes/Second
読み出し・・・2800 Bytes/Second
のようです。どうやらこれがユーザモジュールの限界・・・??
もしもっと速く読み書きする方法があるなら、教えてください・・・。


◆PSoCに関するおまけ情報
PSoCのユーザモジュールのデータシートはデフォルト設定でインストールしているなら

C:\Program Files\Cypress MicroSystems\PSoC Designer\Data\Stdum

にありますので、印刷したいときはここからするとよいです。

このとき、IEだと表が壊れてしまう(うまく印刷されない)ので、
Operaなどを使って印刷することをお勧めします。

2007年01月20日

PSoCでDA変換 - DAC8を使ってみる

PSoCのDA変換モジュールDAC8を使ってみました。
使い方は簡単で、以下のサンプルソースのようにすれば大丈夫です。

このサンプルではP0[3]の出力電圧が変化します。
ディレイもいれてあるのでテスターを当てて調べてみると、
電圧がだんだん高くなっていき、また下がる様子がわかります。
(0[V]→5[V]の繰り返し)

今回はPSoC、CY8C29466で実験しました。
このデバイスはアナログ出力が
P0[2]〜P0[5]
のポートでしかできないので注意が必要です。
(私はLCDモジュールをPort0で使っているのでちょっと困りました。)


◆ソースコード



◆DAC8で変換する際の注意点
DAC8を動かす際、周波数の設定に注意する必要があります。
分周しないでVC1 = 24MHzのままやってしまったりすると動作しません(常に2.4V前後になってしまったりする)
VC1 = SysClk / 16では大丈夫でした。

参考記事:PSoCフォーラムの記事




PSoC_DAC8.png
↑デザイナでの設定


◆プロジェクトファイル
作成したプロジェクトファイルをこちらにおいておきます。

2007年01月17日

初めてのケース加工

以前から、自分で電子工作で作ったものをケースにいれてみたいと思っていました。
しかし、ネックになるのはケースの加工です。特に金属ケースの加工は道具もいろいろ必要になるので今までは敬遠してきました。今回、思い切って道具をそろえ、挑戦してみました。

以前作成したPSoC実験ボードをアルミケースにいれてみました。


◆ケース加工の際、参考になるサイト

電子工作用道具の使い方ノウハウ
穴あけノウハウなどが大変参考になります。電子工作に使う道具を解説している貴重なサイトです。)

上記のサイトを参考に、
・電動ドリル
・ドリル刃
・リーマ
・ヤスリ
・糸鋸
・TAKACHIの小型アルミケース [YM−130]
・スペーサ・ネジ・ナット
・ケース用のLED・スイッチ・DCジャック部品
などを購入しました。

ドリルは
BLACK&DECKER 14.4Vコードレスドリルドライバー Z-SX4000
が比較的安価(8800円程度)で高性能のようだったのでこちらにしました。


また、余談ですが、
電子マスカットのページのデジタルアラームクロック6ページ目などもケース加工の際、参考になるかもしれません。解説が丁寧で写真が多いので楽しいページです)


実際に完成したものが以下の写真です。
いろいろ失敗しましたが、アルミのケースの加工がだいたいどんな感じなのかわかりました。
やはりケースに入ると取り扱いしやすく、少しかっこいいです。(開発はしにくくなりますが。)

今回の経験を生かして次回はもう少しきれいに作りたいと思います。

(今回ケースに組み込むにあたり、今まで基板についていたLEDをとったり、ケースに入れる都合上コネクタをとってしまったりしたため、基板は汚くなってしまいました。ちょっと残念です。外からは見えないのですが・・・。)


psoc_case2.jpg
↑LCD付近

psoc_case1.jpg
↑全体図。LCD右側が悲惨なことにorz

2007年01月12日

LCDカーソルのON/OFF - PSoC

PSoCのLCDのユーザモジュールは標準ではカーソルが表示されません。

今回は、LCDを扱う際、カーソルのON/OFFをしたい場合どうしたらよいか、メモしておきます。
どうするかというと、LCD_1.asmに少し追加するだけでOKです。

追加すると、APIが増えたような感じで、手軽にカーソルのONとOFFができます。

lcd_cur.png
↑LCDへのカーソルの表示


;以下を先頭付近に追加(私はGlobal Symbolsのところに入れました)




;以下がカーソルONとOFFの新しいAPI(LCD_1_InitVBGの後ろなど、適当なところに追加)



あとはカーソルをONにしたいところで、
LCD_1_CurON(); //カーソルON

OFFにしたいところで
LCD_1_CurOFF(); //カーソルOFF
と書くだけです。

(コンパイルすると警告が出ますが、たぶん大丈夫です。)

2007年01月08日

PSoCでロータリーエンコーダを使ってみる

◆概要

ロータリーエンコーダとは、下の写真のように「回す」ものです。

encoder.jpg

マイコンにつけて使うと、使いやすいインターフェイスを実現できます。
実際に、身の回りのものでは電子レンジなどに使われています。

私はいままではあまり気にしていませんでしたが、秋月のあるキットに使われており、
けっこう使いやすい(回して操作するのが面白い)ことがわかったので使ってみたくなりました。

そこでネットで検索したところ、わかりやすいサイトがでてきたので、ロータリーエンコーダを買って
PSoCにつなげてみました。



◆リンク

参考になるサイトは以下のとおりです。


ロータリーエンコーダを使う
↑ロータリーエンコーダの仕組みや配線方法がわかります。

ロータリーエンコーダの使い方
↑ロータリーエンコーダを使う際、どのように実装したらよいのかがわかりやすいです。


基本的にはこれらのサイトさえ見てしまえば、大丈夫だと思います(笑)
特にChaNさんのインクリメンタル型ロータリーエンコーダの回転方向を演算により判定する方法
は役に立ちました。A相と B相をバイナリコードとして見るということと、その処理の方法がポイントでした。



◆PSoCでの作成

接続はこのような感じにしました。参考にしたサイトのものと同じです。
(LCDはポート0にしています。)

encoder_kairo.png




◆プロジェクト

ここに、PSoC版のプロジェクトを上げておきます。
例によってやっつけなコードですが、とりあえず
エンコーダがどちらに回されたかを取得してLCDに表示する
ことができました。

(コメントアウトしてありますが、デバッグ用にシリアル通信で値を出力させるコードもついています)



※サンプルプロジェクト、プログラム中のコメントが左右逆になっています。orz
入れ替えてください・・・。

2007年01月07日

PSoCでSDカードを読み書きする2

前回、SDカードのユーザモジュールのデータシートに載っているサンプル(SDカードへのテキストデータの書き出し)を動かしてみました。
今回は書き込みではなく、SDカードのテキストデータを読み出すプログラムを作ってみました。

データシートを見ながら作ってみたのが次のコードです。前回のコードを改変して使用しました。
また、読み取ったテキストデータを見るために、シリアル通信を使っています。

◆ソースコード(主な部分のみ)


sd_read_text.png
↑SDカードに格納されているものテキストファイル(左)を読み出し、
シリアル通信でPCに送ってみました(右)
一応できてはいますが、動作確認はまだ充分にとっていません。
(追記:ファイルサイズがそんなに大きくなくてもなんかうまくいかないことがあります。
その場合は読み込み部分を
sd_data = SDCard_fbgetc(fp);ではなく
sd_data = SDCard_fgetc(fp);にしてみてください。



◆作成したプロジェクトファイル
作成したプロジェクトファイルをこちらにおいておきます。

(※いろいろテストしたため、ソースはコメントアウトが多く、ぐちゃぐちゃになっていますがご了承ください)
(※ファイルのサイズが大きいときはこのままのコードではうまく動きません。(変数jがオーバーフロウする)
(※クロックが外部クロックになっているかもしれません。必要に応じて内部に設定し直して下さい)

PSoCでSDカードを読み書きする

PSoCのSDカードのユーザモジュールを使ってSDカードを読み書きしてみました。
ユーザモジュールを使えば簡単にSDカードの読み書きができます。
しかもFATに対応しているので、書き込んだデータをパソコンで見ることもでき非常に便利です。


sd_module.png
↑PSoCのSDカードのユーザモジュール

◆使ったもの
主に以下の部品で構成しました。

PSoC CY8C29466−24PXI(CY8C27443は対応していません)
・SDカード(128MBの500円のもの)
SDカードスロット(変換基盤もありますが、高いので私はこちらを使いました)
・3.3Vの三端子レギュレータ(PSoCには5Vを供給したため)


◆SDカードスロットについて(ピン配置)

一瞬、ピン配置がどうなっているのか(SD_WPとSD_CDがどっちか)とまどいますが、テスターを当てたり、カードを抜き差ししてみると以下のようになっていることがわかります。

sd_socket.png
↑SDカードスロットのピン配置


◆作成
SDカードユーザモジュールのデータシートのサンプルの通りにつなぎました。
SDカードスロットの取り付けが少し大変でしたが(力づくでとめました(笑))、それ以外は特に難しい点はありません。

psoc_sd_1.jpg psoc_sd_2.jpg

psoc_sd_3.jpg psoc_sd_4.jpg
↑作成したSDカードの実験ボード

◆動作確認
データシートに記載されていたサンプルプログラムを動かしました。
これはSDカードをスロットにさすとSDカードのルートに"hello.txt"というファイル名で
"Hello World"と書かれたテキストを作成するものです。

データシートのサンプルコードはわかりやすいコメントがついているのでおすすめです。

sd_text_file.png
↑作成されたテキストファイル。作成日時が2004年9月だったりしてなんか変ですがしかたがない。


◆注意点 (と、私がはまった点)

●実験に使うSDカードには重要なデータは入れておかないようにしましょう。
もし失敗してSDカードが認識できなくなったらSDカードをフォーマットする必要があるからです。

このとき、Windowsのエクスプローラを使ってフォーマットするとSDカードが認識できなくなることがあります。
(私はこれで半日はまりました)

フォーマットするときは、
SD/SDHCメモリーカード フォーマットソフトウェア
を使わないといけません。ご注意ください。

●SD Cardモジュールは現在サブディレクトリのファイルには対応していないらしいです。
ルートディレクトリのファイルのみ扱えます。



以下、はまった点
●いつのまにかデバイスエディタの設定が変わっていた(動かなかったらもう一度確認を!)

●クロックは後で考えようと思い、適当にVC2にして放置していたら、
実はVC2を分周するのを忘れ、クロックが24MHzのままになっていた(動かない)

●両面スルーホールの基板の両面に配線していたら、一箇所上と下でつながってはいけないところがつながっていた。(SD_RES1がGNDとつながっていました)


◆作成したプロジェクトファイル
作成したプロジェクトファイルをこちらにおいておきます。
参考にしていただければ幸いです。
(※いろいろテストしたため、ソースはコメントアウトが多く、ぐちゃぐちゃになっていますがご了承ください)


続きはこちら

2007年01月06日

PSoCで外部EEPROMを使う(I2C接続)

 PSoCで外部EEPROMを使う場合、どのようにしたらよいのかメモしておきます。
今回はI2C接続のものを使いました。

 さて、今回は使うデバイスはシリアルI2C EEPROM 24C256(マイクロチップ)です。
サイズは小さいですが、1個 160円だったのでこれにしました。
(最初はアトメル製 256kビットEEPROM 24C256にしようかと思ったのですが、
秋月の店員さんが間違えて、こちらになってしまいました(苦笑))


 I2Cで読み出しや書き込みをしたいので、
PSoCのユーザモジュール"I2Cm"を使いました。
psoc_i2cm.png
↑PSoCのユーザモジュール"I2Cm"



 また、接続は次の図の通りにしました。
SDAはPSoC側のP1[5]、SCLはP1[7]に接続しました。
(PSoCはCY8C27443-28PXIを使用)

eeprom_c.png
↑EEPROMの接続(周辺部分のみ)



 I2CmとEEPROMのデータシートを見ながらプログラムを作成していきます。
以下はEEPROMのデータシートの一部に色をつけ、今回のプログラムとの対応関係をわかりやすくした図です。なお、今回は簡単のためエラーチェックは省きました。



 今回、複数のEEPROMは使わないのでA0〜A2はGNDに落としました。
(同じバス上に複数のEEPROMをつけたい場合はA0〜A2の接続方法を変えることにより区別します)
よってChip Select Bitsの部分は000となります。
そして、Control Codeの部分は固定になっています。

 したがって、以下の図を見ればわかるように、APIの

BYTE I2Cm_fSendStart( BYTE bSlaveAddr, BYTE fRW );

のbSlaveAddr部分は0x50となります。



eeprom_a.png
↑Slave Addressの決め方(図はEEPROMのデータシートより)



 さて、実際のデータの読み書きはどうしたらよいでしょう。
EEPROMのデータシートを見てみましょう。
いろいろ書いてありますが、特に下の図の部分が重要です。

 すでにI2CmのAPIに必要なものはそろっているので、おおざっぱにいえば以下のようにコードを書けばOKです。
図の同じ色の部分がそれぞれ対応しています。
addressには0〜0x7FFFまでの値を指定できます。


eeprom_b.png
↑データの書き方と読み方(1byte単位。図はEEPROMのデータシートより)



作成したプロジェクトファイルをこちらにおいておきます。
これは
1.EEPROMのアドレス0x10CAの現在のデータを読み込んでLCDに表示
2.EEPROMのアドレス0x10CAにデータ0xABを書き込む
3.EEPROMのアドレス0x10CAの現在のデータを読み込むに表示
という単純なものです。
(LCDはポート2に接続しており、表示にはユーザモジュール"LCD"を使用しています。)

※EEPROMに書き込む際は少し時間がかかるので適当な長さのディレイを入れてあげてください。
※PSoCに接続する際、ポートが違う場合は設定を各自適当に変更してください。

PSoCで温度と明るさを記録

 PSoCデータロガー(?)の続報です。

 以下が、以前の記事で書いたとおに、PSoCデザイナでのAD変換の設定を直した後計測された温度データです。
前回は変な値が記録されて、がたがたのグラフになっていましたが今回は大丈夫です。

 測定場所は屋内の、あまり日の当たらない部屋です。(午前中のみ日が入る)
この部屋は測定中に暖房をつけなかったのでずっと寒いままです。
もう少し温度の変動があると思いましたが、あまり変わりませんでした。
午後に多少温度が上がる程度で、午前4時ごろに少し冷え込みますが、あまり面白くないデータでした。


sensor_temp_0114_0115.png
↑測定された温度データ。1つになるのは1月5日の16時ごろに少し温度が上昇していること。いったい何が・・・?
最初のほうの温度データが高いのは、暖かい部屋から温度センサを移動してから時間があまりたっていないため、センサがまだ周囲の温度になじんでいないためです。


おまけにCdSを使って計った明るさデータも載せておきます。

今は冬なので日の出も遅く、7時ごろから明るくなって、8時半ごろが明るさのピークです。
後は徐々に暗くなる感じです。17時ごろにはもう真っ暗になっています。
そういう部屋なのです(午後は薄暗いorz)


sensor_cds_0114_0115.png
↑例によって"暗さ"のデータ。
(わかりにくいので63から測定値を引いた値に直してからプロットしたほうがいいのだろうか・・・。)

2007年01月05日

アイコンが壊れた!?

今日、Windowsを使用中にフルスクリーンのプログラム(ゲーム)から
デスクトップ画面に切り替えたらアイコンが壊れました。
フォルダアイコンもファイルアイコン(不明なファイルのもの)で表示されてしまいます。
再起動しても直りません;;
いろいろ探したところ、以下のサイトを見ながら
http://www.yoshibaworks.com/ayacy/inasoft/webhelp/sdfr4/HLP000037.html

C:\Documents and Settings\(ユーザー名)\Local Settings\Application Data
にあるIconCache.dbを削除して、再起動したら直りました。
(私の使っているOSはWindows XPです)

☆トラブルの際にはインターネットが便利ですね。本当に助かります。記事を書いてくれる人に感謝☆

以下、参照した記事の内容の一部です。
※「このページに書かれている内容は、自由に転載していただいて構いません」とのことなのでメモしておきます。

●原因  Windowsには、ttfCacheという文字をすばやく表示させるためのファイルと、shellIconCache(またはIconCache.db)という、アイコンをすばやく表示させるためのファイルがあります。これらのファイルが破損すると、アイコンやボタンの表示が乱れたり壊れたりします。

●修復方法
 この問題を解消するには、次のいずれかの方法を試します。

Windowsフォルダの中にあるttfCacheとshellIconCache(共に隠しファイルになっている)を削除する。(Windows 95〜2000の場合)

\Documents and Settings\(ユーザー名)\Local Settings\Application Dataまたは\Documents and Settings\(ユーザー名)\Application Dataフォルダの中にあるIconCache.db(隠しファイルになっている)を削除する。(Windows XPの場合)

一度だけセーフモードで起動する。(Windows 95〜Meの場合)

2007年01月04日

PSoCで明るさデータを記録する

以前の記事でとりあげたように、PSoC実験ボードを使い明るさを記録するものをつくりました。

■測定方法
明るさの測定はCdSを使います。明るさ測定の回路は以下の通りです。
CdS_Setsuzoku.png

抵抗で電圧を分圧し、電圧をAD変換することで数値(明るさ)を得るだけの簡単なものです。
今回の接続の場合、明るければ明るいほど数値は小さく、暗ければ暗いほど数値は大きくなります。
今回、AD変換には6bitのものを使っているので数値は0〜2^6-1、つまり0〜63がでてきます。

■測定間隔
1分おきにデータを外部EEPROMに記録することにしました。

■読み出し
PCへのデータの読み出しはシリアル通信を使いました。
PC側のソフトウェアはTeraTermを使いました。それをCSV形式のファイルで保存し、Excelでグラフを作成しました。

SensorLogyomidasi.png
↑CSV形式でデータが送られてくる

■グラフ
グラフを見ながら簡単なメモをつけてみました。
測定場所は室内のPCのそばです。
なかなか明るさだけでも面白いデータが取れました。
今度は温度も記録してみようと思います。

明るさ(16進数)明るさ(10進数)目安
1016けっこう明るい
1B27明るい
3048うす暗い
3F63まっくら

psoc_logger_cds.jpg
↑読み出したデータから作成した'暗さのグラフ'。明るさではないので注意です。AD変換した結果をそのままプロットしました。

PSoCでAD変換をする際の注意点

 最近は温度センサの出力を使って遊んでいます。

 さて、ある日温度センサの出力をPSoCでAD変換してみました。
ほぼ正しい値がでるものの、どうも値がふらふらしてしまい安定しません。
まれに異常な値が出ることもあります。

 これでは困るのでネットで検索してみたところ、
PSoCフォーラムの記事に気になることが書いてあったので参考にして
AnalogColumn_Clock_0 を TMR Clock、CNT Clock と同じ VC2 に直したところ、
安定して動くようになりました。

(データシートにも書いてあるらしいです。データシートに

CAUTION It is imperative that the same clock be used for all three blocks or this user module will not function correctly.

という記述がありますが、これでしょうか。よくわかりませんが、直ってよかったです。)


PSoC_ADCINC12.png
↑ユーザモジュールのパラメータしか見ていないため、気づいていませんでした。
最初はVC1になっていました。PSoCって難しい・・・。



ちなみに、AD変換が不安定のままで温度データのログを取ったら以下のようになりました。
がたがたでひどいです(苦笑)

sensor_temp_miss.png
↑一応ある程度温度データの流れはわかるものの・・・ひどい。
測定場所は室内です。




◆AD変換のサンプル (2007/03/09追加)
作成したプロジェクトファイルをこちらにおいておきます。
AD変換をする際に参考にしてもらえれば幸いです。

このサンプルでは、AD変換を行い、結果をLCDに表示します(16進数 / 12bit)
また、AD変換の結果によって点灯するLEDが変わるようになっています(4段階)

◆AD変換のサンプルその2 (2007/03/11追加)
作成したプロジェクトファイルをこちらにおいておきます。
AD変換をする際に参考にしてもらえれば幸いです。

このサンプルでは、AD変換を行い、結果をLCDに表示します(16進数 / 8bit)
また、AD変換の結果によって点灯するLEDが変わるようになっています(256段階)

※これらのサンプルではPSoCは
CY8C27643-24LFXI
を使いました。
また、ユーザモジュールはADCINC12を使用しています。

CPU温度上昇

本日、普通にパソコンを使っていたところ警告が出ました。
CPUの温度が高すぎるとのことです。

cpu_temp70.png

夏ならわかりますが、冬なのに温度上昇です。
特にいつもと違うところはないはずなのに、どうしたのでしょう。
違うところといえば、いつもよりファンの回転数が少ないような・・・。
とりあえず、今度パソコンの掃除をしてみようと思います。

2007年01月01日

2007年

あけましておめでとうございます。
2007年になりました。
今年もよい一年になりますように。