작성
·
170
0
안녕하세요 이번에 코딩을 배우기 시작했습니다.
아두이노 우노로 배우고있구요
코딩을 했는데 원하는대로 안되서요
원하는거는 리모컨으로 신호를 주면 아두이노 시리얼통신에 수신값을 읽어 키보드를 누르는거까지입니다.
지금 상태는 시리얼통신에 수신값까진 읽힙니다. 키보드 누르는게 어렵네요
확인부탁드립니다.
#include <IRremote.h>//IR리모컨라이브러리
#include <Keyboard.h>//키보드라이브러리
int RECV_PIN = 11;//IR 수신센서 포트설정
IRrecv irrecv(RECV_PIN);
decode_results results;//구조체정의
int ledpin = 13; //LED IO핀(내부 LED 사용)
int on = 0;//플래그
unsigned long last = millis();
void setup()
{
pinMode(ledpin, OUTPUT);////디지털IO핀을 출력으로 지정
Serial.begin(9600);//시리얼포트 속도를 9600bps로 지정
irrecv.enableIRIn(); // 리모컨 수신 시작
Keyboard.begin();
}
void loop()
{
if (irrecv.decode(&results)) //IR리모컨 라이브러리 호출
{
if (millis() - last > 250) //수신신호 결정
{
on = !on;//수신신호 반전
digitalWrite(ledpin, on ? HIGH : LOW);//리모컨 수신시 LED(13)로 표시
}
Serial.println(results.value, HEX); //리모컨 수신코드를 출력
last = millis();
irrecv.resume(); // 다음 값을 수신
}
if(Serial.available())
{
char a = Serial.read();
Keyboard.write(a); Keyboard.write("KEY_ENTER");
Keyboard.write('A'); Keyboard.write("KEY_ENTER");
// Serial.println(a);
// Keyboard.press('a');
// delay(100);
// Keyboard.releaseAll();
// delay(100);
}
}
답변