기울기센서(Tilt Sensor) 제어(아두이노)
kr-newbie·@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) -----  Tilt Sensor는 안에 들어있는 전류를 흐를 수 있는 물질이 들어 있어서 기울기에 따라 센서안에 두 단자를 연결하거나 끊어지게 할 수 있습니다. 가상시뮬레이터에서 수평과 기울기 모양을 나타내는 조절이미지가 있는데 이걸로 Tilt Sensor를 조절하고 출력은 스위치버턴과 동일하게 출력값을 얻으시면 됩니다. ## 2. 기울기센서(Tilt Sensor) 동작 모습 ----- | 수평 | 기울어질때 | | -------- | -------- | | <center></center> | <center></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></center> | <center></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는 두가지 상태값으로 스위치 역활을 이번 실험에서 실행해 보았습니다. 여기에 피에조부저를 부착해서 소리를 만들어 내면 경보기도 될 수 있겠죠. 아니면 어떤 물체의 특정 대상이 될때 대상이 된 물체가 기울어졌는지 수평인지를 체크하는 용도로도 사용할 수 있겠죠. 한번 기울기센서를 이용해서 어디에 적용해 볼까 상상의 나래를 펼쳐보세요.
👍 codingman, csnv21, beoped, kaine, jongeun, reggie031, bramd, soyo, spiritboxer, kim0jh0, saloon1st, skan, riverbrane, steamsteem,