인투피온 강좌/아두이노 팁(Tip)

아두이노 초음파센서를 이용한 선풍기

인투피온 2021. 12. 10. 11:43

 

 

 

안녕하세요.

아직은 이르지만 언제든지 사용할 수 있도록

초음파 센서를 이용해 선풍기를 만들어보겠습니다.

 

 

 

손이 가까워지게 되면 선풍기가 작동하게 됩니다.

 

 

 

짜잔~ 이게 완성 사진입니다!

그러면 한번 시작해보도록 하겠습니다.

 

 

 

준비물

 

 

※ 해당 글씨를 클릭하면 상품페이지로 이동하게 됩니다.

아두이노 우노 R3
아두이노 프로토 쉴드
L9110 FAN Module
초음파 센서 HC-SR04
점퍼케이블 수/수
9V 스냅단자
9V 건전지
점퍼와이어키트

 

 

 

프로토 쉴드 사용법

 

 

회로 연결하기

 

 

초음파센서 HC-SR04 L9110 FAN MODULE
GND GND VCC 5V
Echo D6 GND GND
Trig D7 INA D11
VCC 5V INB D12

 

각자 핀에 맞는 곳을 찾아 연결해주시면 됩니다.

 

 

코딩하기

 

//출력핀(trig)과 입력핀(echo) INA, INB 핀을 설정해줍니다. 다른 핀에 연결해도 됩니다.
int trigPin = 7;
int echoPin = 6;
int INA = 11; 
int INB = 12;
 
void setup(){
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(INA,OUTPUT); 
  pinMode(INB,OUTPUT); 
}
 

void loop(){
  float duration, distance;
  digitalWrite(trigPin, HIGH); //초음파를 보낸후 echopin이 HIGH 상태로 대기합니다.
  delay(20);
  digitalWrite(trigPin, LOW);
  digitalWrite(INA,LOW);
  digitalWrite(INB,LOW); 
 
  // echopin HIGH 지속시간을 저장합니다.
  duration = pulseIn(echoPin, HIGH);
  // 초음파의 속도 340, 밀리세컨드에서 세컨드로 10000
  // 초음파가 나갔다가 돌아오는 거리이므로 2로 나누어줍니다.
  distance = ((float)(340 * duration) / 10000) / 2;
 
  // 거리가 10CM 미만일 경우 팬이 회전합니다.
  if(distance <10){
    digitalWrite(INA,LOW);
    digitalWrite(INB,HIGH); 
    delay(10000);
  }

}

 

이 코드는 10cm 이내로 가까워지면 10초동안 회전하게 하였는데
이 부분은 if(distance <10)에서 10을 원하는 거리로 변경 delay(10000); 을 ex) 5초 delay(5000); 로 변경하시면됩니다.
INA, LOW 와 INB, HIGH 는 회전방향을 말합니다. LOW와 HIGH를 바꾸어주면 
반대 방향으로 회전하게 되고 둘 모두 LOW로 설정하게 되면 회전하지 않습니다.

 

 

마무리

 

 

이상으로

초음파 센서를 이용한 선풍기

를 알아보았습니다.

다음시간에는

초음파 센서를 활용한 접근금지 경보음 울리기

를 알아보겠습니다.

 

 

 

해당 내용은 인투피온 유튜브로 다시 볼 수 있습니다.

 

 

 

 

전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.

▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net