Arduino Mega, Adafruit Motor Shield 2.3, Fischertechnik 3D-Robot - nothing moves

Hi Guys,

I'm all new to this whole Arduino and programming stuff, but due to my studies i have to get used to it within a short period of time.

I have this little robot here and i need to get it moving until next wednesday. It should at least lift it's arm and turn around.
Since one week i am trying to get at least one motor rotate but...nothing so far.

I've got an Arduino Mega 2560 and an Adafruit Motor Shiel V2.3.
I mounted the Adafruit on top of the Arduino. 9V DC goes directly into Adafruit, Arduino runs via USB. No Jumper on the Adafruit.

The Motor i'm trying to run is a 9V 0,3A with just + and - input.
I connected the little beast with the M1 on the motor shield and tried this litte sketch:

#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"

// Create the motor shield object with the default I2C address
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
// Or, create it with a different I2C address (say for stacking)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61); 

// Select which 'port' M1, M2, M3 or M4. In this case, M1
Adafruit_DCMotor *myMotor = AFMS.getMotor(1);
// You can also make another motor on port M2
//Adafruit_DCMotor *myOtherMotor = AFMS.getMotor(2);

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Adafruit Motorshield v2 - DC Motor test!");

  AFMS.begin();  // create with the default frequency 1.6KHz
  //AFMS.begin(1000);  // OR with a different frequency, say 1KHz
  
  // Set the speed to start, from 0 (off) to 255 (max speed)
  myMotor->setSpeed(150);
  myMotor->run(FORWARD);
  // turn on motor
  myMotor->run(RELEASE);
}

void loop() {
  uint8_t i;
  
  Serial.print("tick");

  myMotor->run(FORWARD);
  for (i=0; i<255; i++) {
    myMotor->setSpeed(i);  
    delay(10);
  }
  for (i=255; i!=0; i--) {
    myMotor->setSpeed(i);  
    delay(10);
  }
  
  Serial.print("tock");

  myMotor->run(BACKWARD);
  for (i=0; i<255; i++) {
    myMotor->setSpeed(i);  
    delay(10);
  }
  for (i=255; i!=0; i--) {
    myMotor->setSpeed(i);  
    delay(10);
  }

  Serial.print("tech");
  myMotor->run(RELEASE);
  delay(1000);
}

Problem: There is not much happening. I can see this TickTackTech stuff in the serial monitor, but the motor does not move.
Even worse: When i try to measure the voltage at M1 on the motor shield nothing happens.

What am i doing wrong?

I'm so happy for everyone who can help me with this.

Best wishes

Hi, this post is a little old but I try my luck.
I have the same problem as you and I can not solve it.
I tested several engines with or without the additional power supply.
Never result.
The problem does not come from the code, I tried with the examples of Adafruit always without result.
I like you, no tension on the terminals of Shield.
I am also using version v2.3 with arduino Mega R3 2560.
I have no idea ...
If anyone ever used this Shield with a Mega, please help me.

9V DC goes directly into Adafruit

9V from where? A PP3 battery?

Personally I tested with 5V motors without additional power. And 12V motors with a 12V lead acid battery.

The motor power source must go to the motor driver board/shield. The Arduino may be powered by a different source, typically by USB. In no case can an Arduino power pin be used to power a motor.

With this Shield you can with 5V.
But that's not my problem, my engines are in 12V with extra power.
Whether 5V, 12V I have no voltage output Shield.