Circuit 5A: Motor Basics Kit 4.0a Motor runs for only 2 seconds

I’ve been testing this code which is simply from the site… Is the code designed to run the motor for 2 seconds and quit? In the Serial Monitor my motor speed appears whatever I enter. But after about two seconds. A new line appears indicating that Motor Speed is 0. Is this how it is suppose to be? Is there a way to change this?

Thanks,

/*

SparkFun Inventor’s Kit

Circuit 5A - Motor Basics

Learn how to control one motor with the motor driver.

This sketch was written by SparkFun Electronics, with lots of help from the Arduino community.

This code is completely free for any use.

View circuit diagram and instructions at: https://learn.sparkfun.com/tutorials/sp … uide—v40

Download drawings and code at: https://github.com/sparkfun/SIK-Guide-Code

*/

//PIN VARIABLES

//the motor will be controlled by the motor A pins on the motor driver

const int AIN1 = 13; //control pin 1 on the motor driver for the right motor

const int AIN2 = 12; //control pin 2 on the motor driver for the right motor

const int PWMA = 11; //speed control pin on the motor driver for the right motor

int switchPin = 7; //switch to turn the robot on and off

//VARIABLES

int motorSpeed = 0; //starting speed for the motor

void setup() {

pinMode(switchPin, INPUT_PULLUP); //set this as a pullup to sense whether the switch is flipped

//set the motor contro pins as outputs

pinMode(AIN1, OUTPUT);

pinMode(AIN2, OUTPUT);

pinMode(PWMA, OUTPUT);

Serial.begin(9600); //begin serial communication with the computer

Serial.println("Enter motor speed (0-255)… "); //Prompt to get input in the serial monitor.

}

void loop() {

if (Serial.available() > 0){ //if the user has entered something in the serial monitor

motorSpeed = Serial.parseInt(); //set the motor speed equal to the number in the serial message

Serial.print("Motor Speed: "); //print the speed that the motor is set to run at

Serial.println(motorSpeed);

}

if(digitalRead(7) == LOW){ //if the switch is on…

spinMotor(motorSpeed);

} else{ //if the switch is off…

spinMotor(0); //turn the motor off

}

}

/********************************************************************************/

void spinMotor(int motorSpeed) //function for driving the right motor

{

if (motorSpeed > 0) //if the motor should drive forward (positive speed)

{

digitalWrite(AIN1, HIGH); //set pin 1 to high

digitalWrite(AIN2, LOW); //set pin 2 to low

}

else if (motorSpeed < 0) //if the motor should drive backwar (negative speed)

{

digitalWrite(AIN1, LOW); //set pin 1 to low

digitalWrite(AIN2, HIGH); //set pin 2 to high

}

else //if the motor should stop

{

digitalWrite(AIN1, LOW); //set pin 1 to low

digitalWrite(AIN2, LOW); //set pin 2 to low

}

analogWrite(PWMA, abs(motorSpeed)); //now that the motor direction is set, drive it at the entered speed

}

r

“Motor spins but then stops: In the Serial Monitor, make sure you have No line ending selected in the drop down menu next to the Baud Rate drop down menu.”

If that doesn’t work share a photo of your wiring/setup