Pages: 1 ... 14 15 [16] 17 18 ... 22   Go Down
Author Topic: Scrolling LED matrix display - Parola for Arduino  (Read 54711 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Want to thank marco_c for this project and the countless number of hours he is putting for unpaid support!

I have put together a generic 8 modules and they work out of the box after going through the documentation.

I was wondering if wabbitguy will be able to share how he was able to combine/integrate real time clock chip to one of his modules in earlier thread? Can you share the sketch codes?
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 100
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Want to thank marco_c for this project and the countless number of hours he is putting for unpaid support!

I have put together a generic 8 modules and they work out of the box after going through the documentation.

I was wondering if wabbitguy will be able to share how he was able to combine/integrate real time clock chip to one of his modules in earlier thread? Can you share the sketch codes?
You mean those Parola message board/clocks I built for my brother last year and for myself? They have a DS3231 RTC, HC-05 Bluetooth, Parola modules and LDR in them. I used a MEGA 2560. Plus I wrotethe Macintosh application that allows you to control them from Bluetooth.

Let me know if that's the one you mean...

Mel
Logged

Sydney, Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 1287
Big things come in large packages
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I was wondering if wabbitguy will be able to share how he was able to combine/integrate real time clock chip to one of his modules in earlier thread? Can you share the sketch codes?

Mel can give you an answer, but one of the example programs (Parola_Zone_TimeMsg) implements the time, temperature and relative humidity message that you see in the video for Parola v2. It uses a DS1307 module for the clock.
Logged

Arduino libraries http://arduinocode.codeplex.com
Parola hardware & library http://parola.codeplex.com

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Want to thank marco_c for this project and the countless number of hours he is putting for unpaid support!

I have put together a generic 8 modules and they work out of the box after going through the documentation.

I was wondering if wabbitguy will be able to share how he was able to combine/integrate real time clock chip to one of his modules in earlier thread? Can you share the sketch codes?
You mean those Parola message board/clocks I built for my brother last year and for myself? They have a DS3231 RTC, HC-05 Bluetooth, Parola modules and LDR in them. I used a MEGA 2560. Plus I wrotethe Macintosh application that allows you to control them from Bluetooth.

Let me know if that's the one you mean...

That was the thread I was referencing. Can you share more of the details?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I was wondering if wabbitguy will be able to share how he was able to combine/integrate real time clock chip to one of his modules in earlier thread? Can you share the sketch codes?

Mel can give you an answer, but one of the example programs (Parola_Zone_TimeMsg) implements the time, temperature and relative humidity message that you see in the video for Parola v2. It uses a DS1307 module for the clock.

It will be nice if some of us (Arduino rookies) can get the details of how to combine other hardwares like the RTC and sensors with the LED modules we've built. Playing around with the Parola LED matrix have really helped me in learning how to interact with Arduino because prior to this I describe myself as "Hardware-Phobic" (I am just a middle of the road C# programmer). Once again thank you guys for your selfless services.
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 100
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
It will be nice if some of us (Arduino rookies) can get the details of how to combine other hardwares like the RTC and sensors with the LED modules we've built. Playing around with the Parola LED matrix have really helped me in learning how to interact with Arduino because prior to this I describe myself as "Hardware-Phobic" (I am just a middle of the road C# programmer). Once again thank you guys for your selfless services.
I'll post my sketch later on. It apears that since I built my clocks/message boards last year, I haven't updated the library for the latest release of Parola so my original sketch won't even compile. No use starting off with something that way... smiley-red

Mel
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 100
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As the Swedish Chef would say, "Everyting is okey dokey" now...

I added some photos so you could see what I did for connections to all the bits and pieces. Essentially I used a bare breakout board from an UNO and used it to mount the DS3231 RTC and the Bluetooth HC-05 on top of the MEGA 2560.

The LDR (light dependant resistor; far left side of photo) in the second photo is mounted on a piece of scrap cardboard. Typical three wire connection, V+, GND and output (there is a resistor on the back side of that cardboard you can't see 4K7 or 4.7K):

GND--->resistor-->output<-->LDR--->Vcc

The Bluetooth HC-05 is connected to Serial1 on the MEGA.

For power I almost always use the same setup. A typical wall wart DC jack and a bridge rectifier (2A). You can see that in the third photo. The output of the bridge (+ and -) feeds a DC to DC buck converter. The output of the converter I set to 7VDC and connect that to the DC power jack on the Arduino. The reason I do it is two fold. First I can grab almost any DC adapter without worrying about polarity of it. Secondly, when you power the Arduino via the DC jack, anything over about 6.75V is dissapated in heat. Thus you can feed it 9-12VDC and it will work, but it runs pretty hot. Whereas feeding closer to 7V keeps the heat to a minimum.

I did try feeding 5VDC from the converter to the Vin pin on an Arduino, but I cooked the regulator when I did that. So I've just gotten used to feeding the DC jack on the MEGA.

* ParolaClkV2.zip (6.54 KB - downloaded 16 times.)

* MEGA_POWER.png (532.27 KB, 640x423 - viewed 30 times.)

* MEGA_LDR.png (688.92 KB, 640x470 - viewed 31 times.)

* MEGA_CLK_WIRING.png (586.44 KB, 640x384 - viewed 29 times.)
« Last Edit: May 05, 2014, 03:35:39 pm by wabbitguy » Logged

Sydney, Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 1287
Big things come in large packages
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
It will be nice if some of us (Arduino rookies) can get the details of how to combine other hardware like the RTC and sensors with the LED modules we've built.

This is an interesting question and I think goes more to the way of thinking about hardware in the Arduino world than the hardware itself. Most of the simple modules used on these forums can be purchased cheaply and provide a few pins to interface to the Arduino hardware. By and large the interfaces are either Direct I/O or consist of ICs with bit-bashing serial interfaces (like the 595 or the MAX7219) or I2C or etc. The key here is that most newbies don't look at the datasheet for the hardware and jump right in, without too much understanding of what they are doing. Reading the datasheet (as difficult as some of them are!) at least gives a reason for why things are done as they are, and builds a knowledge of how to deal with classes of problems. An SPI interface to an IC is pretty much the same no matter what IC it is, so you just need to learn it once.

To take the example of the time and temperature displayed in the example video and sketch. The way I start these things is to build a knowledge of how the devices work (LED display, DS1307 Clock module, Temp sensor) individually. This requires some experimentation and code, independently of the final project device. This can be built up as part of general learning and experimentation (my preferred mode) or just specifically what is required for the project at hand. Google is a big friend here. In the software world this would be consistent with writing a function and a test harness to exercise the code to see 'what happens if ...'.

I use a 'sensor shield' arrangement and build small circuits for individual sensors on a 1"x1" prototype PCB. The sensor shield has standard Ground-Voltage-Signal (GVS) pins for each Arduino I/O and ready made 3-pin connectors can be bought in this configuration. This allows me to quickly combine the devices in different ways to test ideas. Many of the experimenter kits work in a similar fashion, but having to build the small test circuit forces me to read and understand the datasheet. I have described this arrangement much earlier in this thread, I think. [ Edit: Here it is http://forum.arduino.cc/index.php?topic=171056.30].

Once over this hurdle, integrating the devices comes down to what the project is about, which becomes quite specific to the application. The sensor shield once again allows me to mock up a large part of the functionality required before I build the final circuit. I will also, at this stage, usually breadboard some of the circuit that is not standard or too large to fit on the small protoboards.

Hope this helps. My background is in software but by breaking down the hardware into manageable 'subroutines' the ideas behind what is going on become quite manageable and easier to understand and integrate.
« Last Edit: May 05, 2014, 10:36:38 pm by marco_c » Logged

Arduino libraries http://arduinocode.codeplex.com
Parola hardware & library http://parola.codeplex.com

Offline Offline
Full Member
***
Karma: 5
Posts: 100
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Typically, I start with an LCD and an UNO or MEGA, add in a shield and start to experiment with it to get a sketch working. The goal being to learn how the shield itself works. The shields I order from any of the many online Arduino suppliers or from fleaBay. With fleaBay if things don't work, the seller is just that, a seller. Rarely do they have any clue as to what they are selling so don't expect any hand holding to get it working.

In many cases there's an Arduino library someplace that has examples for the standard shields so it's a simple matter of reading the code and figuring out how the shield works. Because there are so many different shields, there can be a number of communication protocols between the Arduino and the sheild.

After all the shields are working, I then start on the main sketch, adding in the shields as I write the sketch and finally, at some point, the whole thing works. Or in many cases doesn't... smiley Which is where debugging comes in. Because I started with each shield to see how it works, I have a better understanding for fixing issues. The ugly issues show up when you have multiple shields that don't work together because of their design.

If I'm going to make a number of the same circuits, depending on the complexity, I design a PCB to hold all the parts. I route and etch them myself. Rarely do I have them made for me. Actually the Parola boards were the first ones I'd had made in about 30 years. Where I'm doing one-ups, I generally just use a prototyping board and some Dupont connectors.

My background, apart from being a musician was an electronics technician in 1960's, short lived though since there was no money in that field at the time here. There were no personal computers when I went through school. I didn't start writing commercial software until 1978 and at that point it was Z80 assembler. The lowly Arduino UNO has twice as much memory as the computers I was programming at that time.

I never saw, let alone wrote, a line of C code until I got my first Arduino UNO two years ago. The language syntax was what almost did me in. I knew what I wanted to do, but the syntax was light years from anything I'd ever used so hugely frustrating. I still have to stop and think for a minute to wrap my head around Structs and Unions. On the other hand, handles and pointers are second nature because of my assembler background.

Point being that none of the hardware or software is what I'd call "easy" if you've never done it before or had limited exposure to it. Be patient and work through each part. When you get stuck, Google is a first stop, then it's forums or people you know who can help out. But don't expect them to do the lion's share of your work. They are a resource for help, not do.

Mel
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Hope this helps. My background is in software but by breaking down the hardware into manageable 'subroutines' the ideas behind what is going on become quite manageable and easier to understand and integrate.

You are not just a selfless helper, you are also a teacher. Thanks, as I will use your principles as guidance in my pursue of interests in interacting with hardware.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As the Swedish Chef would say, "Everyting is okey dokey" now...

Thanks for the quick response, the post and the pictures.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am trying to make it work with Arduino Uno but getting the following errors when I try to run any of the example code provided in the folder:

In file included from Parola_Display.ino:8:
C:\Users\R-B\Documents\Arduino\libraries\parola/MD_Parola.h: In member function 'void MD_PZone::zoneClear()':
C:\Users\R-B\Documents\Arduino\libraries\parola/MD_Parola.h:319: error: no matching function for call to 'MD_MAX72XX::clear(uint8_t&, uint8_t&)'
C:\Users\R-B\Documents\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:483: note: candidates are: void MD_MAX72XX::clear()
C:\Users\R-B\Documents\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:668: note:                 bool MD_MAX72XX::clear(uint8_t)
C:\Users\R-B\Documents\Arduino\libraries\parola/MD_Parola.h:319: error: no matching function for call to 'MD_MAX72XX::transform(uint8_t&, uint8_t&, MD_MAX72XX::transformType_t)'
C:\Users\R-B\Documents\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:616: note: candidates are: bool MD_MAX72XX::transform(MD_MAX72XX::transformType_t)
C:\Users\R-B\Documents\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:735: note:                 bool MD_MAX72XX::transform(uint8_t, MD_MAX72XX::transformType_t)
C:\Users\R-B\Documents\Arduino\libraries\parola/MD_Parola.h: In member function 'void MD_PZone::setIntensity(uint8_t)':
C:\Users\R-B\Documents\Arduino\libraries\parola/MD_Parola.h:415: error: no matching function for call to 'MD_MAX72XX::control(uint8_t&, uint8_t&, MD_MAX72XX::controlRequest_t, uint8_t&)'
C:\Users\R-B\Documents\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:405: note: candidates are: bool MD_MAX72XX::control(uint8_t, MD_MAX72XX::controlRequest_t, int)
C:\Users\R-B\Documents\Arduino\libraries\MD_MAX72xx/MD_MAX72xx.h:416: note:                 void MD_MAX72XX::control(MD_MAX72XX::controlRequest_t, int)

Any help would be greatly appreciated.
Logged

Sydney, Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 1287
Big things come in large packages
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Make sure that you are using a consistent set of libraries with the examples code. Download all the latest and then try again.
Logged

Arduino libraries http://arduinocode.codeplex.com
Parola hardware & library http://parola.codeplex.com

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Marco,
I am currently looking at two downloaded zipped files: MD_Parola_v2.0_20140329.zip and MD_MAX72xx_v2.4_20140406.zip. If I have understood correctly then Parola also requires the MAX72xx library. So I need both of them to run the test programs supplied inside the MD_Parola/examples/ folder. Is that correct?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Marco,
Sorry for bothering you too much, but I have one more question. I was reading this forum (https://code.google.com/p/parola-for-arduino/issues/detail?id=2) and somebody mentioned that Parola can be used with type A (where columns are anodes) by setting  USE_PAROLA_HW and USE_FONT_ADJUST in the header file. But in the latest download, I don't see the USE_FONT_ADJUST in the header. How can I make the latest library to work with the A-type displays?

Thank you so much.
Logged

Pages: 1 ... 14 15 [16] 17 18 ... 22   Go Up
Jump to: