모션감지센서로 AC램프를 제어하기

by 하민정 | 2017-01-03 18:15
iot 램프 모션감지센서 스마트홈 아두이노 하드웨어

재료

  • 브래드 보드 1개
  • 아두이노 우노 1개
  • 램프 소켓 1개
  • 점퍼케이블 (Male-Male) 1개
  • Sugar 디바이스 1개
  • AC C14 파워 코드 1개
  • 모션감지센서(PIR) 1개
  • AC 램프 1개


이 프로젝트는 모션감지센서를 이용해 램프를 켜보는 프로젝트입니다. 릴레이(Relay)는 AC 장치들( 여기서는 램프로 이용)을 제어하는 가장 대표적인 방법인데요, 우리는 여기서 릴레이를 사용하는 대신에 새로운 디바이스인 슈가(Sugar)를 사용해 봅니다. 


이 장치는 별도의 케이블 없이, 아두이노, 라즈베리파이, IOT 보드와 같은 다양한 플랫폼을 사용하는 AC 장치들을 제어하는데 사용이 됩니다. 

별도로, 슈가에 대해 더 궁금하신 사항은 링크를 통해 확인하실 수 있습니다. 






Step1. 준비물


- 모션감지센서

- 아두이노 우노

- Sugar 디바이스

- RJ12 케이블 

- RJ12 브레이크아웃

- AC 램프 그리고 램프 소켓 

- AC C14 파워코

- 브래드보드 

- 점퍼케이블 ( Male - Male ) 



Step2. 회로도



아두이노의 D9 핀을 슈가에 연결된 RJ12 브레이크아웃으로 연결합니다.  여기에 PWM 시그널을 주면 AC 램프를 제어할 수 있게 됩니다. 이전에  각기 다른 플랫폼에 맞추어 각각 다르게 적용해야 했던 것과는 달리, 슈가에서는 플랫폼에 상관없이 동일하게 PWM 시그널을 통해서 보다 쉽게 AC 장치들을 제어할 수 있게 됩니다. 


장치들을 연결했을 때의 모습입니다. 






Step3. 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const int PIRpin=2;
const int Sugarpin=9;
const int LEDpin=13;
int Brightness = 12;
void setup()
{
pinMode(PIRpin,INPUT);
pinMode(Sugarpin,OUTPUT);
pinMode(LEDpin,OUTPUT);
analogWrite(Sugarpin,Brightness);
}
 
void loop() 
{
  boolean PIR=digitalRead(PIRpin);
  delay(50);
  if(PIR==true)
  {
   Brightness=64; 
   analogWrite(Sugarpin,Brightness);
   digitalWrite(LEDpin,HIGH);
   delay(1000);
   while(PIR==true)
   {
     PIR=digitalRead(PIRpin);
     delay(50);
   }
   Brightness=12; 
   analogWrite(Sugarpin,Brightness);   
   digitalWrite(LEDpin,LOW);   
  }
}
cs


슈가에 연결된 AC 램프를 키고 싶을때 아래의 코드를 작성하고 

1
2
Brightness = 64; 
analogWrtie( Sugarpin, Brightness); 
cs


마찬가지로 슈가에 연결된 AC 램프를 끄고 싶을때 다음의 코드를 작성합니다. 

1
2
Brightness = 12; 
analogWrite( Sugarpin, Brightness); 
cs



Step4. 수행결과





댓글 0

MADE BY

다목적 기능의 만능시계 만들기 다음글 모션감지센서로 AC램프를 제어하기현재글