[아두이노#600] Arduino에 오일레벨센서(Oil Level Sensor)를 연결해서 디스플레이에 출력해보기!(녹칸다의 아두이노 시즌2)
프로그래밍/아두이노 호작질 2024. 6. 24. 22:58
https://youtube.com/live/w3T-ZfTVI1A
[아두이노#600] Arduino에 오일레벨센서(Oil Level Sensor)를 연결해서 디스플레이에 출력해보기!(녹칸다의 아두이노 시즌2)
녹칸다의 아두이노 시즌2 시리즈이다!
시즌2에서는 아두이노 IDE가 아니라 VS Code로 코딩을 한다!
(장점도 있고 단점도 있음! 그런데 장점이 약간 더 많은거 같음!)
이번편에서는 아두이노에 오일레벨센서를 연결하고 수위를 측정해보도록 한다!
녹칸다가 준비한 오일레벨센서는 자동차 연료통에 있는 센서와 같은 종류이다!
보통의 수위센서는 부착 위치에 물이나 기름이 있는지 없는지를 측정한다!
그러나 이 센서는 부력체가 있고 부력체의 위치를 이용해서 수위를 측정한다!
측정결과를 0~100%범위로 계량할 수 있는 것이다!
기본적인 원리를 알아보도록하고 각종 예제를 구현하도록 한다!
그리고 향후에 스마트팜의 양액통에 수위를 측정하는데 응용해보도록 한다!
(깨알지식)
1.오늘 녹칸다가 준비한 센서는 오일 레벨센서 혹은 오일 플로트 센서라고 부른다!
2.유체와 직접 접촉해서 부력체의 높이를 저항값으로 출력하는 일종의 가변저항이다!
3.가장 높은 위치에 있을때 저항값은 190옴에 해당한다!(대부분 그러하다)
4.측정값이 선형적으로 측정되는 것은 아니고 예상하기로 한 8~10단계정도로 측정되는 듯하다!
5.아두이노가 센서값을 측정하는 원리는 전압분배법칙에 따라 저항값을 측정하면 된다!
6.전압분배방식으로 연결할때 고정저항값은 120옴으로 적용하는데 인터넷에는 100옴을 사용하더라~
7.예제1번을 만들어보니 저항값이 0~190옴사이로 측정이 안되는데요?
(예제목차)
1.오일레벨센서를 아두이노 A0에 연결하고 현재 위치에 따라 바뀌는 저항값을 측정하시오!(옴미터는 구현하시오)
2.예제1에서 측정한 저항값을 0~190옴사이로 항상 나오도록 하고 백분율로 계산하시오!
3.예제2에서 계단식으로 출력되는 값을 필터를 걸어서 측정값이 있는 것처럼 위장하시오!(로우패스필터)
4.예제3에서 필터값에 초기값을 적용하시오!(함수화)
5.예제2에서 로우패스필터가 아니라 이동평균필터를 적용하시오!
6.LED 10개를 연결해서 오일레벨센서의 위치를 10%단위로 표현하시오!
7.예제6번을 조금더 초보용 버전으로 다운그레이드 하시오!
8.오일레벨센서의 측정값을 I2C버전의 1602LCD에 출력하시오!(liquidcrystal i2c 라이브러리 필요함)