Difference between revisions of "MClock (X02)"

From Microduino Wiki
Jump to: navigation, search
(Tweaking)
Line 48: Line 48:
  
 
=Tweaking=
 
=Tweaking=
 +
'''DEBUG''' uncomment to debug.
 +
 +
 +
'''SET_TIME''' allows the time to be set on the Real Time Module.
 +
*true or 1 will set a new time on the RTC module each time the Core module starts up.
 +
*false or 0 will not set a new time.
 +
*Recommended to set to false and re-upload once time has been set.
 +
 +
 +
''''DATE_YEAR'''' sets the last two digits of the year. Year: 20__
 +
 +
''''DATE_MONTH'''' sets the month. Month: Jan=1, Feb=2...Dec=12
 +
 +
''''DATE_DAY''''  sets the day in the month
 +
 +
''''DATE_WEEKDAY'''' sets the weekday value. Weekday: Sun=0, Mon=1...Sat=6
 +
 +
''''TIME_HOUR''''  sets the hour.
 +
 +
''''TIME_MINUTE''''  sets the minute.
 +
 +
''''TIME_SECOND'''' sets the second.
 +
 +
''''STRING_MESSAGE'''' sets the scrolling message on display. Long messages will overlap.
 +
 
=Troubleshooting=
 
=Troubleshooting=
 
<blockquote>I am having problems uploading sketches / examples that use the RTC module!</blockquote>
 
<blockquote>I am having problems uploading sketches / examples that use the RTC module!</blockquote>

Revision as of 23:20, 3 May 2017

mClock Project Build

About

This project uses the Real Time Clock (RTC) module to keep track of time. The time is retrieved from the RTC module and displayed on an OLED module. This project is an adaptation of the MWatch project from the first generation mCookie Maker Kits.

This project was designed for the second generation mCookie Maker kits (202 Advanced and 302 Expert kits).

Required Materials

  • 1 x mCookie Core
  • 1 x mBattery (202/302 Kit)
  • 1 x Real Time Clock (RTC) Module
  • 1x mCookie OLED Module
  • 1 x MicroUSB Cable

Build

Assembly

  1. Stack all three of the modules, mCookie Core, mCookie RTC, and mCookie OLED onto mBattery. Ensure that mCookie OLED is on top of the stack.
  2. Plug in the MicroUSB cable to the mBattery to a computer.

Program

1. Connect mCookie Core to the PC with the USB Cable. Open the Microduino IDE.

2. Download the project file and unzip: File:MClock X02.zip.

  • Using the Microduino IDE and go to File > Open... and navigate to the unzipped folder. Open the mClock_X02.ino file.

3. Find this code section and set the initial time of the RTC module.

setRtcTime(15, 5, 18, 1, 00, 00, 00);

The function signature is as follows: setRtcTime(year, month, day, week, hour, minute, sec);.

Replace the value of the time you wish to set. Once set, the module will maintain the time even when the power is off.

4. Select the board, processor and port:

  • Go to Tools > Board and select Microduino/mCookie-Core (328p)
  • Go to Tools > Processor and select Atmega328P16M,5V
  • Go to Tools > Port and select the available port

NOTE: If not using the default Core module included in the kits, please follow the selecting the board and processor guide.

5. Upload the program by clicking on the right arrow icon on the top left of the window. Or under Sketch > Upload.

6. Once the program is uploaded. The line of code in step number 3 will set the time on the Real Time Clock module. But this occurs every time the Core module starts up. Which is undesired in keep track of the time. Go back to the code and disable that line by commenting it out with // as follows. Then re-upload the program.

//setRtcTime(15, 5, 18, 1, 00, 00, 00);

Debugging

Tweaking

DEBUG uncomment to debug.


SET_TIME allows the time to be set on the Real Time Module.

  • true or 1 will set a new time on the RTC module each time the Core module starts up.
  • false or 0 will not set a new time.
  • Recommended to set to false and re-upload once time has been set.


'DATE_YEAR' sets the last two digits of the year. Year: 20__

'DATE_MONTH' sets the month. Month: Jan=1, Feb=2...Dec=12

'DATE_DAY' sets the day in the month

'DATE_WEEKDAY' sets the weekday value. Weekday: Sun=0, Mon=1...Sat=6

'TIME_HOUR' sets the hour.

'TIME_MINUTE' sets the minute.

'TIME_SECOND' sets the second.

'STRING_MESSAGE' sets the scrolling message on display. Long messages will overlap.

Troubleshooting

I am having problems uploading sketches / examples that use the RTC module!

There is an issue with the incorrect and outdated software library included in the Microduino software package. To fix it, please follow the guide below:

  1. Download the correct library file from here: https://wiki.microduino.cc/images/9/90/Rtc_pcf8563.zip
  2. In the Microduino IDE go to Sketch->Add .ZIP library...
  3. Navigate to the downloaded file and select the "Rtc_pcf8563.zip". Then click Choose on the bottom right.
  4. Now the IDE should use the correct library version and should be able to compile the program.

Usage

Turn on the project and the time stored on the Real Time Clock (RTC) module will be retrieved and displayed on the OLED screen. Powering off the project will maintain the time since the Real Time Clock (RTC) has a capacitor that enables keeping track of the time even when the power source is off. (Please comment out the setRtcTime line so that the time does not get overwritten every time the Core module starts up).