IRLib.h no es compatible con PWM?

He hecho pruebas con un modulo L298N y controlo la direccion, y la velocidad con pines PWM de un motor. El problema viene cuando uso la libreria IRLib.h para manejarlo con un mando a distancia. El programa funciona si uso los pines en modo digital, pero entonces gira a maxima potencia y no contrlo su velocidad. ¿Hay algo en la libreria que no deje usar PWM?

Gracias

Es fácil. Solo mira que pines usa IRlib. Seguramente esta usando un TIMER que compromete siempre 2 pines. Esos dos pines no los uses para tu PWM y asunto arreglado.

surbyte: Es fácil. Solo mira que pines usa IRlib. Seguramente esta usando un TIMER que compromete siempre 2 pines. Esos dos pines no los uses para tu PWM y asunto arreglado.

Gracias por la información, no he podido encontrar los pines que usa, pero me ha servido la informacion para probar otros pines, estaba encabezonado en el pin3 que debe ser uno de los que usa. Ya esta resuelto

No me expliqué debidamente. Tu para configurar el IR debes elegir un pin. Ese pin que uses no debe ser uno que a su vez corresponda al TIMER que uses con tu motor. Repito, el TIMER tiene siempre dos pienes asociados OCAx y OCBx, asi que usa un pin que no sea PWM y es una forma de no tener problemas. Sino postead con tags todo el código y vemos cual podria ser el problema.

surbyte:
No me expliqué debidamente.
Tu para configurar el IR debes elegir un pin. Ese pin que uses no debe ser uno que a su vez corresponda al TIMER que uses con tu motor. Repito, el TIMER tiene siempre dos pienes asociados OCAx y OCBx, asi que usa un pin que no sea PWM y es una forma de no tener problemas.
Sino postead con tags todo el código y vemos cual podria ser el problema.

Pues entendi otra cosa y lo solucione.
El codigo es muy simple, es solo una prueba para ver si movia el motor usando el mando a distancia. Con otro programa saque los codigos de dos mandos (que estan al final del codigo).
A partir de este iré ampliando para que mueva los motores adelante o atras y a distintas velocidades, o los pare.

#include <IRLib.h>

int RECV_PIN = 11;
int MOTOR1DE = 5;  //Motor uno adelante
int MOTOR1AT = 6;  //Motor uno atras
int MOTOR2DE = 9;
int MOTOR2AT = 10;
int velocidad = 0;

IRrecv My_Receiver(RECV_PIN);

IRdecode My_Decoder;
unsigned int Buffer[RAWBUF];

void setup()
{
  Serial.begin(9600);
    My_Receiver.enableIRIn(); // Start the receiver
  My_Decoder.UseExtnBuf(Buffer);
   pinMode(MOTOR1DE, OUTPUT);
   pinMode(MOTOR1AT, OUTPUT);
   pinMode(MOTOR2DE, OUTPUT);
   pinMode(MOTOR2AT, OUTPUT);
 
  analogWrite(MOTOR1DE, 0);
  analogWrite(MOTOR1AT, 0);
  analogWrite(MOTOR2DE, 0);
  analogWrite(MOTOR2AT, 0);
}

void loop() {

  analogWrite(MOTOR1DE, velocidad);
  
  if (My_Receiver.GetResults(&My_Decoder)) {
    My_Receiver.resume(); 
    My_Decoder.decode();
    //My_Decoder.DumpResults();
    Serial.println(My_Decoder.value);
     
  }
  if (My_Decoder.value == 16747125){
    velocidad = 120;
    Serial.println (velocidad);
  } 
  if (My_Decoder.value == 16714485){
    velocidad = 0;
    Serial.println (velocidad);
  } 
   delay(100);
}
/* 
 *  
 * mado original
 * 80BF49B6   1
   80BFC936   2
   80BF33CC   3
   80BF718E   4
   80BFF10E   5
   80BF13EC   6
   80BF51AE   7
   80BFD12E   8
   80BF23DC   9
   80BFE11E   0
   80BF53AC   UP
   80BF9966   IZ
   80BF837C   DR
   80BF4BB4   AB 
   
mando fino 
16747125   1
16714485   2
16716525   3
16764975   4
16754775   5
16748655   6
16750695   7
16767015   8
16738455   9
16742535   0
16728255   ar
16773135   iz
16769055   de
16712445   ab
16756815   izrr
16744575   derr
16752735   izln
16746615   deln
*/

Justamente 11 es una dirección PWM esperaba que usarás algo entre 2 y 5

surbyte: Justamente 11 es una dirección PWM esperaba que usarás algo entre 2 y 5

Cierto, pero es el que venia por defecto en los ejemplos de la libreria