i am very much a beginner with arduino so please bare with me. I have a Arduino Duemilanove board (328 version) I have it connected up with flash to switch a number of relays which all works fine.
The problem which I am finding is that digital pins 8-13 aren't working at all, i have searched the web and found some information to do with the spacing between digital pin 7 and 8 but am not sure exactly what this means.
I am already using digital pins 0 to 7 and really need 2 more pins, I am assuming that the problem is something to do with spacing which I have read about?
Any help or information would be much appeciated, ie. how to power pins between 8-13. I am almost certain that it isn't my flash code, the same code works for all my other pins before the spacing between pin 7 and 8.
The spacing has nothing to do with it. That's just referring to the physical distance between pins 7 and 8.
Did you do something to hurt those pins? IE, try to source too much current by trying to use a relay directly, etc.?
Try a simple blink sketch on all of those pins and use a DMM or LEDs to see if they even work any more.
Have you got some code we could have a look at?
We are all suckers for a bit of code! ;D
I have tested the same code on a second arduino board and I get exactly the same problem, which suggests it's something to do with my code.
I am coding the using flash. I have tried uploading a different firmdata onto the board. The firmdata I am currently running on the board is version 2 of the glue firmdata found here Google Code Archive - Long-term storage for Google Code Project Hosting.
I have also uploaded the blinking example straight onto the board to check the pins 8-13 and putting a led into the ground and digital pin 13 it blinks like it should.
I assume this means that the problem is with my flash code rather than the board. In the comments on the firmdata it says:
"This firmware augments StandardFirmata with Servo support
on pins 9 and 10, using the SERVO_CONFIG SysEx message proposed
as an extension to Firmata 2.
Pins 9 and 10 are usable as normal I/O/PWM, until they are configured
for servo use with the SERVO_CONFIG sysex message. It is not possible
to detach servos right now.
TODO: add Servo support using setPinMode(pin, SERVO);
What should behavior of this function be?"
This makes me think that it isn't the firmdata as stated above it says pins 9 and 10 can be used as normal I/O pins.
I have attached the flash code which I have created, with the code all the pins from 0-7 work fine but when I call any pins from 8-13 they don't work. The light on the board flashs to say something is happening but the my leds don't light.
I can't imagine I need to referance digital pins above 7 differently.
anyway my flash code is attached below
I think I have partially solved my own problem. I tested all of them with pwm flash code and they work with an led fader example.
I was wondering though does anyone know if it is possible to turn a pwm pin into a standard digital pin?
The glue arduino to flash says to just rename the ledpin but that don't work. Not sure if this thread is in the corrent place now I have narrowed the problem down to the flash to arduino software.
PWM pins are standard digital pins, with extra capabilities. Every PWM pin functions as a standard digital pin, but not every digital pin functions as a PWM pin.