Simple easy programmable muliti day alarm clock.

Argh, this is frustrating.

Dr Liu,

I worked out what you meant and so went in and edited the SKETCH.

I changed the < > to " " and clicked compile.

Alas this is what I got - well I got a lot more, but this is the part of interest just now:

C:\Program Files\arduino-1.0\libraries\Phi_2_testing_v2\DS1307.cpp:7:24: error: WProgram.h: No such file or directory
In file included from C:\Program Files\arduino-1.0\libraries\Phi_2_testing_v2\DS1307.cpp:9:
C:\Program Files\arduino-1.0\libraries\Phi_2_testing_v2/DS1307_1.h:12:25: error: WConstants.h: No such file or directory
In file included from C:\Program Files\arduino-1.0\libraries\Phi_2_testing_v2\DS1307.cpp:9:

Alas the .cpp files are text, but opening them with NOTEPAD is painful.
I shall have to try and get WORDPAD to open them, but this is not as easy as I would like.

Anyway:
WProgram.h

Ok, went looking.

No where.

Attached is a screen shot of all the libraries I have. Don't worry about the path, this is just one of my copies.

Not trying to be difficult, but I am puzzled by how these < > and " " work.

Ok, " " around the INCLUDE makes the program to look in that directory for the files - relative.
And < > seems to point it..... Where?
Where is this path specified?
Can I change it?

Sorry for the multiple replies.

I am posting as I find problems.

In your reply about the buzzer output you said:
Yes you can connect the buzzer output to say a powerful motor to lift your bed if you want. Make sure you change the code to use say digitalWrite(buzzer,HIGH) instead of tone().

Looking through the code I can't find the: tone() function.

Obviously it is in another file, but which one? (Semi-rhetorical.)

I shall have to work out how to make WORDPAD the default program for these files.

OK, I don't see the phi_2_alarm project code. Did you download it yet?

http://code.google.com/p/phi-prompt-user-interface-library/downloads/detail?name=Phi_2_project_alarm_clock_v5.zip&can=2&q=

I see that you downloaded the phi-2 testing v2. It was not compatible with arduino 1.0 but don't worry. I just made it compatible with the V3 so discard the V2 and get the V3:

http://code.google.com/p/phi-prompt-user-interface-library/downloads/detail?name=Phi_2_testing_v3.zip&can=2&q=#makechanges

The arduino IDE upgrade to 1.0 has put a lot of work on all library writers. I have half a dozen library code and sample codes are still being updated.

Sorry, it is my lack of understanding of where to put things which is not helping.

If you see from the screen shot, I do have that SKETCH, but it is up a few levels.

Somewhere I read that the libraries need to be in "sketchbooks/libraries/....."

So that is where I put them.

I didn't resolve where to put the actual SKETCH, so I just put it in the arduino directory. Yeah, they probably should go in the sketchbook directory but I haven't got my head around the names/paths part yet and obviously am still having trouble.

So reading the reply, I need to put the alarm sketch in the sketchbook directory and compile from there - standbye.

Well, that didn't work. Same error. This WProgram.h file is still missing.

Here is a better layout of the directories.
You can see the arduino/sketchbooks/ and the alarm clock directory (the bottom arrow) and the libraries with the PHI libraries in there.

I'm really not getting the directory layout part I know.

Good news!

I can compile the sketch.

Now, I just have to buy the PHI-2 and display and actually start to build it.

lost_and_confused:
Good news!

I can compile the sketch.

Now, I just have to buy the PHI-2 and display and actually start to build it.

Good for you! I've been busy with my work and didn't have time to do a screen shot of my folders.

Way back near the top a "variable brightness" was mentioned for the LCD.

I am about to complete building my alarm clock and have the same problem.

On the PHI-2 shield, there is a position for the backlight brightness resistor.

What I am thinking of doing is building a VCO which is controlled by a LDR.

As it gets darker, the frequency reduced. As it gets lighter/brighter, the frequency increases.

That way the backlight adjusts to the ambient light.

The "VCO" would simply be a 555 as an astable oscillator with the LDR controlling the frequency.

Here is a couple of piccies of the project to date:

Yes, it isn't fully built - as in there are no switches, or LEDs, but it "works" - as in the display shows things and the menus work.

The time, however, doesn't work.

Excuse the blurriness, but camera shake happens.

The board is a "UNO COMPATIBLE" and so I hope that the straps are correct.

Notice the time! Weird.

I compile the sketch with the correct-ish time set and send it to the board. Then re-compile it and send it again with the clock init() thing disabled.

Same result.

Going through the motions of setting the time doesn't change anything.

Other notes:
For now there is no EPROM, no RTC chip and no battery.

Do I really need these to simply make the clock work?

I need to see under the display. The jumpers were in the right places already. Was that you who posted on my blog saying inserting an EEPROM solved the problem? I'd like to that if that was you. There's no need for such optional part. The EEPROM that stores alarm was inside your arduino.

Ok, the picture:

The story as well.

The shield was made but I made a mistake with HOW I built it.

See red arrow in picture. I simply put pins BELOW the board to allow the shield to plug into the main board.

After a bit of thinking and seeing the straps and the clock not "ticking" (as well as the weird time/date) I realised that the pins may not be connected from the main board to the tracks on the shield, and that somehow I had to allow what was shown in the PDF to happen.

