|
1 | 1 | TFT LCD Arduino Clock - Just another Arduino Clock...
|
2 | 2 |
|
3 |
| -This one is using a 320X240 ILI9341 tft lcd connected over SPI, the speed is acceptable for a clock display and will not use as many I/O pins as a parallel connected one. |
| 3 | +This one is using a 320X240 ILI9341 tft lcd connected over SPI, the speed is acceptable for a clock display and will not use as many I/O pins as a parallel connected display. |
4 | 4 | Here is a link for the display:
|
5 | 5 | https://www.aliexpress.com/item/32889801161.html?spm=a2g0s.9042311.0.0.29594c4dvsZfeP
|
6 | 6 |
|
7 | 7 | The clock has a Digital display mode and a Binary BCD display mode selectabe from the menu.
|
8 | 8 |
|
9 |
| -Other modules used: DS3231 Clock module, remove the 1N4148 diode if you use that with a CR2032 battery, we do not want to charge the battery. DS18B20 temperature sensor module for better temp readings - there is a temperature sensor inside DS3231 also but the chip will heat up once powered on and will show about 1-2C more than the actual temp in few minutes. |
| 9 | +Other modules used: DS3231 Clock module, remove the 1N4148 diode if you use that with a CR2032 battery, we do not want to charge the battery. DS18B20 temperature sensor module for better temp readings - there is a temperature sensor inside DS3231 also but the chip will heat up inside the clock case once powered on and will show about 1-2C more than the actual temp in few minutes. |
10 | 10 |
|
11 | 11 | The LCD I/O is 3v3 and therefore we use some resistors to convert from 5V to 3v3. There are 3 buttons for setup and a speaker for alarm. A piezo or electromagnetic buzzer can be used.
|
12 | 12 |
|
13 | 13 | The clock has an enclosure and a stand designed in OpenSCAD, make one using your 3DPrinter.
|
14 | 14 |
|
15 | 15 | The menu of this clock is designed around a struct in PROGMEM in order to use less RAM, for those interested this can be reused as a menu for other projects. It was an interesting exercise to create and is working quite nice with the three buttons: "-", "Setup" and "+". Can be easily extended as necessary.
|
16 | 16 |
|
| 17 | +Menu: |
| 18 | +Time hour, min (setting min will also reset seconds to 00), month, date, day of week, year. |
| 19 | +Clock 12/24h, clock mode - digital or BCD binary. |
| 20 | +Alarm hour, min, alarm days - daily or workdays only. |
| 21 | +DST on week, month, DST off week, mo - For US DST set to 2,3 - 1,11. The week is the number of week in a mo starting Mo. The time will adjust on Su 2AM. |
| 22 | +LCD day, night - lcd backlight durring day and night, will turn on on 7 and turn off at 10 pm. |
| 23 | + |
17 | 24 | All the libraries used are in a zip file (unzip under your libraries folder), the font file form Adafruit_GFX is modified “ char is replaced by a full circle character used by the BCD clock display and the second half of the table is removed in order to save space.
|
18 | 25 |
|
19 | 26 | IOAbstraction lib is used to provide the low level functions for buttons and event scheduler, many thanks to Dave!
|
|
0 commit comments