정보나눔

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

적외선 동작 감지센서로 적외선 온도 감지를 하려고 합니다.
유키 | 2020-12-06

안녕하세요. 아두이노 제품으로 적외선 동작 감지 센서가 인식을 하면, 적외선 온도 감지가 작동을 하게 하려는데 

void loop 함수를 이중으로 해야할지, 아니면 켜질 경우세 적외선 온도 감지센서 코드를 넣어야 할지 헷갈립니다.

우선 사용하는 아두이노 보드는 아두이노 UNO 이며, 

PIR 센서 (모델명 HC-SR501) 과 비접촉식 적외선 온도 감지 센서 (GY-MCU90615)를 사용하고 있습니다.

제가 구상하고 있는 코드는 아래와 같습니다.

#include<SoftwareSerial.h>
SoftwareSerial mySerial(10,11);
unsigned char output[33];
unsigned char need[2];
int ledPin1 = 9;      // 1번 LED 
int ledPin2 = 8;      // 2번 LED 
int inputPin = 7;     // 센서 신호핀
int pirState = LOW;   // 센서 초기상태는 움직임이 없음을 가정
int val = 0;          // 센서 신호의 판별을 위한 변수
void setup(){
    pinMode(ledPin1, OUTPUT);    // 1번 LED를 출력으로 설정
    pinMode(ledPin2, OUTPUT);    // 2번 LED를 출력으로 설정
    pinMode(inputPin, INPUT);    // 센서 Input 설정
    Serial.begin(57600);         // 시리얼 통신, 속도는 57600
  while(!Serial){
    ;  
    }
mySerial.begin(115200);
  mySerial.write(0xA5);
  mySerial.write(0x45);
  mySerial.write(0xEA);
}

void loop(){
  val = digitalRead(inputPin);         // 센서 신호값을 읽어와서 val에 저장
    
  if (val == HIGH) {                   // 센서 신호값이 HIGH면(인체 감지가 되면)    
    digitalWrite(ledPin1, HIGH);       // 1번 LED ON
    digitalWrite(ledPin2, LOW);        // 2번 LED OFF 
    {
  if(mySerial.available()){
    Serial.print("Taking Readings");
    for(int counter=0;counter<=32;counter++){
      output[counter] = (unsigned char)mySerial.read();
      Serial.print(".");
    }
    for(int obj=0;obj<=32;obj++){
      if(output[obj]==0x5A){
        need[0] = output[obj+4];
        need[1] = output[obj+5];
        float temp = (float)(need[0] << 8 | need[1])/100;
        Serial.println();
        Serial.println("Temperature is: ");
        Serial.print(temp);
      }
      else{//No need to do anything}  
    }
    delay(100);
    }
  }
}

   } 
   else {                             // 센서 신호값이 LOW면(인체감지가 없으면)
    digitalWrite(ledPin1, LOW);       // 1번 LED OFF
    digitalWrite(ledPin2, HIGH);      // 2번 LED ON
      }

이전글   |    I2C모듈 2개를 함께 쓸 수 있는 방법은 없나요...? ... 2020-12-05
다음글   |    제발..과제가 오늘까지예요 도와주세요ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ... 2020-12-08