Yes, count them, 3. Over the past year this project has had 3 hardware reversions and 6 software reversions before it finally works the way it is supposed to. It also looks pretty nice, too.
I specified this as an “Employee” time clock so as to not be confused with an alarm-clock setup.
The RFID Employee Time Clock is designed for small businesses to log what time their employees enter and leave, add up the total working time, and print it out at the end of each week. Doesn’t sound hard, does it? Think again. First of all you’re are designing for a person that has minimal knowledge about computers, and doesn’t want to wait to get what he is after.
Last year when I created Version 1 of this device, I used a monochrome LCD for display (an obsolete part, not so great for mass production. ), an RFID scanner for data entry (this remains), and 2 LEDs for displaying the current state of the card. The object used a Propeller chip and 7 out of 8 cogs. The data was stored on the 64k boot EEPROM and the program was riddled with EEPROM address errors. The data was read to the computer via a ratty Visual Basic program which also had consistent errors. In November of last year I just ditched the old one and created a new one with the Propeller Schmartboard that had a keypad for code entry in place of the RFID reader. This device even went so far as to place second in the Schmartboard MCU challenge Parallax Propeller Segment. However, I still didn’t like the way it worked, and I really like the RFID idea. So again I ditched it and recreated the original board without the obsolete LCD, and with an SD card in place of the EEPROM and VB program. Now it is working nicely in fully reproducible state. It keeps time with a DS1302 RTC.
When the SD card is inserted into the device and the device is plugged in, it copies an autorun file and a batch file to the SD card which will clear out the expendable directories and launch the HTML table having the time on it into the preferred web browser. The time is arranged into a table and stored to the SD card as a .htm file that can be opened and printed in the default web browser. All you have to do is pop in the SD card and run the batch file, it even handles the cleanup for you and deletes the timekeeping files so that it will be reset to zero when you put it back in.
I’d go into detail about what the code does, but since source code is worth 10,000 words (who needs pictures?), you can download the source code here.
I am planning on making this into an actual marketable product if I ever get the chance. I just need to clear up one small bug before the source code is perfect. Any comments or questions are appreciated.
Thanks to all my readers!