Créer une librairie MOTOR

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 =)

Bonjour,

De quel genre de moteur parle-tu ?
Servomoteur ? Moteur à courant continu ? Autre ?

Déjà il faut être un peu plus explicite sur le plantage, parce que la on est pas devin ...

Mais déjà j'ai une bonne idée du problème :

void MOTOR::MOTORS(){

  LEFT_SPEED = abs (LEFT_SPEED);
  RIGHT_SPEED = abs (RIGHT_SPEED);

tu crois pas qu'il manque quelque chose :wink:

indice téléspectateur : void MOTOR::MOTORS( "ici il manque des choses" )