Hello, My names Ryan. I have recently been given an Arduino Uno, and have Ubuntu 10.04.4, and attempted to make a library for the Motor Shield from Arduino. I have failed in my opinion. I have all my code AND error reports. If anyone can help, I would be glad!
Motor.h:
#ifndef Motor_h
#define Motor_h
#include <WProgram.h>
#include <Arduino.h>
class Motor
{
public:
void ~Motor();
void Motor(void);
void forward(int speed);
void backward(int speed);
void right(int speed);
void left(int speed);
void brake();
};
#endif
Motor.cpp:
#include <Motor.h>
#include <Arduino.h>
int speed;
const int dirB = 13;
const int pwmB = 11;
const int brakeA = 9;
const int brakeB = 8;
const int pwmA = 3;
void Motor::~Motor()
{
}
void Motor::Motor()
{
int speed;
const int dirB = 13;
const int pwmB = 11;
const int brakeA = 9;
const int brakeB = 8;
const int pwmA = 3;
pinMode(dirB, OUTPUT);
pinMode(dirA, OUTPUT);
pinMode(pwmB, OUTPUT);
pinMode(brakeA, OUTPUT);
pinMode(brakeB, OUTPUT);
pinMode(pwmA, OUTPUT);
}
void Motor::brake()
{
digitalWrite(brakeA, HIGH);
digitalWrite(brakeB, HIGH);
}
void Motor::forward(int speed)
{
digitalWrite(brakeA, HIGH);
digitalWrite(brakeB, HIGH);
delay(10);
digitalWrite(brakeA, LOW);
digitalWrite(brakeB, LOW);
digitalWrite(dirA, HIGH); //set A forward
digitalWrite(dirB, HIGH); // Set B forward
analogWrite(pwmA, speed);
analogWrite(pwmB, speed);
}
void Motor::right(int speed)
{
digitalWrite(brakeA, HIGH);
digitalWrite(brakeB, HIGH);
delay(10);
digitalWrite(brakeA, LOW);
digitalWrite(brakeB, LOW);
digitalWrite(dirA, LOW);
digitalWrite(dirB, HIGH);
analogWrite(pwmA, speed);
analogWrite(pwmB, speed);
}
void Motor::left(int speed)
{
digitalWrite(brakeA, HIGH);
digitalWrite(brakeB, HIGH);
delay(10);
digitalWrite(brakeA, LOW);
digitalWrite(brakeB, LOW);
digitalWrite(dirA, HIGH);
digitalWrite(dirB, LOW);
analogWrite(pwmA, speed);
analogWrite(pwmB, speed);
}
void Motor::backward(int speed);
{
digitalWrite(brakeA, HIGH);
digitalWrite(brakeB, HIGH);
delay(10);
digitalWrite(brakeA, LOW);
digitalWrite(brakeB, LOW);
digitalWrite(dirA, LOW);
digitalWrite(dirB, LOW);
analogWrite(pwmA, speed);
analogWrite(pwmB, speed);
}
code to run motors:
#include <Motor.h>
Motor Motor;
void setup()
{
}
void loop()
{
Motor.forward(255);
}
Error report:
In file included from Tester.ino:1:
/home/chaos/Desktop/arduino-1.0.3/libraries/Motor/Motor.h:9: error: return type specification for destructor invalid
/home/chaos/Desktop/arduino-1.0.3/libraries/Motor/Motor.h:10: error: return type specification for constructor invalid