TMP36 |
이 부품을 아두이노에서 사용하려면 다음과 같이 회로를 꾸밉니다.
TMP36은 온도에 따라 전압이 달라지기 때문에 Analog Pin의 값이 변하게 됩니다. TMP36의 데이터시트(Datasheet)를 확인하면 온도와 측정되는 전압 사이의 관계가 나와있습니다.
이 회로를 유니티에서 다루려면 아두니티 Wire Editor에 다음과 같이 연결하면 됩니다.
위 정보를 아두이노 스케치로 Export하고 보드에 업로드하면 유니티에서 TMP36을 다룰 수 있는 준비가 끝납니다.
실제로 보드와 유니티를 연결하여 실험을 해보면 0 ~ 1 사이의 값이 전달되는 것을 확인할 수 있지만, 이 값을 온도로 환산해야 뭔가 활용할 수 있을 것 같습니다.
MappingInput
AnalogInput의 값을 온도로 환산할 때 유용하게 사용할 수 있는 것은 MappingInput입니다.
MappingInput은 다음과 같은 설정이 필요합니다.
- sourceName: 입력 항목의 이름
- resultName: 출력 항목의 이름
- mapCurve: 변환에 사용될 Mapping curve
Mapping Curve를 만들기 위해서는 TMP36의 특성 곡선을 잘 분석해야 합니다. 테이블 형태로 AnalogInput의 값과 온도 사이의 관계를 정의해보면 다음과 같습니다.
TMP36 특성곡선에 근거한 AnalogInput과 온도 사이의 관계 |
이것을 유니티 Curve Editor로 표현하면 다음과 같습니다.
AnalogInput과 온도 사이의 관계 Curve |
이제 MappingInput을 AnalogInput에 연결하여 온도 값이 잘 변환되어 나오는 지 봐야 합니다.
온도를 텍스트로 보여주기
TextReactor는 Unity UI를 이용해서 측정된 온도를 텍스트로 보여주는 기능을 갖고 있습니다.
TextReactor는 다음과 같은 설정이 있습니다.
- format: 숫자를 문자로 표현하는 형식 (숫자 표현 형식에 대한 참고)
이것을 MappingInput과 연결하면 Unity UI의 Text로 온도가 표현됩니다.
여기까지의 응용을 영상으로 확인하시기 바랍니다.
댓글 없음:
댓글 쓰기