2022年1月5日水曜日

親子時計(設備時計)をうごかす 3 パルス発生装置

 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秒でループ

  }

}


とりあえずブレッドボードで動作確認。


2022年1月2日日曜日

Elegoo Mars 2 pro ファームウェア アップデート

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. 

親子時計(設備時計)を動かす1

ひょんなことから、設備時計の子時計を入手。

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


親子時計(設備時計)を動かす2

 

入手した設備時計 の子時計。

SA-22
2000オーム
I.C.-CIRIZEN
とあります。


両面にあって、ラッチでアルミの箱に固定されており、導線が各2本。


文字盤はこんな感じ。