voila , je commence a découvrir comment créer une librairie et la mienne elle plante xD
je veux faire une libraire qui permet de controller 2 moteurs comme ca : motor(255,255);
voici les 2 fichier cpp et header :
// code arduino
#include <MOTOR.h>
MOTOR ok ;
void setup(){/*nothing to setup*/}
void loop(){
ok.MOTORS(255,255);
}
// nom du fichier : MOTOR.h
#ifndef MOTOR_H
#define MOTOR_H
#include <Arduino.h>
class MOTOR {
public:
MOTOR();
~MOTOR();
void MOTORS(int LEFT_SPEED , int RIGHT_SPEED );
};
#endif
//nom du fichier : MOTOR.cpp
#include "MOTOR.h" //include the declaration for this class
MOTOR::MOTOR(){
pinMode(7, OUTPUT); //make that pin an OUTPUT
pinMode(8, OUTPUT); //make that pin an OUTPUT
pinMode(10, OUTPUT); //make that pin an OUTPUT
pinMode(12, OUTPUT); //make that pin an OUTPUT
pinMode(13, OUTPUT); //make that pin an OUTPUT
pinMode(11, OUTPUT); //make that pin an OUTPUT
}
//<<destructor>>
MOTOR::~MOTOR(){/*nothing to destruct*/}
void MOTOR::MOTORS(){
LEFT_SPEED = abs (LEFT_SPEED);
RIGHT_SPEED = abs (RIGHT_SPEED);
constrain (LEFT_SPEED , 0 ,255);
constrain (RIGHT_SPEED , 0 ,255);
if (LEFT_SPEED>=0 && RIGHT_SPEED>=0){ // mode FORWARD
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
analogWrite(10, LEFT_SPEED);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
analogWrite(11, RIGHT_SPEED);
}
else if (LEFT_SPEED>=0 && RIGHT_SPEED<=0){ // mode RIGHT
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
analogWrite(10, LEFT_SPEED);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
analogWrite(11, RIGHT_SPEED);
}
else if (LEFT_SPEED<=0 && RIGHT_SPEED>=0){ // mode LEFT
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
analogWrite(10, LEFT_SPEED);
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
analogWrite(11, RIGHT_SPEED);
}
else if (LEFT_SPEED<=0 && RIGHT_SPEED<=0){ // mode BACKWARD
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
analogWrite(10, LEFT_SPEED);
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
analogWrite(11, RIGHT_SPEED);
}
}
Voila aider moi au plus vite svp =)