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

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@codingman·
0.000 HBD
기울기센서(Tilt Sensor) 제어(아두이노)
# 기울기센서(Tilt Sensor) 제어(아두이노)
-----
- 온라인 가상시뮬레이터 : [AUTODESK CIRCUITS](https://www.tinkercad.com)
- 참고자료 : [LED 제어(아두이노)](https://steemit.com/kr-newbie/@codingman/led), [스위치 버턴 제어(아두이노)](https://steemit.com/kr-newbie/@codingman/36jqtv)
-----

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

## 1. 기울기센서(Tilt Sensor)
-----

![](https://i.imgur.com/TcH702r.jpg)

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


## 2. 기울기센서(Tilt Sensor) 동작 모습
-----
| 수평 | 기울어질때 |
| -------- | -------- |
| <center>![](https://steemitimages.com/350x350/https://i.imgur.com/EI8uHGZ.jpg)</center>     | <center>![](https://steemitimages.com/350x350/https://i.imgur.com/Q2D71ek.jpg)</center>      |


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

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

| (1) 기본 | (2) 내부풀업모드 |
| -------- | -------- |
| <center>![](https://steemitimages.com/350x350/https://i.imgur.com/scqffFA.jpg)</center>     | <center>![](https://steemitimages.com/350x350/https://i.imgur.com/PUrsLOq.jpg)</center>      |

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

## 3. 코딩
-----
- 사용함수 : pinMode(), digitalWirte(), digitalRead()
- 내용 : 간단히 Tilt Sensor가 기울어지면 Red LED에 불이 들어오게 한다.
- 참고 : [LED 제어(아두이노)](https://steemit.com/kr-newbie/@codingman/led),[스위치 버턴 제어(아두이노)](https://steemit.com/kr-newbie/@codingman/36jqtv)
-----
### 복습
-  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. 결과
-----
간단히 디자인 하는 모습과 실행 결과를 만들어 놨으니 한번 보시고 따라 해보세요.
https://youtu.be/ZZSQ_MV5HxQ

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

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