[아두이노] 마그네틱도어센서+멜로디 트렌지스터 응용

IOT/아두이노|2019. 7. 31. 09:00

[아두이노] 마그네틱도어센서+멜로디 트렌지스터 응용



오늘은 지난시간에 다룬 멜로디 트렌지스터를 가지고 마그네틱도어센서에 연동하여 출입문 알림이를 상상해보는 시간을 가져 보았습니다. 일상에서 사용되는 여러가지 응용들을 중에 이 주제를 선택한 이유는 아주 간단한 원리로 동작하기 때문입니다. 실제 부품이 없는 상태에서도 충분히 상상코딩이 가능하기 때문입니다. 편의점 같은 장소에서 출입문을 열고 들어가면 멜로디가 나오는 상점들을 한번쯤은 들어보셨을 꺼에요. 그러면 어떻게 멜로디가 나오는 것일까요. 아주 간단합니다 .출입문 쪽에 마그네틱도어센서가 부착되어 출입문이 닫혀있을 때와 열렸을 때 마그네틱도어센서의 값은 1 or 0 의 상태값이 발생하고 그 값을 통해서 멜로디 IC를 작동시켜 출입문이 열렸을 때 멜로디가 연주 되게 회로도를 구성하면 됩니다.

그러면 마그네틱도어센서로 어떻게 멜로디 IC를 동작시키는지 아두이노로 간단히 상상 테스트를 해보도록 하죠.

1. 마그네틱도어센서



마그네틱도어센서는 일반 스위치와 같은 용도로 사용합니다. 위 그림에서 보는 것처럼 두개의 물체로 구성되어 있고 한쪽 물체에 두개의 전선 가닥이 연결되어 있습니다. 한쪽 전선에 전류를 Input(입력) 되면 다른 전선은 Output(출력) 역할을 합니다. 전선이 연결되어 있는 물체 몸체와 반대면 물체 몸체가 가까워지거나 멀어질 때 Output(출력) 상태는 1 or 0의 상태가 됩니다. 즉, 두 물체가 가까워지거나 멀어질 때 전선이 연결된 위치에 자력에 의해가 연결되거나 끊어지게 되는데 전류의 상태는 1 or 0 됩니다.

2. 마그네틱도어센서+Melody IC 회로도(도어상태알람)



마그네틱도어센서를 실제 가지고 있지 않아서 대충 상상력을 동원하여 회로도를 만들어 보았네요. 사전학습 post의 아두이노에 연결한 멜로디 IC를 간단히 표현했는데 거기에 마그네틱도어센서만 추가로 부착해 봤네요.


3. 코딩


실제로 실험을 못하기 때문에 코딩은 최대한 오류가 없는 방향으로 상상코딩을 해보도록 하겠습니다.

편의점 같은 장소에서 출입문을 열고 들어가면 잠깐 멜로디가 나오는 것을 들으신 적이 있을 꺼에요. 그걸 상상코딩을 해보도록 하겠습니다.

우선 마크네틱도어센서가 가까울 때(닫힘)는 "1" 상태이고 멀어질 때(열림) "0"상태라고 가정하겠습니다.

회로도의 센서값 읽기는 디지털 상태가 0 or 1을 읽는 digitalRead()함수를 사용하니깐 아래와 같이 코딩합니다.

int senserValue = digitalRead(마그네틱도어센서핀);

0 or 1상태에서 멀어질 때(열림) 멜로디 연주가 시작이 되어야 하기 때문에 다음과 같이 코딩 합니다. senserValue값에 따라서 해당 2번핀에 digitalWrite()함수로 전류를 출력하면 멜로디가 연주되고 전류를 차단하면 멜로디가 중단 되게 코딩을 하면 됩니다.

if(senserValue==LOW) digitalWrite(멜로디핀,HIGH);
else digitalWrite(멜로디핀,LOW);

종합해보면,

const byte melodyPin = 2;
const byte swPin = 3;

void setup(){
  pinMode(swPin,INPUT);
  pinMode(melodyPin,OUTPUT);
}
void loop(){
  int senserValue = digitalRead(swPin);
    
  if(senserValue==LOW) digitalWrite(melodyPin,HIGH);
  else digitalWrite(melodyPin,LOW);
    
  delay(50);
}

대충 위와 같은 코딩으로 표현 하면 될거라 생각 되네요. 따로 문제가 되는 부분은 없고 간단한 실험을 했기 때문에 회로도나 코딩에는 문제가 없을거라 생각됩니다.

마무리


