Pages: [1]   Go Down
Author Topic: W5100 Shield and Pin 10 on Mega 2560  (Read 682 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi All,

I am relatively new to arduino and am attempting to add a w5100 shield and code to someone elses project.

I have searched the forums but can't find a direct answer to my question.

The query I have is about what PIN10 is used for on the ethernet shield and in the library. The project I am working with uses all of the Mega2560 PWM channels for LED control (via PWM) including PIN10.

Before I lash out on hardware I want to confirm based on my reading that my understanding is correct, that I could (if I didn't stack it on the 2560) connect pin 10 to any other Digital I/O pin and modify the library, and that it doesn't actually need a PWM signal.

I will do the data via the ICSP header so that is covered.
Logged

Miramar Beach, Florida
Offline Offline
Faraday Member
**
Karma: 149
Posts: 6117
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Do it! Digital pin 10 does not have anything to do with the SPI on a Mega, just the Slave Select for the ethernet shield.
Logged

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

Thanks Tim.
Logged

Miramar Beach, Florida
Offline Offline
Faraday Member
**
Karma: 149
Posts: 6117
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How many PWM outputs do you need? The Mega has a bunch. From the products page:
Quote
PWM: 2 to 13 and 44 to 46. Provide 8-bit PWM output with the analogWrite() function.

Pins 11-13 have nothing to do with the SPI on a Mega, so you can use those also.
Logged

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

The PWM outputs are being used for an aquarium controller which times the PWM LED drivers for the lighting.

The problem I have is that I have an ITDBO2 shield in the mix which uses:

Code:
ITDB02_Touch myTouch (6,5,4,3,2);
myGLCD(ITDB50, 38,39,40,41);

There are a lot of other I/Os in use which I am more than happy to futz with the allocations of, but when it comes to Henning Karlsens libraries I don't want to mess with the voodoo as it's above my understanding and this shield really needs to be left stock due to the screen and header.

The standard code I am building from already uses the following pins for their PWM ability and breaking the "conflicted" PIN 10 out on  44-46 I could do, it will make things a little messy on the protoshield I am using, due to the volumes of I/Os on that part of the board I am already using:

Code:
const int ledPinSump = 7;           
const int ledPinBlue = 8;            /
const int ledPinWhite = 9;           
const int ledPinRoyBlue = 10;        //  <--- Needed by ethernet shield (if using std library)
const int ledPinRed = 11;           
const int ledPinUV = 12;           
const int ledPinMoon = 13;   

If it is as simple as allocating as per below then problem solved, if not as nice hardware wise.  smiley

Code:
const int ledPinRoyBlue = 44;



Logged

Pages: [1]   Go Up
Jump to: