정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

조도센서를 활용한 아두이노 코딩 질문
ckshr | 2020-09-13

#include <IRremote.h>
#include <ir_Lego_PF_BitStreamEncoder.h>


IRrecv irrecv(8);
decode_results results;
int cds=A0;

void setup()
{     
  irrecv.enableIRIn();
  pinMode(9, OUTPUT);
  Serial.begin(9600);
}

void loop()
{

  
  if(irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
      int cdsValue = analogRead(cds);
 
  
    if(results.value == 0xFFE21D) {
     Serial.print("cds =  ");
    Serial.println(cdsValue);
    cdsValue = map(cdsValue, 0, 1023, 0, 255);
    cdsValue = constrain(cdsValue, 0, 255);
    analogWrite(9,cdsValue);
    delay(200);
  
    }
   
    if(results.value == 0xFFA25D) {
      digitalWrite(9,LOW);
    }
    delay(30);
      irrecv.resume();
  }
 }

 

 

주변 환경의 조도에 따라 밝기가 변화하는 장치를 만들고 싶은데, 적외선 리모컨으로 이 장치를 키고 끌 수 있게 구현하려고 해서 위의 식처럼 코딩을 했습니다 코드 오류는 없는데 리모컨의 버튼을 누를 때마다 주변 환경에 따라 밝기가 변화하더라구요 그래서 버튼을 눌러줘야 밝기가 변합니다... 아무래도 cdsValue=map 이쪽 부분 식이 저 if문 안에 들어가 있어서 그런 것 같은데 어떻게 수정해야 할까요??

이전글   |    아두이노 코드 오류 좀 알려주세요....ㅠㅠ... 2020-09-10
다음글   |    지그비와 앱인벤터 통신과 관련하여 질문드립니다.... 2020-09-19