PIR (Motion) Sensor - haryunio/SweetBoardLib GitHub Wiki

μ„€λͺ…

이 μ„Όμ„œλŠ” μ›€μ§μ΄λŠ” μ‚¬λžŒμ΄λ‚˜ λ™λ¬Όμ—κ²Œμ„œ 적외선 μ‹ ν˜Έλ₯Ό νƒμ§€ν•©λ‹ˆλ‹€.
인체의 μ›€μ§μž„μ„ 감지할 ν•„μš”κ°€ μžˆλŠ” λ‹€μ–‘ν•œ κ²½μš°μ— μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
감지 κ±°λ¦¬λŠ” 7m 이며 감지 ν•  수 μžˆλŠ” κ°λ„λŠ” 100λ„μž…λ‹ˆλ‹€.

ν”„λ‘œκ·Έλž˜λ°

이벀트 λ°œμƒ 블둝 (Pebble)

  • μ„€λͺ… : 인체 감지 μ„Όμ„œμ˜ 논리값에 변동이 μžˆμ„ 경우 μ΄λ²€νŠΈκ°€ λ°œμƒν•©λ‹ˆλ‹€.

λͺ¨λ“ˆ 객체의 생성

  • κΈ°λ³Έ : PIRSensor (객체λͺ…);
  • μ˜ˆμ‹œ : PIRSensor pir;

λͺ¨λ“ˆ 객체의 μ—°κ²°

  • μ„€λͺ… : 인체 감지 μ„Όμ„œ λͺ¨λ“ˆμ„ ν•΄λ‹Ή μ†ŒμΌ“μ— μ—°κ²°ν•©λ‹ˆλ‹€. void setup() 내에 μž‘μ„±ν•©λ‹ˆλ‹€.
  • 인자 : μ—°κ²°ν•  λ””μ§€ν„Έ μ†ŒμΌ“ 번호(int)
  • λ°˜ν™˜ : μ—†μŒ(void)

  • κΈ°λ³Έ : (객체λͺ…).attach(λ””μ§€ν„Έ μ†ŒμΌ“ 번호);
  • μ˜ˆμ‹œ : pir.attach(D1);

getStatus()

  • μ„€λͺ… : 인체 감지 μ„Όμ„œμ˜ μ„Όμ„œκ°’μ„ μ½μ–΄μ˜΅λ‹ˆλ‹€.
  • 인자 : μ—†μŒ(void)
  • λ°˜ν™˜ : true, false (boolean)

  • κΈ°λ³Έ : (객체λͺ…).getStatus();
  • μ˜ˆμ‹œ : pir.getStatus();

μ‚¬μš© μ˜ˆμ‹œ

PIRSensor pir;                    //pirλΌλŠ” μ΄λ¦„μ˜ 인체 감지 μ„Όμ„œ λͺ¨λ“ˆ 객체λ₯Ό 생성함
int data;                         //μž„μ‹œ μ €μž₯을 μœ„ν•œ λ³€μˆ˜λ₯Ό 생성함

void setup() {
  pir.attach(D1);                  //SweetBoard의 Digital 1번 μ†ŒμΌ“μ— 객체 μ—°κ²°
  Serial.begin(9600);             //μ—°κ²°λœ μž₯μΉ˜μ™€ μ‹œλ¦¬μ–Ό 톡신 μ‹œμž‘
}

void loop() {
  data = pir.getValue();           //인체 감지 μ„Όμ„œμ˜ 값을 읽어 data λ³€μˆ˜μ— μ €μž₯함
  Serial.println(data);           //data λ³€μˆ˜μ— μ €μž₯된 값을 μ‹œλ¦¬μ–Ό ν†΅μ‹ μœΌλ‘œ 보냄
}
⚠️ **GitHub.com Fallback** ⚠️