기울기센서(Tilt Sensor) 제어(아두이노)

in #kr-newbie6 years ago

기울기센서(Tilt Sensor) 제어(아두이노)



오늘도 쉬운 난이도로 기울기센서를 이용한 실험을 다루겠습니다. 기울기센서는 기울기에 따라서 연결되고 끊어지는 두가지 상태를 나타내고 그 상태값을 기준으로 스위치 역활로 수행 할 수 있습니다. 실험에서는 스위치 역활로 기울기에 따라서 Red LED에 불이 들어오고 꺼지는 동작 제어를 통해 Title Sensor를 이해하는 시간을 갖도록 하겠습니다.

1. 기울기센서(Tilt Sensor)


Tilt Sensor는 안에 들어있는 전류를 흐를 수 있는 물질이 들어 있어서 기울기에 따라 센서안에 두 단자를 연결하거나 끊어지게 할 수 있습니다. 가상시뮬레이터에서 수평과 기울기 모양을 나타내는 조절이미지가 있는데 이걸로 Tilt Sensor를 조절하고 출력은 스위치버턴과 동일하게 출력값을 얻으시면 됩니다.

2. 기울기센서(Tilt Sensor) 동작 모습


수평기울어질때

그림에서 보는것과 같이 기울어질때 값을 기준으로 Red LED에 불이 들어오게 됩니다. 스위치 버턴 제어(아두이노)의 실험예제에서 스위치 버턴위치에 Tilt Sensor가 바뀌었을뿐 동일한 예제입니다. 어떤 동작을 하는 센서인지 대충 감이 잡히셧을꺼에요.

1. 회로도 구성


  • 준비물 : LED 1개, 저항 220옴 1개, 저항 10k옴 1개, Tilt Sensor 1개, 아두이노우노, 뻥판
  • 내용 : Tilt Sensor를 통해 기울어지는 상태값을 Red LED로 출력하게 하자.

(1) 기본(2) 내부풀업모드

두가지 형태로 표현해 볼 수 있습니다. 스위치버턴 예제를 다시 보시고 한번 풀다운모드 형태로 회로도를 한번 디자인 해보세요.

3. 코딩



복습

  • pinMode(사용핀, OUTPUT) : 사용핀은 출력모드
  • digitalWrite(사용핀, 상태) : 디지털출력핀에 상태가 HIGH(5V) or LOW(0V)를 선택한다.
  • digitalRead(사용핀) : 전기신호를 입력받는다.

설계

  1. Tilte Sensor에서 수평과 기울어졌을때의 값을 읽어들인다. => digitalRead(입력핀)
  2. 그 읽은 신호값을 기준으로 Red led에 불이 들어오게 한다. =>
    if(입력값==LOW) digitalWirt(출력핀,HIGH);
    else digitalWirt(출력핀,LOW);

코딩을 전체적으로 하면

(1) 기본 코딩은

void setup()
{
  pinMode(13, OUTPUT);      
  pinMode(7, INPUT);    
}

void loop()
{     
   if(digitalRead(7)==LOW) digitalWrite(13, HIGH);       
   else digitalWrite(13, LOW);     
}

(2) 내부풀업 코딩은

void setup()
{
  pinMode(13, OUTPUT);      
  pinMode(7, INPUT_PULLUP);    
}

void loop()
{     
   if(digitalRead(7)==LOW) digitalWrite(13, HIGH);       
   else digitalWrite(13, LOW);     
}

둘 차이는 PinMode() 함수에서 입력모드만 변경해주면 된다. 코딩 로직은 따로 수정할 게 없다.

5. 결과


간단히 디자인 하는 모습과 실행 결과를 만들어 놨으니 한번 보시고 따라 해보세요.

마무리


Tilte Sensor의 동작 제어를 해보았습니다. PIR Sensor는 두가지 상태값으로 스위치 역활을 이번 실험에서 실행해 보았습니다. 여기에 피에조부저를 부착해서 소리를 만들어 내면 경보기도 될 수 있겠죠. 아니면 어떤 물체의 특정 대상이 될때 대상이 된 물체가 기울어졌는지 수평인지를 체크하는 용도로도 사용할 수 있겠죠.

