아두이노에서 아래와 같이 했을때 원래는 잘나왔는데 최근에 아두이노 ide를 2.2로 바꾸고나서 결과가 항상 ffff나와서 검색을 해봐도 도저히 원인 파악이 안되어서
깃허브가서 확인해보니 2.대 버전 이후 사용법의 변화가 많았음 그래서 다시 라이브러리를 2.5로 내리고 컴파일해서 업로드하니 예전과 같이 결과가 잘나옴
ide 2.2에서는 라이브러리 자동 업데이트가 있는데 이걸 사용할경우 모든 라이브러리를 최신으로 바꾸다 보니 이런일이 생겨버린것임..
라이브러리 호환성을 이렇게 무시할줄은 생각도 못함 앞으로는 소스에 라이브러리 버전도 표시해서 관리해야 할듯.
if (ir.decode(&result)){
serial.print(result.vale);
}
https://github.com/Arduino-IRremote/Arduino-IRremote#converting-your-2x-program-to-the-4x-version
Example
Old 2.x program:
#include <IRremote.h>
#define RECV_PIN 2
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
...
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
...
irrecv.resume(); // Receive the next value
}
...
}
New 4.x program:
#include <IRremote.hpp>
#define IR_RECEIVE_PIN 2
void setup()
{
...
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // Start the receiver
}
void loop() {
if (IrReceiver.decode()) {
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX); // Print "old" raw data
// USE NEW 3.x FUNCTIONS
IrReceiver.printIRResultShort(&Serial); // Print complete received data in one line
IrReceiver.printIRSendUsage(&Serial); // Print the statement required to send this data
...
IrReceiver.resume(); // Enable receiving of the next value
}
...
}
'diy > 아두이노' 카테고리의 다른 글
아두이노 나노로 리모컨 카운터(계수기) 만들기 (0) | 2024.01.13 |
---|---|
리모콘 ir신호 표시기 만들기 (0) | 2023.09.30 |
이산화탄소 측정기(MH-Z14) 만들기 2 (0) | 2022.10.07 |
이산화탄소 측정기(MH-Z14) 만들기 1 (0) | 2022.10.07 |
미세먼지 측정기(sds011) 2 (0) | 2022.09.29 |