정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

앞선 질문에 대한 추가내용 입니다.
신기섭 | 2016-06-09

http://kocoafab.cc/fboard/view/720 여기서 질문드렸었는데요, 

 

제가 설명없이 그냥 코드만 던져놓고 있었네요... ㅜㅜ

 

지금 모형화장실을 만들고 있는데 습도센서와 초음파센서로 변기 위 천장에 달아서 사람이 앉으면

 

서보모터로 만든 문이 열리고 팬이 돌아가게끔 구성하고 있습니다.

 

문이 열리고 닫히는 각도는 지정해놓았고 초음파 거리와 습도값은 임의로 지정하였습니다.

 

대략적인 구성으로는

 

1. 습도센서를 통해 습도가 높을 때 팬 작동

2. 습도가 기준치보다 낮아도 사람이 일정 시간 이상 앉아있을 때 팬 작동

 

그래서 초음파센서가 인식하는 거리가 일정 거리 이하가 되었을 때(사람이 앉았다고 가정) stay상수를 +1합니다. 이렇게 stay상수가 3이상이 되면 사람이 일정시간 이상 앉아있다고 인식하게 했습니다.

서보모터는 팬의 문을 개폐하는 역할을 합니다.

 

이를 위한 조건은 아래와 같습니다.

 

1. 습도가 기준치 이상일 때

서보모터의 각도를 조절하여 문을 열고 팬을 작동시킵니다.

2. 습도가 기준치 이하일 때

2-1. 사람이 일정 시간 이상 앉아있을 때(stay 상수가 3이상)

서보모터의 각도를 조절하여 문을 열고 팬을 작동시킵니다

2-2. 그 외의 경우

서보모터의 각도를 조절하여 문을 닫고 팬을 멈춥니다

 

으로 짜보았는데

 

거리가 가까워지면(변기에 앉으면) 문이 열리고(서보모터 작동) 팬이 돌아가고

 

다시 멀어지면 (변기에서 나오면) 문이 닫히고 팬이 멈추는데

 

문제는 여기서 싸이클이 멈춰 다음으로 넘어가지 않습니다.ㅜㅜㅜ

 

 항상 질문에 답변해주셔서 감사합니다.

이전글   |    아두이노 관련해서 질문드립니다 2016-06-08
다음글   |    아두이노우노 뮤직 쉴드 관련 질문입니다 2016-06-09