BASIC4MCU | 질문게시판 | 온도센서 질문입니다.
페이지 정보
작성자 오기 작성일2019-12-14 19:31 조회5,122회 댓글1건본문
atmega128
lm35(온도센서) 61번핀 PF0 - ADC1
부저 / 17번핀 PB7 - OC2/OC1C
lm35는 데이터시트상 핀배열대로 vcc 그라운드 data 순으로 배열
부저는 그라운드 data 배열
https://www.basic4mcu.com/bbs/board.php?bo_table=gesiyo13&wr_id=149
마스터님께서 보내주신 예제를 이용하여 코딩해본 결과 작동안됨
이 예제와 다른 점은
LCD를 사용 안한다는 점 - 배제
op앰프를 사용 안한다는 점 - 벨류를 5000으로 수정
그래도 안돼서
혹시나 하는 마음에
DDRB=1 -> DDRB=0xFF 변경
if(temp_f>895)PORTB=1; else PORTB=0; -> if(temp_f>895)PORTB.7=1; else PORTB.7=0; 변경
온도값 건드려보니 부저 작동
하지만 온도값이 상식선을 벗어난 값이라 이상하다여겨 온도센서를 빼보았더니 전원이 켜진상태면 온도센서 유무와 상관없이 계속 부저가 울림
이상해서 오실로스코프로 확인결과 lm35 온도센서가 손으로 쥐어도 스코프상 값이 계속 일정함
lm35가 두개 있어서 바꿔끼어도 같은현상이 일어나는데 어떤 문제가 있는지 짐작하실 수 있나요?
상식수준의 난이도지만 지식이 없는 저에게는 너무 큰 산이네요..
댓글 1
조회수 5,122master님의 댓글
master 작성일
부저를 예제와 같은 포트에 연결하지 않았나봅니다.
LM35는 1도가 올라가면 10mV가 상승합니다.
손으로 잡아서 5도가 올라갔다고 하더라도 50mV(0.05V)가 올라간 것이라서 오실로스코프 게인을 조정하지 않으면 눈에 잘 띄지는 않습니다.