한번 기울기센서를 이용해서 어디에 적용해 볼까 상상의 나래를 펼쳐보세요.

Sort:  

코딩하시는 분들 부럽습니다.
언젠가는 한번 도전을..

저는...기계치에....컴맹인 사람이라 ...코드가 뭔지...정확히는 모르지만 이렇게 만드시는 분들 보면 참 대단하신거 같아요!!!
저도 한번 시간 될때 배워서 간단한거라도 만들어 보고 싶어요 ㅎㅎ

쉽게 가상시뮬레이터에서 동영상에 나온 것처럼 배치하고 나서 코딩 부분도 그냥 복사해서 붙여서 동작을 실험 해보세요.
그러면서요 호기심이 생기고 뭔가를 표현해보고 싶어지고요.
그러다 보면 관련된 자료들을 검색하게 되고 또 만들어 보고 싶어지고 그러면서 즐기게 돼요.
아두이노를 보면 코딩에 집중하는 사람이 있고 회로 설계에 집중하는 사람이 있습니다.
암것도 몰라도 아이템만 있으면 코딩에 집중한 사람들의 자료를 찾아서 코딩하고 회로 설계에 집중한 사람들의 회로도 자료를 찾아서 참고해서 디자인하여 원하는 걸 쉽게 만들 수 있어요.

아!!!! 감사합니다!!! 한번 시간내서 제가 만들고 싶은걸 찾아봐야겠어요!!!헤헤헤헤
하는 방법에 대해 말씀해주셔서 감사합니다 : )

저는 기계엔지니어라 전기쪽도 관심이 좀 있습니다
저런 프로그램이 있는지 처음알았어요
교각같은곳에 설치해두면 또는 크레인에 2차 피해를 줄일수있어 좋겠네요

생각을 하면 많은곳에 사용이 가능하겠죠. 기울기 센서안에 내용물이 +,-단자가 있는데 내용물이 전류가 흐를 수 있는 내용물이라서 일정 기울기에 따라 두단자를 연결하고 끊어지고 해서 아마 적용하기는 애매할 듯요.
기울기센서면 대충 차단장치의 스위치용으로 사용해도 좋겠죠.
가령 전류가 계속 공급되다가 그 선택 대상에 기울기가 발생하면 전류를 차단하는 스위치로도 활용하면 좋겠죠.

리미트나 포토센서만으로도 스위치를 대체할수 있으니 여러 각으로 만들어서 원하는 여러 각도마다 멈춰설수있는 그런용도로 사용할수 있을꺼 같은데요

오! 좋은 발상이시네요!

ㅎㅎ 일단 따라해 보겠습니다 이런거 재미있어요 먼가 원리를 파악래 가는거 같아서요 ^^

하나의 부품의 동작 원리를 이용해 기발한 상상을 더해 다른부품들과 연결하여 새로운 것들을 만들어내는게 엄청 재밌는 것 같아요.

오오 수평 체크도 되는군요.

가장 손쉬운 부품으로 수평체크를 할 수 있고요. 자이로센스라고 있는데 바향을 측정 할 수 있어요. 스마트폰있죠 스마트폰을 수평으로 보다가 수직으로 세우면 화면 전환하는 것을요. 일상의 알게 모르게 우리가 다 사용하는 것들이지요.

6050은 사용해봤는데, 이것도 응용해볼 분야가 꽤 많겠네요. 잘 봤습니다:)

mpu-6050을 사용해보셨다니 재밌는것 많이 만드셨겠어요.
그 부품으로 할 수 있는게 참 다양해서 잘만 이용하면 재밌는 것 많이 만들어 낼 수 있어서 괜찮은 부품 중의 하나이지요.

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.028
BTC 64911.06
ETH 3194.94
USDT 1.00
SBD 2.60