마그네틱도어센서는 서로 전선이 연결되어 있지 않는 상태에서 자력의 원리를 이용하여 전류의 흐름을 제어할 수 있는 부품이라 참 재밌는 부품입니다. 이 부품으로 도어상태알람을 상상 실험을 했지만 이것 말고도 다양한 응용 분야에 사용되고 있습니다. 가령 창문에 연결하면 방범알람이로 디자인 할 수 있습니다. 여기에 추가로 Bluetooth or Wifi 같은 무선 모듈을 연결하면 스마트폰으로 방범 정보를 전송할 수 있게 됩니다. 집 같은 장소에다가 방범장치로 활용하면 원격으로 정보를 스마트폰으로 수신할 수 있어 꽤 유용하겠죠. 이걸 계속 업그레이드 하면 더 재밌는 것을 만들어 내실 수 있을 꺼에요.

그리고 마그네틱도어센서 대신에 근접센서나 인간감지센서와 같은 부품을 접목한 다양한 표현들이 현실에 존재합니다. 한번 어떤 것들이 있는지 찾아 보세요. 그리고 아두이노시각으로 그걸 한번 구현해 보세요.

댓글()

[아두이노] 멜로디 트렌지스터

IOT/아두이노|2019. 7. 30. 09:00

[아두이노] 멜로디 트렌지스터



오늘은 특정 멜로디 트렌지스터(UTC UM66TXXL) 부품에 대해 이야기를 하고자 합니다. 참 재밌는 부품으로 이 부품에 스피커를 연결하고 전류를 공급하면 멜로디가 흘러 나옵니다. 멜로디가 나오는 부품은 활용 분야가 엄청 많습니다. 여러분들도 일상에서 한번쯤은 접해 봤을 꺼에요. 편의점 문을 열때 멜로디가 나오거나 자동차 후진음으로 멜로디를 들어 보신분들이 많을꺼에요. 그리고 경보장치, 알람장치, 장난감 등에서 한번쯤은 들어 보셨을 거라 생각합니다. 이렇게 열거한 곳에서 멜로디 트렌지스터가 사용 됩니다.

이제 멜로디 트렌지스터를 어떻게 사용하는지 간단히 살펴보도록 하죠.

1. 멜로디 트렌지스터(데이터시트 내용을 간단히 정리)



링크 걸어 놓은 UTC UM66TXXL데이터시트에 가시면 자세히 이 부품에 대한 설명이 나와 있습니다. 데이터시트에 나온 내용 중 최소 알아야 할 부분만 발췌해서 아래와 같이 정리 했습니다. 자세히 보고 싶으시다면 위 출처에 가셔서 확인하시면 되겠습니다.


부품은 간단합니다. 그리고 데이터시트에 가셔서 보시면 2개의 형태의 회로도가 아래와 같습니다.

출처 : 데이터시트 (p4)



위 회로도는 데이터시트에 나와 있는 기본 회로도 입니다. 스위치 버턴을 이용하여 피에조부저와 스피커로 멜로디를 출력하는 회로도 이더군요. 그림2은 전자부품 쇼핑몰에 가시면 키트로 판매하더군요 약2천 얼마였던 것 같은데 잘 기억이 안나네요.

여기서 아두이노에 연결하여 실험한다면 스위치 부분만 아두이노우노의 핀에 연결하시면 아두이노 우노에서 제어가 가능해 집니다.

참고로, 이 부품은 한곡의 멜로디가 담겨져 있지만 부품 번호에 따라서 멜로디가 다릅니다. 데이터시트에 나온 멜로디 리스트는 다음과 같습니다.


"XX" 위치에 Number를 통해 곡이름을 알 수 있습니다.

참고로, 해당 부품의 가격은 개당 400~500원 사이의 가격정도 되더군요. 사실 실험을 하기 위해서 약 500원짜리 부품을 구매하기 위해서 택배로 주문 하는 것 자체가 너무 낭비인 것 같아서 실제 구매해서 실험을 해보고 싶었지만 아쉽게 못해봤네요.

2. 멜로디 트렌지스터 회로도


데이터시트에서 그림1번 회로도는 아래 그림과 같습니다.


위 그림의 회로도를 아두이노우노와 연결하면 다음과 같습니다.


이렇게 3번핀을 스위치버턴의 역활을 수행하면 됩니다. 참고로 아두이노우노의 출력값은 0~5V입니다. 그래서 5V로 전류를 보내기 보다는 멜로디 IC은 "1.5V~4.5V" 전류를 맞춰야 하기 때문에 저항을 붙여주셔야 겠죠.

