To get notified when the set reading time is over, I utilized a Serial MP3 Player Module (OPEN-SMART) with Speaker, including my two favorite cartoon soundtracks as the playlist. Lastly, to develop an interface (menu) to control the mentioned modules and implement special features, I used an Arduino Nano and a Nokia 5110 Screen. You can get the more detailed information regarding the specialties of this device in Features.
As a prototype, I tried my code with the mentioned modules and Arduino Nano on two breadboards, as depicted in the figure below. The prototype was working properly, but it had redundant wirings that hinder me from using the device attached to my bookcase as I intended. Therefore, I decided to design a PCB to complete my project, including buttons to control the interface, headers to connect the modules, and embedded-resistors.
SeeedStudio sponsored my PCB design for this project with its fast and high-quality PCB / PCBA service. You can find more detailed information about the PCB and its fabrication process in Designing the RFID Reading Time Checker PCB.
Preview: What You Will Learn
- How to design a PCB
- How to use an MFRC522 RFID module with Arduino Nano
- How to register a new RFID card or tag UID to the EEPROM
- How to use a DS3231 RTC module with Arduino Nano
- How to use a Nokia 5110 Screen with Arduino Nano
- How to control a Serial MP3 Player Module (OPEN-SMART) with Speaker by using UART commands with Arduino Nano
- How to program an interface and a timer in Arduino
Features
When you open the device (RFID Reading Time Checker with MP3 Player and RTC), you should see the "Initializing..." message while it is checking the modules.
Then, the device will show you the home screen (interface), including four menu commands - A. Init Checker, B. Set Checker, C. Clock, and D. New Card. Each menu command lets you activate a different feature of the device.
To select and activate menu commands, you need to use the buttons on the PCB, as explained below, named Left, OK, Right, and Exit (from left to right).
Press Right to go down and Left to go up.
To select a menu command, press OK.
To return to the home screen after selecting, press Exit.
A. Init Checker
Approximate the registered RFID card or tag in the EEPROM to the MFRC522 RFID module to activate the alarm mode. The device displays the clock icon if the alarm mode is activated.
In the alarm mode, the device notifies you when the timer (RTC) has reached the set reading time - for instance, 15:21 - by displaying the Spider-Man icon and playing the second song (Spider-Man Cartoon Theme Song) in the playlist of the Serial MP3 Player (OPEN-SMART).
In other words, as its name implies, the alarm mode is an alarm that is activated by the registered RFID card or tag and rings when set (the reading time). So, depending on your routine, you can check your reading time daily.
To return to the home screen, press Exit.
Important: In the alarm mode, you can play songs without waiting for the device to notify you with the second song and the icon if you want to listen to the playlist:
Press Right to play the first song in the playlist.
Press Left to pause the playing song.
Press OK to play (continue) the playing song.
B. Set Checker
Set the reading time - for instance, 14:2 - to get notified when the timer (RTC) has reached the reading time if the alarm mode is activated. When the reading time is set, it is saved by the device until further changes.
Press Right to increment minutes by 1.
Press Left to decrement minutes by 1.
If minutes exceed 59, the device increases the hour by 1.
If minutes are smaller than 0, the device decreases the hour by 1.
Allowed Range: 0:0 - 23:59
Press Exit to return to the home screen after setting the reading time.
C. Clock
Display time, date, and temperature variables generated by the DS3231 RTC module, which is also the timer of the device.
D. New Card
Approximate an RFID card or tag to scan and save the new...
Read more »
Please feel free to leave a comment here if you have any questions or concerns regarding this project :)