Search code examples
raspberry-pi3gpiolirc

LIRC issue with Raspberry Pi 3 - mode2 -d /dev/lirc0 shows no output


I just installed the latest version of LIRC(0.10.1-5.2) on my Raspberry Pi 3, running Raspbian on Debian Buster.

I am trying to get my Pi to take input from an IR remote using lirc.

I have made the necessary changes to these files :

/etc/lirc/lirc_options.conf 

driver          = default
device          = /dev/lirc0

/boot/config.txt

dtoverlay=gpio-ir,gpio_in_pin=18,gpio_out_pin=17,gpio_in_pull=up 

//I set mine on up on GPIO pins 17 and 18 instead of 22 and 23

I have checked and cross-checked my circuit. Everything looks okay.

The challenge I'm facing right now is when I test my IR receiver using the following command,

mode2 -d /dev/lirc0

Nothing happens. There's no output at all. No pulses recorded.

Has anyone else experienced this issue?

Any help would be much appreciated.


Solution

  • After spending a great amount of time, trying to figure out how to solve this issue, I was finally able to resolve it. So hopefully my answer will help someone else.

    First things first, it's important to note that infrared device has changed from lirc-rpi to gpio-ir

    Although, I already had this change in my /boot/config.txt file,like below:

    dtoverlay=gpio-ir,gpio_in_pin=18,gpio_out_pin=17,gpio_in_pull=up 
    // in stead of dtoverlay=lirc-rpi
    

    I just thought it was important to point out.

    Since I am trying to get my Pi to take input from an IR remote using lirc, I decided to first test my IR sensor separately, to make sure it works.

    To do that, I connected up the sensor like so:

    1. Pin 1 is the output so we wire this to a visible LED and resistor
    2. Pin 2 is ground
    3. Pin 3 is VCC, connect to 3v3

    You can find more detailed step by step instructions from this tutorial here which also shows how to wire up your circuit as seen below.

    Test up your IR Receiver During this test, my LED lit up each time I pointed a remote at the receiver, which gave me hope that it was working just fine.

    The next step was to test the IR receiver on my raspberry pi, which is the challenge I had in the beginning.

    I re-wired my circuit, this time:

    1. Pin 1 is DATA, goes to RPi pin 12 (GPIO 18)
    2. Pin 2 is GND, goes to RPI pin 6 (GROUND)
    3. Pin 3 is POWER, goes RPi pin 1 (3v3)

    Then I ran this command sudo /etc/init.d/lirc stop to make sure that service wasn't running.

    I then ran the initial command mode2 -d /dev/lirc0 and now pressed random buttons from my remote at the receiver and violá! I could see some pulses on the screen with each button press now. enter image description here