loading

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.

16x64 LED Matrix Display

RTC Module

DHT22 Temp Sensor

I have attached a short video of the scrolling display.

Step 1: Make Your Connections

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!



Step 2: 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.

Step 3: 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...



<p>hi again.i loaded arduino ide old version and it is work now. but i have 1 16x64 matrix display. how can i see temperatur and hum. on second line .i see day and date.</p>
This was built for using 2 displays.<br>You would have to edit the code and choose to either display temp and hum or day and date.<br><br>In &quot;void sevenseg(int input_number)&quot;<br><br>edit lines below in code,<br>after &quot;drawChar(&quot; 1st number is column location...<br>change this to match location you want it displayed.<br>Widths are in sets of 8 as in = 0,8,16,24,32,40...ect<br>study code for day and time to see location numbers.<br>Make a &quot; if &quot; statement or use an input, timer counter or something to select either date/time or temp/hum to display in same location.<br><br> if (count5&lt;25){ //Display Temperature<br> if (Temp1000&gt;=1){<br> drawChar(64,0,Temp1000,0,false);<br> }<br> else{<br> drawChar(64,0,' ',0,false);<br> }<br> drawChar(72,0,Temp100,0,false);<br> drawChar(80,0,(Temp10),0,false);<br> drawChar(88,0,('.'),0,false);<br> drawChar(96,0,(Temp1),0,false);<br> drawChar(104,0,'F',0,false);<br> drawChar(112,0,' ',0,false);<br> drawChar(120,0,' ',0,false);<br> }<br><br> if(count5&gt;25&amp;&amp;count5&lt;40){ //Display Humidity<br> if (Hum1000&gt;=1){<br> drawChar(64,0,Hum1000,0,false);<br> }<br> else{<br> drawChar(64,0,' ',0,false);<br> }<br> drawChar(72,0,Hum100,0,false);<br> drawChar(80,0,(Hum10),0,false);<br> drawChar(88,0,('.'),0,false);<br> drawChar(96,0,(Hum1),0,false);<br> drawChar(104,0,'%',0,false);<br> drawChar(112,0,'r',0,false);<br> drawChar(120,0,'h',0,false);<br> }<br>}<br>&quot;<br><br>Hope this helps...<br><br>I have not rebuilt this to see if it works on the newer version of the Arduino program. I believe I was using version 1.6 when this was built.<br><br>Jeff
<p>I have built this display on a breadboard to test it out and I have two<br>problems.</p><p>1 is that while I have two 64x16 display boards connected together with the<br>cable supplied, everything is being displayed on only the first display board.</p><p>2 The display is in reversed text. (the entire display is lit and the text<br>is unlit.)</p><p>Anyone have any ideas as to why? </p><p>Also, is there a way to change the temperature to display in Celsius rather<br>than Fahrenheit?</p><p>Thanks for any help.</p>
<p>Nobody has any suggestions on how to get normal text rather than reversed?</p><p>I have posted questions on 3 or 4 projects on this site and have never received an answer to any of them.</p>
<p>Thanks for the help jeffreye. I'll try your suggestions and let you know what happens.</p><p>Cheers.</p>
<p>for problem with all text on 1 board I would have to see how you connected your displays. the data lines have to feed the right display and the second display connects via ribbon cable for left side of right display to right side of left display</p><p>Text feeds from left to right...</p><p>Hope this helps.</p><p>Sorry for the delay very busy at work and I have been heavy into ESP8266's building differnt project I hope to put up soon.</p>
<p>for inverse text problem look in program for:</p><p>void drawChar</p><p>comment out line = //if (inverse) charbytes[i] = ~charbytes[i];</p>
<p>In void Temp()</p><p> float f = dht.readTemperature(true); // Read temperature as Fahrenheit = (true), // //For Deg C &gt;&gt;&gt; float f = dht.readTemperature()... Remove &quot;true&quot; inside braces</p>
<p>help me please</p><p>i make error &quot;&quot;&quot; </p><p>'tmElements_t' was not declared in this scope&quot;&quot;&quot;</p><p>cougerstar@gmail.com</p>
<p>check the code, make sure it was not changed or a char &quot;t&quot; was not mistyped in to code.</p><p>Look at error message, it will give line number in code where error is and should also highlight it.</p>
<p>help me please</p>
Cool
Nice.
<p>Very cool project! Congratulations on your first instructable! </p>

About This Instructable

1,207views

32favorites

License:

More by jeffreye:16x128 display showing Date, Time, Temp, Humidity 
Add instructable to: