inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

111번째 강의까지 진행했는데, 온도 정보 받아오는 게 안돼요.

미해결

[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.

안녕하세요 제가 온도 센서와 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?)의 세팅에 문제가 있다라는 정도 인데.. 그렇다고 친다 해도 강사님 소스로는 되는데 제 소스는 안되는게 이해가 안됩니다.. 그리고 원래 단순화하기 이전 소스로는 온도 정보가 잘 들어왔어서 장비 문제는 아닌 것 같아요. 혹시 소스가 필요하시다면 이메일로 보내드릴 수도 있습니다!

  • 임베디드
  • 온도센서
  • onewire
장한별 댓글 2 좋아요 0 조회수 67

아두이노 온습도센서 lcd nan출력

미해결

제가 혹시 몰라서 밑에 링크 남겨요~ [아두이노] 온/습도 LCD에 표시하기 (tistory.com) 제가 코드를 저기 있는대로 라이브러리부터 회로까지 하나도 안틀리고 진짜 똑같이 했는데 도대체가 왜 lcd에는 TEMP: nan C HUMIDITY : 0% 가 계속 떠요. 진짜 5일째 이것만 붙잡고있는데 이제는 미쳐버리겠습니다 진짜 도와주세요ㅠㅠ 밑에는 코드입니다. #include <DHT.h> #define DHTPIN 2 // 습도센서 Signal 선 연결 #define DHTTYPE DHT22 // 습도센서 종류: DHT22 #include <Wire.h> #include <LiquidCrystal_I2C.h> DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27,16,2); // LCD주소: 0x27 또는 0x3F float hum; // 습도값 저장 변수 float temp; // 온도값 저장 변수 void setup() { Serial.begin(9600); dht.begin(); delay(2000); lcd.init(); lcd.backlight(); lcd.setCursor(2,0); delay(5000); lcd.clear(); } void loop() { hum = dht.readHumidity();//온도값 읽기 temp= dht.readTemperature();//습도값 읽기 Serial.print("HUMIDITY: "); // "HUMIDITY:" 출력 Serial.print(hum,0);// 습도 값 소수점 이하 자리 없음 Serial.print(" %, TEMPERATURE: "); //"%"(습도단위) "TEMPERATURE:" 출력 Serial.print(temp, 1);//온도값은 소수점 이하 1자리까지 표시 Serial.println(" C"); //"C" 온도 단위 표시 lcd.setCursor(0,0); // LCD Cursor 원점 lcd.print("TEMP:"); // LCD에 "temp" 표시 float t = temp; // 온도값을 t에 할당 lcd.print(t,1); // 온도값 LCD로 출력 lcd.print(" C"); // 온도 단위 표시 lcd.setCursor(0,1); //LCD 커서 줄바꿈 lcd.print("HUMIDITY:"); //LCD 2번째 줄에 "humidity:" 출력 int h = hum; //습도값 h에 할당 lcd.print(h); //습도값 LCD에 출력 lcd.print(" % "); //습도 단위 출력 lcd.println(); delay(2000); // 샘플링 간격 2초 }

  • 아두이노
  • 습도센서
  • 온도센서
  • arduino
  • 아두이노출력
  • lcd
주원호 댓글 0 좋아요 1 조회수 879

인기 태그

인프런 TOP Writers

주간 인기글