Vol.715 12.May.2017

Aruduino(5)〜I2Cで時計表示〜 USBのLED電源が切れない(APM) Xpマシンの復帰

A Aruduino (5) 〜I2Cで時計表示〜

by fjk

abc714ではI2C接続LCD表示を紹介したが、もう少し実用的な応用として、リアルタイムモジュール(RTC-8564NB)を使って、「年月日・時分秒」を液晶LCD(AQM0802M)に表示させることにした。
 ネット上で同様の応用例がないか調べたところ、すぐ使えそうなスケッチ例が紹介されており、これをそのまま読み込んでArduino-UNOに書き込んでみたところ、全く動作しなかった。スケッチを確認してみると、RTCのアドレスが32Hとなっており、付属マニュアルに記述された51Hと異なっていた。そこで、RTCアドレスを変更し、再度Arduino-UNOに書き混んでみたところ、今度はLCDに文字が表示されるが、数値はデタラメでコロコロと変わり安定しない。どうも正しいレジスタアドレスが設定されていないらしい。Wireの基本に戻って以下のようにRTCの「書き込み」と「読み出し」プログラムを作成したところ、何とか正しい表示が出来るようになった。
 なお、RTCの内部データはBCDデータとなっているので、整数データをBCDに変換して書き込み、読み出し時には2進数に変換した。また、プッシュボタンを押すと、「秒表示」と「曜日表示」を変更できる。

【おまけ】
 RTC-8564NBには曜日の自動設定機能が無いので、曜日データ(0-6)を得るには、下記に示す「ツェラーの式」が便利。
 0(日曜日)〜6(土曜日)を返す(y:年、m:月、d:日)



U USBのLED電源が切れない(APM)

by fjk

H170M-PlUSマザーボードのマシンで、電源をoffにしたにも関わらず、スロットに装着したカードリーダーのLED電源ランプが点灯したままとなる(起動スタンバイ状態)。
 PC/AT互換機時代からBIOSにはパソコンの電源を管理するAdvanced_Power_Managimentと呼ばれる機能がある。最近のマシンではOSレベルで電源を管理するACPIも増えているが、未だにAPMを備えているものも少なくない。H170M-PLUSもAPMがある。
 ユーザマニュアルを見てみると、delキーを押しながらパソコンを起動するとBIOSモードに入ることができ、さらにAdvancedとすすみ、2.6.8_APM_ConfigurationでErPReadyをクリックし、「S4+S5を有効にする」を選択し、f10で「更新して終了」を実行すると、シャットダウン時にLED電源が消えるようになりました。
 ASUSマザーボードの例ですが、他のマザーボードでも同様の機能がありそうなので、参考まで。



X Xpマシンの復帰

by fjk

まだまだ現役のwindowsXpマシンが、突然応答が遅くなり、再起動を指示したところ、BIOS画面も表示されず、起動しなくなった。いよいよ寿命かと思いつつ、パソコンを持ち上げてみると、中で音がする。abc-545と同じように、再び放熱フィンが外れたようである。ケースを開けてみるとやはり、アルミのフィンが中で転がっていた。マザーボードを取り外し、フィンの固定ピンの穴に0.8mmのドリルを通して広げ、固定ピンを前回よりも深く差し込んで半田付けし、フィンを取り付けた。また、ノイズが発生していたCPUファン(40mm角、t=10mm)も新品に交換した。
 パソコンを元に組み立て直し通電するとマザーボードの電源LEDが点灯、電源ボタンを押してみるがファンも回らず、全く起動しない。やはりダメかと、バックアップバッテリ(CR2032)を新品に交換し、念のために、PowerSwitchに手持ちのプッシュスイッチをつけて押してみると、今度はファンが回り出し、windowsXpも起動した。故障の根本的原因はケースのプッシュスイッチの不良であった。ケースのスイッチを取り外し、新品のDipタイプのスイッチに交換し、再度組み立て直して、ケースの電源スイッチを押すと、BIOS画面が表示され、WindowsXpも正常に起動した。
 これで、Xpの寿命がまた延びることになった。
外れたアルミ放熱フィン ケースの不良スイッチ


Aruduino(5)〜I2Cで時計表示〜 USBのLED電源が切れない(APM) Xpマシンの復帰