3. 코딩


void setup() {  
  pinMode(3, OUTPUT);  
}
void loop(){
 digitalWrite(3, HIGH);  //3초 멜로디 연주 시작
 delay(3000);
 digitalWrite(3, LOW);  //2초 멜로디 중단
 delay(2000);
}

3번핀이 스위치 버턴 역활을 하기 때문에 결과는 3초동안 멜로디 IC의 곡이 연주되고 2초동안 멜로디 연주가 중단됩니다. 간단히 동작 테스트입니다. 실제 부품으로 실험 할 때는 한곡의 시간을 측정하시고 그 시간만큼 delay를 주고 멜로디를 연주해 보세요.

결과는 사실 멜로디 IC가 없기 때문에 확인 할 수 없습니다. 하지만 대충 동작 느낌은 아시겠지요.

4. 비슷한 예제(과제)



거리경보장치 응용 post에 가시면 초음파센서를 이용하여 장애물 감지가 되면 경보음이 울리는 예제입니다. 이 예제에서 수정하는 부분은 피에조부저 부분에 멜로디 IC을 연결하시면 됩니다.


위 회로도에서 화살표가 가리키는 녹색선에다가 멜로디 IC를 연결하시면 됩니다. 코딩은 post에서 거리에 따른 멜로디가 연주가 되어야 하는데 이 경우는 특정 거리일 때 연주가 되어야 합니다.

그러면 연주시작/중지는 특정 거리를 기준으로

  if(distance < 50)  digitalWrite(11, HIGH);  
  else  digitalWrite(11, LOW);  

이렇게 11번이 스위치 연할을 담당하여 초음파센서로 측정한 거리를 기준으로 전류를 공급과 차단을 통해서 제어를 하면 됩니다.

간단히 설명했지만 실제로 멜로디 IC가 있으시면 직접 제작해 보세요. 위 회로도와 똑같이 만들 필요가 없습니다. 대충 거리경보장치의 동작 원리와 비슷한 실생활의 유사한 장치를 찾으시고 그 모습을 아두이노로 표현하시면 됩니다.

마무리


간단히 멜로디 IC를 통해 특정곡이 연주하는 방법을 살펴 보았습니다. 원리를 간단합니다. 2번핀에 전류를 공급하고 3번핀에 멜로디 신호가 나오고 3번핀에 스피커를 연결하면 멜로디 IC에 담겨진 곡이 연주가 됩니다.

오늘 내용은 별거 없습니다. 사실 실생활의 멜로디 IC는 아두이노와 같은 곳에다 프로그램을 이식해서 사용하기 보다는 하드웨어적 전류의 상태를 이용하여 동작하게 합니다. 즉, 스위치 부분의 특정 센서나 제어 부품을 부착하고 타이머관련 부품을 연동하여 전류를 일정시간동안 유지하게 해서 멜로디가 흘러나오게 하는 경우가 많습니다. 구지 아두이노에 연결하여 동작하는 실험을 한 이유는 확장성 때문입니다. 사실 하드웨어적으로만 제어하면 여러가지의 부품을 연동 할 때 회로도를 구성하기가 복잡합니다. 비전문가분들은 사실 회로도를 만드는 자체가 어렵습니다. 하지만 이 부품을 아두이노에 연결하면 아두이노의 핀값을 프로그램을 통해 제어하기 때문에 오늘 배운 멜로디 IC 뿐아니라 다른 부품과의 연동에서 쉽게 회로도를 만들 수 있습니다. 오늘 내용는 아두이노 3번핀을 멜로디 IC의 스위치 버턴 역할을 수행할 수 있다는 것은 별거 아닌 내용이지만 무척 중요한 내용입니다. 예로 감지센서값을 아두이노에서 읽고 그 값을 기준으로 멜로디 IC를 작동 시킨다고 생각해보세요. 경보기, 알람기 등을 아두이노로 만들 수 있겠죠. 회로도도 사실 각 부품을 아두이노 핀에 연결만 하면 쉽게 만들 수 있습니다.

제가 지금까지 post한 것 중에 한번 이 멜로디 IC를 결합하여 만들 만 한 것이 있는지 한번 찾아보세요. 순간 떠오른 것은 아두이노 RC카에다가 후진할 때 멜로디가 연주되게 하면 자동차 후진음과 같과 같은 형태로 재밌게 만들 수 있을 것 같네요. 하지만 부품이 없어서 실제로 실험을 못하는게 아쉽습니다. 나중에 기회가 되면 한번 구매해서 실험해 보고 싶네요.

댓글()