Ardweeny pins?

I'm trying to figure out how to use the ardweeny on my breadboard, to basically act as an extra microcontroller that I can use.

I am using the ardweeny and a Breadboard Power Regulator (which is used in the arduino one hour coasterbot)
I currently use my ardweeny in this configuration linked below

http://makezineblog.files.wordpress.com/2010/04/quick_bot_electrical_6.jpg?w=399&h=600

In order for me to use my continuous rotation servos, I need to identify where the pins are on the ardweeny
as I need to connect my signal wire into a pin, in order to control my servos

I am aware that the ATmega328 that I'm using identifies pins this way


and I am aware that it connects to this motor driver in a certain way, through the input and outputs

When I first figured out where the pins were in the ATmega328 as described in the link above, I stuck my servo signal wire to the corresponding pin directly on the ATmega328 (in my case digital pin 1), but I could not get my servo to move. Despite having clearly written a program to make it move from digital pin 1

Where the heck are the digital pins on this thing? Do I have to wire the breadboard differently? Why can't I get my continuous rotational servos to move?

I'll list my program here in case you're curious

#include <Servo.h>

Servo servo_0;
Servo servo_1;

// This function is run first when the microcontroller is turned on
void setup() {
// Initialize the pins used to talk to the motors
servo_0.attach(1); // attaches the servo on pin 0 to the servo object
servo_1.attach(9); // attaches the servo on pin 1 to the servo object
}

// This function gets called repeatedly while the microcontroller is on.
void loop() {
// Turn both motors on, in the 'forward' direction
servo_0.write(80);
servo_1.write(80);

// Wait 1 second
delay(1000);

// Point them in opposite directions, so the robot spins
servo_0.write(80);
servo_1.write(70);

// Wait 1 second
delay(500);

// Turn both motors on, in the 'backward' direction
servo_0.write(60);
servo_1.write(60);

// Wait 1 second
delay(500);

// Point them in opposite directions, so the robot spins
servo_0.write(70);
servo_1.write(80);

// Wait 1 second
delay(500);
}

obito94:
Where the heck are the digital pins on this thing?

They're right as they're marked on that board - D0-D13. I keep a laminated print of this page (link to Akafugu's resource page on Microcontrollers) on hand at my bench and desk. The Arduino D and A pin references are included along with the port reference and function.

Have you confirmed the code you're using will work on a Uno? If so there's no reason it shouldn't with this.

Cheers ! Geoff

I have run this program on my arduino uno just to be sure that it works. It worked perfectly okay, I just don't understand how the ardweeny really works...well, I do, but I don't at the same time. I just don't understand how to wire everything I guess. Such that I can plug my jumpers into the proper digital pins

The main differences between this, and your Uno is there's no direct USB support nor power supply. The uno breaks out the pins to specific locations so a standard Arduino shield will work with it. Note the pins on the ATmega328 are broken out directly on the Ardweeny, and are marked from pin 1 as RST (reset), then D0, D1 etc which are the same as the Uno Digital pins. On the right side near the top are the Analog pins. Check the link I posted above where it's perhaps clearer than that image you're using.

Cheers ! Geoff

I connected my servo to "D1" I still couldn't get my continuous rotation servo to move unfortunately. It moves when I touch the contact point, however it then immediately stops.

obito94:
I connected my servo to "D1" I still couldn't get my continuous rotation servo to move unfortunately. It moves when I touch the contact point, however it then immediately stops.

You've connected the other two leads to 5V and GND too?

yup, I powered my servo externally. I made a circuit to power it (to be sure there wasn't a breadboard wiring problem or something)

anyway I supplied my servo 6volts (4 AA's) but I still can't make it move when I touch the ardweeny's digital pins. Logically this makes no sense, which is why I'm trying to figure out what I'm doing wrong exactly. Should I remove my ardweeny from the breadboard and try to supply power to ardweeny, THEN connect a servo?

Hi,
May sound obvious, but do you have a common ground ?

I'm a bit of a noob here, but I'm not exactly sure what you mean by common ground, the servos sharing a common ground with the ardweeny and the ATmega328 or just a common gound on the ATmega328 and the motor driver?

I mean a common ground between every component : ardweeny, atmega328, servos and motor driver. It doesn't hurt and is often needed.

alright I'll try that. Have a ground for all 3 components in the same spot. I'll tell you if it works or not.

well, seems you had a good idea, the green light on my ardweeny actually GLOWS now. I still can't program it with a cable though, what the hell? What board should I select?