仕事で使っている機器に不具合。
温湿度センサーの不調が疑われるとのこと。
シマデン TH71から、温湿度指示調整器 SR92が2台つながっている構成。
かなり古い機器であり、
シマデンさんからは、寿命であると断言。代替えを発注、受注生産のため、納期(3)週間とのこと。
しかしこの機械、今止めるわけにはいかんのです。
I2Cではありませんがデジタルで読めるものです。
仕事で使っている機器に不具合。
温湿度センサーの不調が疑われるとのこと。
シマデン TH71から、温湿度指示調整器 SR92が2台つながっている構成。
かなり古い機器であり、
シマデンさんからは、寿命であると断言。代替えを発注、受注生産のため、納期(3)週間とのこと。
しかしこの機械、今止めるわけにはいかんのです。
メインのデスクトップの画面はThunderbolt display二台なんですが、片方を認識しなくなってしまいました。
多くのサイトで、ケーブル交換で治る、と書いてあります。
8万円ぐらいの製品ですが、同じ大きさの普通のモニタは20000円ぐらいで買えるし、何より軽いんですよね。
治すかどうかしばらく悩みつつ、apple cinema displayをつないでごまかしていましたが
やはり同じ大きさじゃないと並べて使うのは難しい。
いよいよ修理を決心しました。
ここだけT06です。
さらに、ブラケット周りのねじを外して、ケーブルを引き抜きます。
Arduino + RTC + Hブリッジで行けそうかと思っております。
とり合えず書いたスケッチを。
#include <DS3232RTC.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
const char *weekStr[7] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
const int DIN_PIN = 8;
void setup() {
// use pins for pulse
pinMode(DIN_PIN, INPUT_PULLUP );
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
///// 時刻の設定 /////
// 時刻設定時のみ以下2行のコメントアウト(//)する
// setTime(12, 26, 30, 14, 1, 2022); // 時,分,秒,日,月,年の順で設定
// RTC.set(now());
setSyncProvider(RTC.get);
lcd.init();
lcd.backlight();
}
void loop() {
int value;
value = digitalRead( DIN_PIN );
//早送りモードの条件 pin8をアースに落とす 5秒で2パルス
if (value == LOW) {
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
delay (2000);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
delay(1000);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
delay (2000);
lcd.init();
lcd.setCursor(0, 0);
lcd.print("FORWARD>>>");
} else
//以下通常時計動作
{
lcd.setCursor(0, 0);
lcd.print(year());
lcd.print("/");
if (month() < 10) {
lcd.print("0");
}
lcd.print(month());
lcd.print("/");
if (day() < 10) {
lcd.print("0");
}
lcd.print(day());
lcd.print(" ");
lcd.print(weekStr[weekday() - 1]);
lcd.setCursor(0, 1);
if (hour() < 10) {
lcd.print("0");
}
lcd.print(hour());
lcd.print(":");
if (minute() < 10) {
lcd.print("0");
}
lcd.print(minute());
lcd.print(":");
if (second() < 10) {
lcd.print("0");
}
lcd.print(second());
//秒数が 0,1秒、30,31秒のときだけpin 6,7出力する。(パルス幅2秒)
if (second() == 30 || second() == 31) {
digitalWrite(6, HIGH);
} else
digitalWrite(6, LOW);
if (second() == 0 || second() == 1) {
digitalWrite(7, HIGH);
} else
digitalWrite(7, LOW);
delay(1000); // 1秒でループ
}
}
とりあえずブレッドボードで動作確認。
CHISUBOX V1.8.1(OS X)が極めて不安定で途中で異常終了してしまう。
やむをえず 1.9.にアップデートしたところ、プリンタ側のファームウェアアップデートを余儀なくされた。
いろいろ検索するとちょっと面倒な時もあるようですが、
結局のところ
USBのrootフォルダにファイルをいれて起動する
そのごprintボタンから、二つのファイルを指定する
ということのようです。
いかのような記載があり。再起動。
ファイルの残りをプリントボタンから明示。
てことのようです。
Restart the machine, the update file .SH4 will be updated automatically, after the successful update there will be a beeping sound and restart the machine
④Print the remaining files to be updated on the printer in the following order: .CBD > .txt
Caution: The.SH4 file will be automatically updated after restarting the machine in the shutdown state.
ひょんなことから、設備時計の子時計を入手。
arduinoで動かせるかやってみることにしました。
まずは先人たちの記録を探します。
24V/30secのパルスを極性を変えつつ発生させればいいようです。
コンセントから電源は取らざるを得ないでしょうね。
参考にした場所
https://sound-au.com/clocks/arduino.html
http://atmk.sakura.ne.jp/site2/radio/masterclock.htm
https://www.instructables.com/Arduino-based-master-clock-for-schools/
https://www.instructables.com/Arduino-LCD-Master-Clock/
https://www.marutsu.co.jp/contents/shop/marutsu/mame/64.html