Arduino UNO + CC3000 WIFI Sheild

The Dot Matrix Display (DMD) is a 32x16 array of high-brightness LEDs for visually striking effects. [Product Page]
Post Reply
statbat
Posts: 44
Joined: Tue Dec 22, 2015 10:53 am

Arduino UNO + CC3000 WIFI Sheild

Post by statbat » Sat Jan 30, 2016 11:46 am

Hello,

I am facing something very strange. May be someone here can help me.

I have a program that is working perfect on UNO and Bluetooth. I added a WIFI Shield CC3000 on top of UNO and then i added the data cable of DMD on top of CC3000.

Problem i am facing is that once CC3000 connects to WIFI, the all LEDs of the 2 DMD light up. They are all lighting up.
If i remove CC3000 it works fine again. If i remove DMD, CC3000 also works fine.
I am thinking that may be CC3000 is using pin 6 , pin 7 , pin 8 or 9 for its own purpose and for this reason it is sending some incorrect data to DMD. I am not sure if this is really true and this can happen because I have seen many people STACK one control on top of another and they dont face any issues.
Is this true what i am thinking or the issue is something else?

Please advise.
Thanks

statbat
Posts: 44
Joined: Tue Dec 22, 2015 10:53 am

Re: Arduino UNO + CC3000 WIFI Sheild

Post by statbat » Sat Jan 30, 2016 12:56 pm

Hi Hobohome,

The display is potentially compatible, but because by default they both use the SPI pins on the Arduino then it can be tricky to get them to play well together.

The simplest solution is actually to rewire the DMD not to use the 10,11,12,13 pins and instead use any other pins. Then use the SoftDMD feature in DMD2, which allows you to specify the pins to use.

It should be possible to use them together without doing this as well, though. If you'd like to try using the existing pin configuration, can you please post your sketch? Perhaps in a new thread if you're going to do that, as it will probably require some more back-and-forth?

Thanks,

Angus
So now I have to find out how to change pin 10, 11, 12, 13 to something else.
I found the reason in another topic

User avatar
stryker
Posts: 268
Joined: Sat Jan 14, 2012 2:44 pm

Re: Arduino UNO + CC3000 WIFI Sheild

Post by stryker » Sat Jan 30, 2016 1:02 pm

Sounds like a plan. Just looking at the CC3000 shield from sparkfun and that uses many of the connections the DMD needs: MOSI D11, MISO D12, SCK D13, EN D7. The DMD doesn't use SS D10 to determine what SPI traffic it should respond to and what it should ignore, however the softDMD sugestion might get around that limitation.

The DMD is demanding on processor time so another option woudl be to one Uno run the display, and another run the WiFi comms, and have a serial connection between the two.

Cheers ! Geoff

statbat
Posts: 44
Joined: Tue Dec 22, 2015 10:53 am

Re: Arduino UNO + CC3000 WIFI Sheild

Post by statbat » Sat Jan 30, 2016 1:26 pm

stryker wrote: The DMD is demanding on processor time so another option woudl be to one Uno run the display, and another run the WiFi comms, and have a serial connection between the two.
Cheers ! Geoff
It is actually a very good idea. Have two UNO. Just I dont know how both UNO will talk to eachother ? One UNO will be with Sheild and another will be with the DMD.

Remember my TX and RX pins are already occupied by the Bluetooth module.

statbat
Posts: 44
Joined: Tue Dec 22, 2015 10:53 am

Re: Arduino UNO + CC3000 WIFI Sheild

Post by statbat » Sat Jan 30, 2016 1:37 pm

stryker wrote:Sounds like a plan. Just looking at the CC3000 shield from sparkfun and that uses many of the connections the DMD needs: MOSI D11, MISO D12, SCK D13, EN D7. The DMD doesn't use SS D10 to determine what SPI traffic it should respond to and what it should ignore, however the softDMD sugestion might get around that limitation.

Cheers ! Geoff
It is a TEXAS Instrument device. I have their datasheet but it all looks German to me.
I am planning to use pin number 2, 3, 4, 5, 8, 9,

Code: Select all

#define DMD_PIN_CLK 9
#define DMD_PIN_R 8
#define DMD_PIN_NOE 5
#define DMD_PIN_SCK 4
#define DMD_PIN_B 3
#define DMD_PIN_A 2

SoftDMD dmd(DISPLAYS_WIDE,DISPLAYS_HIGH,DMD_PIN_NOE,DMD_PIN_A,DMD_PIN_B,DMD_PIN_SCK,DMD_PIN_CLK,DMD_PIN_R); // DMD controls the entire display

User avatar
stryker
Posts: 268
Joined: Sat Jan 14, 2012 2:44 pm

Re: Arduino UNO + CC3000 WIFI Sheild

Post by stryker » Sun Jan 31, 2016 1:13 am

statbat wrote:
stryker wrote:Remember my TX and RX pins are already occupied by the Bluetooth module.
The Bluetooth module will only be on one Uno, so use SoftwareSerial on that one, and hardware serial will be free to be used on the other.

On your choice of SPI pins, the ATmega328 has hardware support for SPI which is why shields etc gravitate to those specific pins for MISO/MOSI/SCK and SS. It can be done by bit banging on other lines though of course. Nick Gammon has put together an excellent explanation here if you'd like more background.

Cheers ! Geoff

statbat
Posts: 44
Joined: Tue Dec 22, 2015 10:53 am

Re: Arduino UNO + CC3000 WIFI Sheild

Post by statbat » Wed Feb 03, 2016 2:26 pm

stryker wrote:The Bluetooth module will only be on one Uno, so use SoftwareSerial on that one, and hardware serial will be free to be used on the other.

On your choice of SPI pins, the ATmega328 has hardware support for SPI which is why shields etc gravitate to those specific pins for MISO/MOSI/SCK and SS. It can be done by bit banging on other lines though of course. Nick Gammon has put together an excellent explanation here if you'd like more background.

Cheers ! Geoff
I have one mega and one uno in spare. I am now thinking that I go this way like you have told me instead of using one board. As you can see in my other thread - one board just does not work.

Can I use this tutorial to hook up. In MEGA there are many TX RX pins not just one like UNO. So I can hook WIFI sheild and bluetooth there and DMD on the UNO.
http://robotic-controls.com/learn/ardui ... munication

Post Reply