Infravermelhos

Olá, gostaria que alguém me pudesse ajudar.
Estou a desenvolver um alimentador de animais, usando sensores infravermelhos, sendo que quando o led emissor detetar comida na sua frente, aparece uma mensagem no display a dizer: "Comida suficiente", e quando não detetar nada, aparece "comida insuficiente", o que acontece é que com/ou sem qualquer objeto à frente do sensor, a mensagem é sempre a mesma. Não consigo descobrir qual será o problema.
Sei também que o emissor precisa de ter uma frequencia de 38kHz para que o recetor detete o sinal.
Deixo aqui o meu código, se alguém me puder ajudar ficaria muito agradecido.

#include <Wire.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int IR_rx = 8;
int IR_tx = 6;
int led = 7;
int estado;

// Funcao de inicializacao
void setup() {
  lcd.begin (16,2);
  Serial.begin(9600);
  
  pinMode (IR_rx, INPUT);
  pinMode (IR_tx, OUTPUT);
  digitalWrite(led, HIGH);
  }

void loop(){

  digitalWrite(IR_tx,HIGH);
  delayMicroseconds(14);                         // delay de 13,16 uS

  
  estado = digitalRead(IR_rx);

  if (estado == LOW){
    lcd.setCursor(1, 1);
    lcd.write("Comida suficienteo");
    //delay(500);
    lcd.clear();
    }
  else{
    lcd.setCursor(1, 1);
    lcd.write("Comida insuficiente");
    //delay(500);
    lcd.clear();
  }
}

O led emissor não detecta nada... apenas emite um sinal que tem de chegar ao outro lado.

Os 38kHz não são necessários a não ser que estejas a usar um protocolo de transmissão de dados usado nos comandos remoto de televisão.

Como tens tudo ligado?

O led emissor(tx) vai ligado ao pino 6, depois liguei a outra para a uma resistencia de 330, e a resistencia ao ground.
O recetor(Rx), o primeiro conforme o datasheet é o "out" que vai ligado ao pino 8, a do meio ao ground e a última liguei a uma resistencia de 330 e a resistencia aos 5V
O receptor funciona com qualquer sinal que receba, testamos com comandos de televisão e recebeu todos. O problema é o emissor. Uma vez que o ligamos a corrente ele não faz nada. Não sei se faz falta um código específico para que o emissor ligue ou se falta alguma livraria.

bubulindo:
O led emissor não detecta nada... apenas emite um sinal que tem de chegar ao outro lado.

Os 38kHz não são necessários a não ser que estejas a usar um protocolo de transmissão de dados usado nos comandos remoto de televisão.

Como tens tudo ligado?

O led emissor(tx) vai ligado ao pino 6, depois liguei a outra para a uma resistencia de 330, e a resistencia ao ground.
O recetor(Rx), o primeiro conforme o datasheet é o "out" que vai ligado ao pino 8, a do meio ao ground e a última liguei a uma resistencia de 330 e a resistencia aos 5V
O receptor funciona com qualquer sinal que receba, testamos com comandos de televisão e recebeu todos. O problema é o emissor. Uma vez que o ligamos a corrente ele não faz nada. Não sei se faz falta um código específico para que o emissor ligue ou se falta alguma livraria.

Não disseste o tipo de receptor que tens. Logo dizeres que ligaste os pinos do meio não indica nada. Alguns receptores (aqueles uqe usam os 38kHz) necessitam de receber mesmo os 38 kHz para funcionar.

Se for assim, tens de criar tu a onda de 38kHz ou arranjar um circuito que faça isso por ti.

O que também pode estar a acontecer é que a maneira como ligaste tudo não permite corrente suficiente passar pelo LED para emitir o sinal. Eu assumo que é uma distância curta... mas não sei.