Multimodal Clock
![20180707_205548-COLLAGE.jpg](/proxy/?url=https://content.instructables.com/F1R/BD7J/JJ8UEEK6/F1RBD7JJJ8UEEK6.jpg&filename=20180707_205548-COLLAGE.jpg)
I love clocks! I was looking for an instructable for a clock displaying roman numerals on screen. When i did not get any suitable ones on arduino base, i decided to build one myself. Coupled with a color TFT display, I was wondering what else can be displayed and viola! thoughts of various number systems studied in my bachelor of engineering college days (more than 2 decades back!) came rushing in:Binary, Digital, Octal & Hexadecimal etc etc
This though got me started and after much planning & coding, here is the implementation t!
Distinctive features of this clock:
- Multi-modal display where you can have time shown in 5 various number systems in one screen or each number format shown in separate screens selected by a push button.
- The clock face orientation can be on any 4 sides and the data on display can aligned to the orientation using a push button. Later i intend to use a gyro/acceleration sensor to orient the display based on the side it is turned on.
Modes available
- Digital
- Roman
- Hexadecimal (Base 16)
- Octal (Base 8)
- Binary (Base 2)
For someone new to these numbering systems here are the links from the net
Binary format: https://www.wikihow.com/Read-Binary
Octal format: https://www.wikihow.com/Read-Binary
Hexadecimal format: https://www.wikihow.com/Understand-Hexadecimal
Roman format: https://www.wikihow.com/Read-Roman-Numerals
Parts Required:
![IMG_20180707_210319__01__01 (1).jpg](/proxy/?url=https://content.instructables.com/FK3/POBX/JJ8UEJJU/FK3POBXJJ8UEJJU.jpg&filename=IMG_20180707_210319__01__01 (1).jpg)
![IMG_20180707_210301__01 (1).jpg](/proxy/?url=https://content.instructables.com/FPQ/G0HQ/JJ8UEJJV/FPQG0HQJJ8UEJJV.jpg&filename=IMG_20180707_210301__01 (1).jpg)
![IMG_20180707_210307__01.jpg](/proxy/?url=https://content.instructables.com/FIY/OVRJ/JJ8UEJJW/FIYOVRJJJ8UEJJW.jpg&filename=IMG_20180707_210307__01.jpg)
Items needed:
- Arduino UNO/Nano or equivalent
- TFT Display:1.44 inch 128*128 SPI display based on IL9163 (ordered long back via aliexpress) (RED PCB)
- DS 3231 RTC module
- Push button switches 2
- Breadboard, PCB,connecting wires
- Optional: Soldering iron,General purpose connecting wires and a suitable enclosure (I am yet to decide one for this clock)
Assemble the Circuitry
![IMG_20180707_203331__01.jpg](/proxy/?url=https://content.instructables.com/FO0/9A0L/JJ8UED05/FO09A0LJJ8UED05.jpg&filename=IMG_20180707_203331__01.jpg)
Use these connections between the RTC & Arduino. Refer to the hand drafted schematic picture for reference.
- DS3231----Arduino
- SDA-->A4
- SCL-->A5
- Vcc--> 5V (from Arduino)
- GND-->GND (from Arduino)
- Arduino----TFT display
- 9-->A0
- 10-->CS
- 11-->SDA
- 13-->SCK
- Arduino connections
- Vcc-5v
- GND-GND
- 2-->GND via push button (Display mode change button-Bin/Hex/Dec/All)
- 3-->GND via push button (Display orientation change button)
- Display connections
- VCC-->3.3V (from Arduino)
- GND-GND
- RESET-->3.3V
- LED-->5V (from Arduino)
Upload the Code!
Use the attached .ino file for the entire code with comments which are self explanatory!
Downloads
Enjoy Your Creation and Plan Future Improvements
![IMG_20180707_204804.jpg](/proxy/?url=https://content.instructables.com/FHF/4F0J/JJ8UEDVA/FHF4F0JJJ8UEDVA.jpg&filename=IMG_20180707_204804.jpg)
![IMG_20180531_120907.jpg](/proxy/?url=https://content.instructables.com/F0E/Y1WB/JHQJTG8N/F0EY1WBJHQJTG8N.jpg&filename=IMG_20180531_120907.jpg)
![IMG_20180531_121435.jpg](/proxy/?url=https://content.instructables.com/FYL/53KP/JHQJTG91/FYL53KPJHQJTG91.jpg&filename=IMG_20180531_121435.jpg)
![IMG_20180531_121045.jpg](/proxy/?url=https://content.instructables.com/FWU/RPEQ/JHQJTG8S/FWURPEQJHQJTG8S.jpg&filename=IMG_20180531_121045.jpg)
![IMG_20180531_121003.jpg](/proxy/?url=https://content.instructables.com/FYY/NXWL/JHQJTG8R/FYYNXWLJHQJTG8R.jpg&filename=IMG_20180531_121003.jpg)
![IMG_20180531_121134.jpg](/proxy/?url=https://content.instructables.com/FWT/XN8G/JHQJTG8U/FWTXN8GJHQJTG8U.jpg&filename=IMG_20180531_121134.jpg)
![IMG_20180531_121118.jpg](/proxy/?url=https://content.instructables.com/FO3/ZX5Q/JHQJTG8T/FO3ZX5QJHQJTG8T.jpg&filename=IMG_20180531_121118.jpg)
![IMG_20180531_121157.jpg](/proxy/?url=https://content.instructables.com/FPT/9R5O/JHQJTG8V/FPT9R5OJHQJTG8V.jpg&filename=IMG_20180531_121157.jpg)
You have a beautiful and geeky clock on your desk and there's lots of room for new ideas
- Change display or refresh only specific parts of the screen to make display refresh faster (this current implementation sometimes misses displaying a second due to the refresh of the whole screen)
- Add a gyro/accelerometer board and associated code to adjust the display rotation to match the enclosure orientation
- Let your imagination run wild...
Last but not least,if you like my clock do vote for it in the Clocks Contest running currently