Comportamiento diferente sensor ir Arduino Nano vs ATMega328P

Hola a todos,

Estoy tratando de pasar un código en el que recibo señal de un sensor IR vs1838b con un arduino nano, directamente a un chip atmega328p, y veo que cuando utilizo el sketch con el chip, el sensor recibe una señal más o menos periódica sin que se pulse ningún botón del control remoto.

El código que estoy utilizando es el ejemplo básico de la librería IRremote.h:

#include <IRremote.hpp>

const byte IR_RECEIVE_PIN = 4;

void setup()
{
  Serial.begin(115200);
  pinMode(IR_RECEIVE_PIN, INPUT);
  IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // Start the receiver
}

void loop() {
  if (IrReceiver.decode()) {
      Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX); // Print "old" raw data
      
      IrReceiver.resume(); // Enable receiving of the next value
  }
  
}

Estoy siguiendo los pasos del siguiente enlace: Nick Gammon - How to make an Arduino-compatible minimal board

Utilizo las conexiones que en esa web se indican, con el montaje mínimo sin cristal de 16 MHz. Cargo el bootloader de 8 MHz (Lilypad) y después cargo el sketch con el FTDI 232RL.

El programa carga correctamente y lo ejecuto conectado al FTDI para leer los códigos que recibe el sensor IR. Y ahí es donde veo que si no pulso nada, en el serial monitor se va escribiendo un "0", como si el sensor recibiera señal de forma periódica. Cuando pulso un botón se lee el código correctamente. El mismo sketch con el arduino nano no muestra nada hasta que no se pulsa un botón del control remoto.

¿A qué puede deberse?

Gracias por vuestra ayuda,
Jose

Esta librería para comenzar es rara
He visto la librería en muchos posteos y es IRremote.h

Espero que no te moleste mi comentario pero no se usa más la inclusión de IRremote.h, se debe usar IRremote.hpp

Puede ser por el cambio en la frecuencia del clock. Otra cosa no se me ocurre.

Exacto, cogí el ejemplo básico que aparece para la librería IRremote del enlace de GitHub que has puesto.

Yo también pienso que puede ser por quitarle el cristal y cambiar la frecuencia a 8 MHz. ¿Hay alguna forma de poder cambiar la frecuencia a nivel de software para comprobarlo? ¿O la única manera de llevarlo a 16 MHz es con el cristal?

Si hay alguna manera de variar frecuencias sin el cristal, aunque solo sea para ver si hay variaciones en el comportamiento del sensor me gustaría explorarla.

Gracias por vuestra ayuda

Te toca estudiar la librería para ver si algo puedes modificarle.

Saludos

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.