駆動部分があるため、ブルーレイドライブの次に故障しやすいハードディスク。シャープ製のブルーレイディスクレコーダーの修理の難易度は高いことで知られており、それゆえに故障したレコーダーはフリマサイトなどで比較的安価に手に入れることができます。
一般的に、シャープ製品でHDDを換装するには、製品情報が書き込まれたHDD(オリジナルのディスクをセクタ単位でクローンしたもの)を、サービスマンモードでレコーダーに認識させる必要があります。このサービスマンモードに入ためには、特殊なリモコンコードを本体に送信しなくてはいけません。
」を使って送信する方法が紹介されていますが、Windowsパソコンが必要という制約があります。ですが、「送信コードを正確に送信する」ことができればよいので、手持ちの
そのArduinoによるコード例がこちらになります。11番ピンに接続したタクトスイッチを押すと、USB赤外線リモコンからのコマンド「BtoIrRemocon.exe C1AA5A8F30F501」に相当する信号を、Arduinoライブラリ「IRremote」を使って、3番ピンに接続した赤外線LEDにて発信します。
serviceman.ino
#include <IRremote.h>
#define SWITCH_PIN 11
#define LED_PIN 3
const uint16_t rawData[] = {
3200,1600,400,400,400,1200,400,400,400,1200,
400,400,400,1200,400,400,400,1200,400,400,
400,1200,400,400,400,1200,400,1200,400,400,
400,1200,400,400,400,1200,400,1200,400,1200,
400,1200,400,400,400,400,400,400,400,1200,
400,400,400,400,400,400,400,400,400,1200,
400,1200,400,400,400,400,400,1200,400,400,
400,1200,400,400,400,1200,400,1200,400,1200,
400,1200,400,1200,400,400,400,400,400,400,
400,400,400,400,400,400,400,400,400
};
void setup()
{
Serial.begin(9600);
pinMode(SWITCH_PIN, INPUT_PULLUP);
IrSender.begin(LED_PIN, true);
Serial.println("Ready.");
}
void loop() {
if (digitalRead(SWITCH_PIN) == LOW) {
Serial.println("Send");
IrSender.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), KASEIKYO_KHZ);
delay(1000);
}
}
ちなみに、テレビ画面に「ハードディスクにエラーが発生しましたので一部の機能がご利用できません」と表示されて設定画面に移動できないようであれば、リモコンの「戻る」ボタンを押して該当メッセージを消すと、操作を受け付けるようになります。