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