111번째 강의까지 진행했는데, 온도 정보 받아오는 게 안돼요.
2
작성한 질문수 4
안녕하세요 제가 온도 센서와 FND 센서 서로 충돌 안되게 쓰레드 작업하는 걸 따라하고 있는데요, 강사님께서 따로 ds18b20의 소스를 한 디바이스를 위해 단순화 한 것을 똑같이 따라했는데 영상에서는 온도 정보가 들어오는데 저는 안 들어오는 게 확인 돼서 문의드려요~
구체적으로 소스 디버깅 해봤을 때, 크게 문제되는 것이 있었는데,
ds18b20.c 에 있는 DS18B20_Read(&OneWire, temperSensor.Address, &temperSensor.Temperature); 에서 DS18B20_Read()에 가보면
for (i = 0; i < 9; i++){
data[i] = OneWire_ReadByte(OneWire);
} 가 있는데,
여기서 for 문이 다 돌면 최종적으로 data[0~8]에 모두 255 값이 들어갑니다.. ai한테 물어보기도 했는데 255가 모드 들어가는 것은 DS18B20이 응답하지 않는 것이라고 하네요..
ai로 물어가보면서 해답을 찾아보려고 했는데, 결과적으로는 단순화한 소스에서 ds18b20 응답 하게 하는 부분(OneWire?)의 세팅에 문제가 있다라는 정도 인데..
그렇다고 친다 해도 강사님 소스로는 되는데 제 소스는 안되는게 이해가 안됩니다..
그리고 원래 단순화하기 이전 소스로는 온도 정보가 잘 들어왔어서 장비 문제는 아닌 것 같아요.
혹시 소스가 필요하시다면 이메일로 보내드릴 수도 있습니다!
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 장한별님!
DS18B20 센서의 온도 값을 읽는 과정에서 발생하는 문제를 해결하기 위해 몇 가지 고려사항을 제안드리겠습니다.
하드웨어 연결 점검:
- 온도 센서의 물리적 연결이 올바르게 되어 있는지 확인하십시오. 연결이 느슨하거나 잘못된 경우 데이터 전송이 제대로 이루어지지 않을 수 있습니다.
- FND와 같은 다른 장치와의 충돌이 없다면, 다른 장치가 회로에 혼선을 주지 않는지도 확인해야 합니다.
- 온도 센서의 물리적 연결이 올바르게 되어 있는지 확인하십시오. 연결이 느슨하거나 잘못된 경우 데이터 전송이 제대로 이루어지지 않을 수 있습니다.
소프트웨어 설정 확인:
- DS18B20_Read() 함수에서 값을 제대로 읽지 못하고 모두 255로 돌아오는 것은 센서로부터 응답을 받지 못한다는 신호입니다.
- 이는 OneWire 통신 설정에 문제가 있을 수 있다는 의미일 수 있습니다. 한 번 MSBD 레벨이나 클럭 주파수 설정 등을 다시 검토해 보시기 바랍니다.
- DS18B20_Read() 함수에서 값을 제대로 읽지 못하고 모두 255로 돌아오는 것은 센서로부터 응답을 받지 못한다는 신호입니다.
풀업 저항 확인:
- OneWire 데이터 라인에 풀업 저항(대개 4.7kΩ)이 제대로 연결되어 있는지 확인하십시오. 풀업 저항은 데이터 라인의 안정성을 위해 필수입니다.
- OneWire 데이터 라인에 풀업 저항(대개 4.7kΩ)이 제대로 연결되어 있는지 확인하십시오. 풀업 저항은 데이터 라인의 안정성을 위해 필수입니다.
센서 초기화:
- DS18B20 센서의 초기화가 제대로 수행되고 있는지, 이를 위한 모든 절차가 올바르게 코드에 구현되어 있는지 다시 점검해주십시오.
- DS18B20 센서의 초기화가 제대로 수행되고 있는지, 이를 위한 모든 절차가 올바르게 코드에 구현되어 있는지 다시 점검해주십시오.
디버깅 측면에서 확인:
- 디버깅 변수들의 상태를 확인하고,
OneWire_ReadByte()에서 실제 읽혀오는 값들의 변화를 추적하십시오. 이러한 변수 점검을 통해 특정 지점에서 실패가 발생하는지 파악할 수 있습니다.
- 디버깅 변수들의 상태를 확인하고,
기존 해결 사례:
- “DS18B20 의 Address 내부 값“에 대해 다룬 게시물에서 비슷한 문제에 대한 해결책을 찾을 수 있습니다.
- “DS18B20 의 Address 내부 값“에 대해 다룬 게시물에서 비슷한 문제에 대한 해결책을 찾을 수 있습니다.
위의 점검사항들을 확인한 후에도 문제가 지속된다면, 코드를 다시 한번 점검하며 강사님에게 직접 소스를 공유하거나, 강의 내 문의하기를 통해 문제를 상세히 설명하여 조언을 요청해 보시는 것도 좋은 방법입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
GPIO 간단 제어해보기 강의
0
34
2
브레이크포인트
0
30
1
STM IDE 설치 과정 중 에러 문의
0
24
1
STM IDE 설치 강의 중 문의
0
41
2
102. 난방실만들기4에서 디버깅 질문드립니다
0
33
1
13강 프로젝트생성해보기 관련 질문
0
51
3
난방실만들기.4 진행 중, m_state 값 초기화가 안됩니다..
0
60
2
IDE 설치 영상 관련 문의
0
65
2
[정보 공유] STM32CubeIDE 버전별 이슈 정리 (1.19 미만 / 2.0.0 이상)
0
230
2
스위치회로 value값 바뀌지 않음
0
61
2
FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.
0
81
2
FND 7세그먼트 처음 킬 때의 '7777'불이 안 들어옵니다.
0
95
2
포트에 안잡히면 x쉘에서 Port설정을 어떻게 하죠..?
0
77
2
빌드 및 디버깅 오류
0
134
2
보드에 불이 안들어옵니다.
0
85
2
씽크 오류
0
68
1
고추건조기 개발보드 전원연결 문제점..
0
92
2
회로도 핀 연결 질문
0
75
2
elf 파일을 찾을수 없다는 오류
0
86
2
Nucleo 보드로 대체
0
93
2
구매해야 하는 물품 문의
0
104
2
ST-Link 디버깅 에러
0
96
3
강의 사용하시는 pdf는 어디에 있나요?
0
118
2
이전 질문 재질문입니다.!
0
87
2