Then I realised that if I used this set of pins with longer legs, and access points above them, they would do both functions.
So I took the initial pins out - fun! and replaced them with the longer legged version. Then I got the other pins - like the ones used for the LCD access points - top left of the shield - and put some in above the other ones, I would nearly have what was shown on the PDF. AND! I could put in the straps.

At this point there is no RTC, no battery and no EPROM.

Done, plugged in. Garbage. Won't tick, won't set. But the display works. The menus work.

Put in RTC chip and battery. SAME - and before you ask, I'll get to it in due time.

Totally stumped. Looked at code, can't work out what is going on. For the hell of it - and honestly nothing more - I went to the local electronics shop and bought the OPTIONAL EPROM.

Got home, stuck it in - NO RTC, NO BATTERY.

Voila! The clock starts ticking and it is set to the time I "flashed" the main board with on the compile. You know, the part where I un-comment the remarks and set the time further down, flash the chip, then re-comment the instruction.

Powered down, put in RTC and battery, and powered up. All good.

Waited a few minutes and powered down and powered back up. It kept the time.

No, I haven't bothered setting the right time. At this point it was academic.

Every time I put the RTC chip in, it was in the same socket and the same way around.
The ONLY time I put the EPROM in, it is/was in that socket and that way around.

Picture looks good. I am stumped. The code only ticks the clock when the RTC (DS1307) is connected and running. Otherwise it would be stuck trying to read the clock. I am jealous, I don't think I have a local electronics parts shop that have the EEPROM. I'm in a small city (that's what want to call it but I rather go with town). You are a lucky guy! So when you put in the EEPROM (24LC256) without the RTC, the clock starts ticking and then powered down and inserted the RTC then everything goes AOK? I'm confused. Keep an eye with the setup see if it loses time too quickly like a few minutes or more per day. I would appreciate a picture of the underside of the board. Oh, you can buy some solder wick to help with desoldering pins. Drove me nuts trying to unsolder a row of pins before I knew solder wick or desoldering iron.

Yes, strange.

Even with the RTC - ok, no battery, it didn't tick.

However, I think the STRAP problem may be in there somewhere and if I didn't have the strap issue resolved - as in the other set of points there - it may have complicated the issue. Though I am sure I did do testing with the points there, because I sent you a piccie.

Yeah, one of life's mysteries.

Now I shall go off and read the code where you pointed me to in the other post and see if I can get that part working better.

As a gesture of sharing my knowledge, I shall repeat the situation again without the EPROM and see if it spits the dummy.

It may be interesting to establish if it is a real problem or what - for possible future complaints from other customers.

Ok, shield only and battery, NO RTC, NO EPROM:
Garbage

Battery, RTC, NO EPROM:
Valid time, but not ticking.
(nowhere near real)

Battery, EPROM, NO RTC:
Garbage

Go figure.

Quick general question about this code:

It is an "easy programmable multi day alarm clock"

Ok, so question:
On which ever day, at the alarm time: The buzzer buzzes, as it should.
As there is no "OFF" function for the alarm, how do you stop it sounding?

Yes, I haven't got as far as using it yet. I have ONLY JUST finished getting it working and need to do a wee bit of code modification.

That aside, the question I just asked popped to mind.

Anyone - please.

Last time I looked, you have not soldered on the buttons yet. Any of those buttons will stop the alarm, including the reset button.

Hang on!

I was only asking. I didn't say I couldn't.

The switches are going on when "practical". Because of the mechanics of their position WRT the display, etc.

liudr:
Keep an eye with the setup see if it loses time too quickly like a few minutes or more per day. I would appreciate a picture of the underside of the board. Oh, you can buy some solder wick to help with desoldering pins. Drove me nuts trying to unsolder a row of pins before I knew solder wick or desoldering iron.

I am running the Phi_2_testing_v3 and am losing time rather quickly. First off, my computer takes 5+ minutes to compile the code, even after i hacked the IDE to skip previously compiled files. Secondly, the time was 5 minutes behind when I uploaded it, and when I checked back half an hour later, it was 10 minutes behind. I don't understand.

Also, I can compile or upload the alarm clock version 5. The IDE returns about 200 lines of errors and lots of warnings.

Any help is appreciated.

Eric_R

Eric,

10 minutes a day is a bit too much. Are you keeping the shield in doors with constant temperature? The time can only be accurate with DS1307 if the crystal is kept at constant in door temperature. The crystal oscillation frequency is a function of temperature.

liudr:
Eric,

10 minutes a day is a bit too much. Are you keeping the shield in doors with constant temperature? The time can only be accurate with DS1307 if the crystal is kept at constant in door temperature. The crystal oscillation frequency is a function of temperature.

Yes, it is indoors all day. I have a desk in my (finished) basement so room temperature is in the mid 60s. I have the alarm clock uploaded and now I can set the time from the shield, meaning I can see exactly how quickly it is losing time. I counted that for every one second the program "ticks", two real time seconds pass. This means that after 5 minutes, the clock will be 10 minutes behind.

If I find a permanent location for this shield, and figure out how much time i is losing, can the code be easily modified to compensate for this?

Thanks,
Eric