Go Down

### Topic: Universal Countdown Clock (Read 5255 times)previous topic - next topic

#### wallaceb

#15
##### Aug 19, 2013, 01:50 am
i want to thank you for all your help. i did make a small change to your code:

Code: [Select]
`TimeStamp calcDiff(TimeStamp now, const TimeStamp &future){    byte current_month = now.mm;    unsigned long sec_now = now.ss + ((unsigned long)now.min * 60) + ((unsigned long)now.hh * 3600);    unsigned long sec_future = future.ss + ((unsigned long)future.min * 60) + ((unsigned long)future.hh * 3600);    if (sec_future < sec_now)    {        sec_future += 86400;        ++now.dd;    }    if (future.dd < now.dd)    {        now.dd = DAYS_IN_MONTH[now.mm-1] - now.dd + future.dd;        ++now.mm;    } else {        now.dd = future.dd - now.dd;    }    if (future.mm < now.mm)    {                now.mm = future.mm + 12 - now.mm;        if ((current_month + now.mm) > 12){          now.dd -= (DAYS_IN_MONTH[current_month-1] - DAYS_IN_MONTH[(current_month + now.mm - 12)-1]);        }else{          now.dd -= (DAYS_IN_MONTH[current_month-1] - DAYS_IN_MONTH[(current_month + now.mm)-1]);        }        ++now.yy;    } else {        now.mm = future.mm - now.mm;    }    sec_now = sec_future - sec_now;    now.yy = future.yy - now.yy;    now.hh = sec_now / 3600;    now.min = (sec_now - ((unsigned long)now.hh * 3600)) / 60;    now.ss = sec_now % 60;    return now;}`

the changes were made when the remaining months were being calculated, and if future.mm < now.mm, some adjustments to the days needs to be done.

here is the resulting output from your code after some tests:

Code: [Select]
`Current Time/Date: -  8 / 18 / 2013 : - 18 : 3 : 0Time Until 1 / 10 / 2014 : - 0 : 0 : 00 years, 4 month, 22 days5 hours, 57 minutes, 0 secondsCurrent Time/Date: -  8 / 18 / 2013 : - 18 : 3 : 0Time Until 1 / 10 / 2014 : - 20 : 0 : 00 years, 4 month, 23 days1 hours, 57 minutes, 0 secondsCurrent Time/Date: -  8 / 18 / 2013 : - 18 : 3 : 0Time Until 1 / 20 / 2014 : - 0 : 0 : 00 years, 5 month, 1 days5 hours, 57 minutes, 0 secondsCurrent Time/Date: -  8 / 18 / 2013 : - 18 : 3 : 0Time Until 1 / 20 / 2014 : - 20 : 0 : 00 years, 5 month, 2 days1 hours, 57 minutes, 0 secondsCurrent Time/Date: -  8 / 18 / 2013 : - 18 : 3 : 0Time Until 2 / 10 / 2014 : - 0 : 0 : 00 years, 5 month, 22 days5 hours, 57 minutes, 0 secondsCurrent Time/Date: -  2 / 18 / 2013 : - 18 : 3 : 0Time Until 3 / 10 / 2014 : - 0 : 0 : 01 years, 0 month, 19 days5 hours, 57 minutes, 0 seconds`

thanks again for your help, and reminding me of the beauty of using "struct" to create a more easy to use variable structure.

#### wallaceb

#16
##### Aug 20, 2013, 05:12 pm
i have the web-based code done

do not mind the "\002" text. i used a HTML editor program to preview the page, and the code uses the "\002" to know when it needs to inject a system variable in the HTML page.

#### wallaceb

#17
##### Aug 22, 2013, 12:56 am
even after working on the web-pages, i stumbled upon the awesome GUI library here:

http://forum.arduino.cc/index.php?topic=164788.0

as a result, i have decided to use a touch screen interface for all user-configuration, so no Ethernet connection will be needed.

i have begun the layout process of the GUI

#### wallaceb

#18
##### Aug 25, 2013, 12:39 am
for starters, i just ordered my Arduino Due, 7" CTE screen, the CTE Due shield, and RTC module. when they arrive, i will get started on working on the guts of my project

#### wallaceb

#19
##### Aug 31, 2013, 03:26 pm
i got my due, RTC, and 24LC256 EEPROM. i can access the RTC without issues, and i can write everything i need to EEPROM, including the string variables i am going to need for people's names used for the birthday countdowns and custom countdowns. now i am just waiting on the screen which will likely be another week or so.

i have written around 75% of my code in preparations for when i get the screen, and hopefully everything will work

#### wallaceb

#20
##### Sep 09, 2013, 02:18 pm
i got the screen, everything physically works. i used the CTE image importer tool to upload background images for the different holidays. My code works fairly well. right now i am working out bugs more than anything, and to get the settings entered into each screen to save correctly. i will post a video soon showing it in action.

#### wallaceb

#21
##### Sep 11, 2013, 09:52 pm
i got around 80% of the project working. the pre-defined holidays all countdown properly, and all their respective settings successfully save to and load from EEPROM. the user settings for the pre-defined holidays can all be successfully edited. the screen brightness can be configured. in addition, the user can configure when the screen turns on and off at night to save energy. if the screen is off, and the user touches the screen, the screen comes back on, stays on for as long as the user is interacting with the screen and will wait for 60 seconds of no interaction and turn back off.

i have uploaded a video of the project in action.
http://youtu.be/B7OmzQwGaJU

i have some bugs where if a holiday is disabled, it interferes with the correct operation of the remaining enabled countdowns. i need to get the "save" and "test" buttons on the holiday setting screens to display the right image, as i selected the wrong images. i need to get the "test" functionality working where the user will be able to click the "test" button to get a display of what their font and background colors will look like. i need to code the birthdays, anniversary, and custom countdowns. i think i will be done coding around the end of next week.

#### K5CZ

#22
##### Sep 14, 2013, 09:13 am

i have uploaded a video of the project in action.
http://youtu.be/B7OmzQwGaJU

Looks good. (You have small typo: Minuets)
Arduino Uno R3, Arduino Mega 2560 R3, Ethermega (R3), and some Ethernet Shields (R3), Chronodots, TMP36 sensors, DS18B20 sensors, LCDs/TFTs, RS232C to learn and play...

Go Up

Please enter a valid email to subscribe