댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
|
Pi
2017.10.17 17:05
라즈베리파이 적외선(IR) 리모컨 송신/수신 - LIRC Library
조회 수 33990 댓글 0
참고: http://blog.prettymay.com/220670957502 [설치] $ sudo apt-get install lirc liblircclient-dev [핀설정] $ sudo nano /etc/modules 파일 끝에 아래 내용을 추가 lirc_dev lirc_rpi gpio_in_pin=18 <-- 연결된 핀번호 $ sudo nano /etc/lirc/hardware.conf 아래내용으로 수정 LIRCD_ARGS="--uinput" DRIVER="default" DEVICE="/dev/lirc0" MODULES="lirc_rpi" $ sudo nano /boot/config.txt [수신확인] $ sudo /etc/init.d/lirc stop $ mode2 -d /dev/lirc0 [키와 매핑하기 (record)] $ irrecord -d /dev/lirc0 ~/lircd.conf 그러면 모든 키를 입력라하는 말이 나옴. 그과정에 lircd.conf 파일이 만들어짐 $sudo cp ~/lircd.conf /etc/lirc/lircd.conf 덮어 쓰기. [데몬 시작] $ sudo /etc/init.d/lirc restart 테스트 소스 #include <wiringPi.h>
#include <lirc/lirc_client.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define LED_B 4
#define LED_R 5
#define LED_G 6
#define LED_ON 1
#define LED_OFF 0
void ledOnOff(int led) {
if (digitalRead(led) == LED_ON)
digitalWrite(led, LED_OFF);
else
digitalWrite(led, LED_ON);
}
int main() {
struct lirc_config *config;
int buttonTimer = millis();
char *code;
if (wiringPiSetup() == -1)
exit(1);
pinMode(LED_B, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(LED_G, OUTPUT);
if (lirc_init("lirc", 1) == -1)
exit(EXIT_FAILURE);
if (lirc_readconfig(NULL, &config, NULL) == 0) {
while (lirc_nextcode(&code) == 0) {
if (code == NULL)
continue;
if (millis() - buttonTimer > 400) {
if (strstr(code, "KEY_1")) {
printf("Match on KEY_1\n");
ledOnOff(LED_B);
buttonTimer = millis();
} else if (strstr(code, "KEY_2")) {
printf("Match on KEY_2\n");
ledOnOff(LED_R);
buttonTimer = millis();
} else if (strstr(code, "KEY_3")) {
printf("Match on KEY_3\n");
ledOnOff(LED_G);
buttonTimer = millis();
}
}
free(code);
}
lirc_freeconfig(config);
}
lirc_deinit();
exit(EXIT_SUCCESS);
}
Dreamy의 코드 스크랩내가 모으고 내가 보는
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5