micooke / wwvb_jjy

Arduino library to transmit WWVB and JJY with a 40kHz or 60kHz carrier
MIT License
36 stars 1 forks source link

Couple of questions #3

Open andmarti1424 opened 4 years ago

andmarti1424 commented 4 years ago

Hello. Sorry I created an issue for this. They are just questions.

I am planning on implementing this for a Casio G-Shock GW-M5610 since there is no time radiowave reception where I live. My idea is to use an Arduino Pro Mini and read from an NTP server and transmits (using PWM) to the near field casio watch. I commented WWVB_JJY_PAM define and set this define:

define WWVB_JJY_PWM

I would be very grateful if you can help me answering this questions:

  1. How would be the minimum schematic without the debug circuit (led, capacitor and resistor)? Just the antenna to digital pin 9?
  2. If so, would a plain wire do the work for a watch standing by a couple of centimeters apart?

Thank you!!

micooke commented 4 years ago

No problemo, happy to help.

So just a heads up that this project didn't work for the Casio Lineage LCW-M170TD-7AJF (but did for 3x WWVB desk clocks) so you may have everything right and it might not work.

Loop antennas work better than whip antennas for this.

I would use (see the middle diagram in my readme pic) a loop of wire from the output pin and terminating it to ground through a limiting resistor (50 - 100 ohms should be fine) or led. A loop of about 5cm diameter, 5 or so turns should work well (that was my debug setup from memory).

andmarti1424 commented 4 years ago

Thank you. WIll try that! I have also found the app JJYEmulator for android. Will try that as well, but my idea is to do it automatically, and not depend on a phone.

andmarti1424 commented 4 years ago

Im not having success with this yet. wwvb_jjy.init(); by default set it at JJY, 40kHz??? Thanks!

micooke commented 4 years ago

For JJY you need to include #define WWVB_TIMECODE 0 // JJY before #include <wwvb_jjy.h>

I believe it's at 60kHz, but I'll have another look to see if I included code for 40kHz

PBCNX commented 4 years ago

Sorry to comment on this, i am also planning this with some of my Japanese desk clocks which use JJY. Plan is to power them on POE and use NTP for time sync. Are there available graphical schematics and source code alterations on this.

micooke commented 4 years ago

Yeah whooops, I forgot to respond to this. Check out my example (that I just fixed) https://github.com/micooke/wwvb_jjy/blob/master/examples/wwvb_jjy_tx/wwvb_jjy_tx.ino. You set JJY (instead of WWVB) by setting #define WWVB_TIMECODE 0 // JJY before #include <wwvb_jjy.h>. Which is in that example.

Pinout is as per the readme.md. The default uses PWM so just a single pin out to a whip antenna or through an led (it will pulse with the code - neat or annoying?) or resistor (as above) through wire, looped a couple turns, and then to ground.

Start with this, if it works then you just need to get the time off NTP etc. Which will need e.g. a ethernet daughterboard as IIRC my code is atmel specific i.e. It wont work with an esp8266!? The example shows you how to set the time, so that bit should be straight forward.

PBCNX commented 3 years ago

I tried using the whip antenna technique using the minimum. haven't implemented the NTP yet. so far no success on pyxis nq501s but it syncs using an android jjy emulator app. question Is this modulating at 60 or 40 JJY?

micooke commented 3 years ago

I checked the source and it does correctly use 40kHz if setup for JJY.

PBCNX commented 3 years ago

It detects the 40khz signal, but looks like my watch performs better on the 60khz modulation. any way to use 60khz on JJY?

micooke commented 3 years ago

The carrier is set in the input function; wwvb_jjy.init(60000); will set it to 60kHz.

The comment I have in my examples actually points to this