16x128 Display Showing Date, Time, Temp, Humidity
by jeffreye in Circuits > Arduino
5306 Views, 40 Favorites, 0 Comments
16x128 Display Showing Date, Time, Temp, Humidity
![20160426_154750.jpg](/proxy/?url=https://content.instructables.com/FWN/RY8Q/INHQUMPN/FWNRY8QINHQUMPN.jpg&filename=20160426_154750.jpg)
![20160426_154758.jpg](/proxy/?url=https://content.instructables.com/F3W/S3HY/INHQUMPP/F3WS3HYINHQUMPP.jpg&filename=20160426_154758.jpg)
![20160426_154806.jpg](/proxy/?url=https://content.instructables.com/FNT/D2ZR/INHQUMPQ/FNTD2ZRINHQUMPQ.jpg&filename=20160426_154806.jpg)
![20160426_154838.jpg](/proxy/?url=https://content.instructables.com/FAC/FIU1/INHQUMPR/FACFIU1INHQUMPR.jpg&filename=20160426_154838.jpg)
This is my 1st instructable so I hope you find this helpful.
I know the struggles of finding the right code to do what you have planned in your head.
So here is one of my struggles that I have finished!
I am using 2 - 16x64 dot matrix display, 1 - RTCDS3231, 1 - DHT22 Temp Sensor and an Arduino Uno.
I have had these 2 16x64 displays for a while with no real code to run or do what I wanted.
I recently found a piece of code by Phil Kaziewicz and it was a great starting point for this project.
I have attached a short video of the scrolling display.
Make Your Connections
![16x128 Dot Matrix Display_bb.png](/proxy/?url=https://content.instructables.com/FUQ/E2XP/INHORKOL/FUQE2XPINHORKOL.png&filename=16x128 Dot Matrix Display_bb.png)
![20160426_174221.jpg](/proxy/?url=https://content.instructables.com/FAB/UOUM/INHOR6R4/FABUOUMINHOR6R4.jpg&filename=20160426_174221.jpg)
![20160426_174134.jpg](/proxy/?url=https://content.instructables.com/FLU/E4AA/INHOR6MH/FLUE4AAINHOR6MH.jpg&filename=20160426_174134.jpg)
![20160426_174248.jpg](/proxy/?url=https://content.instructables.com/FQ9/TPSE/INHOR6R9/FQ9TPSEINHOR6R9.jpg&filename=20160426_174248.jpg)
2x8 Conn on 16x64 display Arduino UNO
Pin 1 ========================== GND (GND)
Pin 2 ==== No Connection (GND)
Pin 3 ==== No Connection (GND)
Pin 4 ========================== DI 2 (EN)
Pin 5 ========================== DI 8 (R1)
Pin 6 ========================== DI 9 (R2)
Pin 7 ==== No Connection (GND)
Pin 8 ==== No Connection (GND)
Pin 9 ========================== DI 10 (SK)
Pin 10 ========================= DI 7 (LT)
Pin 11 ==== No Connection (G2)
Pin 12 ==== No Connection (G1)
Pin 13 ========================= DI 6 (LD)
Pin 14 ========================= DI 5 (LC)
Pin 15 ========================= DI 4 (LB)
Pin 16 ========================= DI 3 (LA)
RTC3231SN Arduino UNO
GND ============================ GND
VCC ============================ 5V
SDA ============================ A4 (SDA)
SCL ============================ A5 (SCL)
SQW ==== No Connection
32K ==== No Connection1
DHT22 Arduino UNO
Pin 1 ============================== 5V
Pin 2 ============================== DI 11
Pin 3 ==== No Connection
Pin 4 ============================== GND
Also between Pin 1 and Pin 2 is a 10k Resistor!
Code for This Project
load the Code and Run it.
Tried to paste code but came out all bunched together...
Maybe next time I will figure it out with some help from the form.
About the Code
Here I have 2 displays tied together with cable supplied with purchase of display.
Time will be shown on upper half of left display.
Temperature and Humidity will alternate on upper half of right display.
Lower half of both displays will scroll current date from RTC.
Example: "Today is: Tuesday, 4/26/16"
You can adjust the time by Minutes (A0), Hours (A1), Display 12 or 24 hour format (A2) with Seconds showing during 24 hour format, and Daylight Savings ON/OFF (A3).
Time Adjustments are send and Saved on the RTC Module.
12/24 Hour Display and DST are sent to internal Ram and saved/Recalled if power goes out.
Always wanted to do that as we can adjust anything during the running of a program but if power goes out we get default setting restored so I send those setting to the Atmega328 RAM that gets recalled during "Setup".
Hope this helps many of you out there and feel free to ask any questions or improve any coding.
One thing I did want was a way to "Add" to the scrolling message any user input message and display it after the date, then repeat. I am working on adding a ESP8266 WIFI Module and letting the user set the Time, Date, and add a Message from their phone or tablet.
Enjoy...