HX-1838 紅外線接收器

使用 LIRC

LIRC(Linux Infrared Remote Control)是一個 Linux 紅外線遙控套件,它可以用來為大部分的遙控器,進行紅外線解碼與發射紅外線。

安裝 `lirc` 套件。

sudo apt-get install lirc

編輯 /etc/modules 檔案:

sudo nano /etc/modules

設定內容如下:

lirc_dev
lirc_rpi gpio_out_pin=18

編輯 /etc/lirc/hardware.conf 檔案:

sudo nano /etc/lirc/hardware.conf

設定內容如下:

DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

如果遇到 Raspberry Pi 2 無法正常使用 LIRC,請嘗試編輯檔案:

sudo nano /boot/config.txt

加上以下設定:

dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17,gpio_in_pull=up

撰寫 Python 程式

使用 Python 接收 IR 訊號:

#!/usr/bin/env python

import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO_ECHO = 24
print "IR Signal"
GPIO.setup(GPIO_ECHO,GPIO.IN)

start=0
stop=0
while True:
    start = time.time()
        duringDown=start-stop;
    while GPIO.input(GPIO_ECHO)==0:
        start = time.time()

    while GPIO.input(GPIO_ECHO)==1:
        stop = time.time()

    duringUp = stop-start
    info = "Up:%7.f" % (duringUp *100000) + ",Down:%7.f" %
 (duringDown*100000)
    print info
    if duringUp>0.1:
        print("------------------")

GPIO.cleanup()

程式說明:

  1. 第1行:這是執行環境的定義檔,到時候Python程式是放在哪裡的路徑。

  2. 第2行:註解的寫法,前面加個#就可以成為註解。

  3. 第7,9行:設定接腳24為輸入接腳

  4. 第16-17行:等待接腳變成高電位。

  5. 第19-20行:等待接腳變成低電位。

  6. 第23行:計算接腳的高電位的時間。

  7. 第24行:顯示資料。

執行程式:

sudo python irread.py

results matching ""

    No results matching ""