Arduino & CC3000 Wifi & NRF24L01+ over SPI
-
Anyone know how to connect two SPI devices to an Arduino Uno?
Separately, the CC3000 Wifi module and NRF24L01+ work normally.
However, if I wire them in parallel, like for i2c, only the CC3000 works.
Is there some type of input-output connection for one master and multiple slaves?
-
I found the solution on this page: http://mathertel.blogspot.com/2013/04/using-spi-bus-with-ethernet-sd-card-and.html
The key is setting the Chip Select (CS) line to be different for each module.
For the CC3000...
"#define ADAFRUIT_CC3000_CS 7"
Pin 7 is being used exclusively to select the Wifi module.
https://learn.adafruit.com/adafruit-cc3000-wifi/cc3000-breakoutFor the NRF24L01+...
"RF24 radio(9,10);"
Pin 9 is being used for Chip Enable (CE) and Pin 10 is Chip Select (CS).
http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
http://maniacbug.github.io/RF24/classRF24.htmlThe other SPI pins: CLK, MISO, MOSI, are shared by the two modules and get wired in parallel.
-
Goood stuff! What is it your making?
Is it a spark core??
-
or a WLAN Gateway
-
@jesse
I did that on my Mega too
-
@gregl said:
Goood stuff! What is it your making?
Is it a spark core??A Wifi bridge so I can use $1 NRF24L01+ modules to send data to my database or to the internet.
-
I have a similar problem.
I dont have the CC3000 breakboard I have the shield so changing pin address for this board is not going to work.
Instead I've changed the NRF24l01+ to use pins CE 35, CS 34.
I've also changed the init of the gateway to use pins 40,41,42 for the leds.(I'm using a mega btw)
So just using the MySensors skecth it works fine.
But as soon as I initialise the CC3000, the gw.begin() doesnt work anymore.
Were you able to get this to work?
Did you have to change any libraries?
Cheers
-
@jesse said:
I found the solution on this page: http://mathertel.blogspot.com/2013/04/using-spi-bus-with-ethernet-sd-card-and.html
The key is setting the Chip Select (CS) line to be different for each module.
For the CC3000...
"#define ADAFRUIT_CC3000_CS 7"
Pin 7 is being used exclusively to select the Wifi module.
https://learn.adafruit.com/adafruit-cc3000-wifi/cc3000-breakoutFor the NRF24L01+...
"RF24 radio(9,10);"
Pin 9 is being used for Chip Enable (CE) and Pin 10 is Chip Select (CS).
http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
http://maniacbug.github.io/RF24/classRF24.htmlThe other SPI pins: CLK, MISO, MOSI, are shared by the two modules and get wired in parallel.
Hi do you still have a Gateway code when using CC3000 and arduino Mega or UNO(if it fits)?
Suggested Topics
-
💬 MyThermostat
OpenHardware.io • 18 Mar 2019, 12:49 • openhardware.io 22 Mar 2019, 21:17 -
💬 Hematuria Meter
OpenHardware.io • 31 Oct 2022, 06:41 • openhardware.io 31 Oct 2022, 06:41 -
💬 In-wall scene controller main board
OpenHardware.io • 23 Dec 2017, 23:52 • openhardware.io 23 Dec 2017, 23:52 -
Weather station DHT22, BMP185, SI1145
My Project • 13 Sept 2014, 14:01 • jesse 21 Sept 2016, 17:04 -
💬 ESPboy: Games, IoT, STEM for education & fun (ESP8266 core)
OpenHardware.io • 9 Jun 2020, 18:29 • openhardware.io 14 May 2021, 03:04 -
💬 ESP-LINK ESP8266 WeMos D1 Mini Adapter Board
OpenHardware.io • 7 Nov 2016, 17:03 • openhardware.io 9 Feb 2017, 04:56 -
Compatibility between mysensors and RF24 library on same node.
General Discussion • 21 May 2020, 14:56 • GLAB 26 May 2020, 08:43 -
Need help with Turning a LED On/Off with OpenHab and MQTT.
Troubleshooting • 24 Mar 2015, 19:19 • kunall 29 Mar 2016, 14:33