정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

SD카드에 기록한 값이 세로로 나옵니다.
전우석 | 2015-08-22

원기옥 님께서 도움을 주신덕분에 sd카드에 기록하게끔 예문을 작성하는데 성공하였습니다.

근데 저장된 파일을 열어보니 아래와같이 세로로 기록이 되더군요

Temperature:
26.80
deg C
Pressure:
99589
Pa
Altitude:
145.52
m
690
%

시리얼모니터 (9600레이트)를 통해서 볼 땐 문제가 없었는데, 기록된 값은 전부 위처럼 세로로 기록되네요

+습도가 53.1%라고 기록이 안되고 531%로 기록이 됩니다. 마찬가지로 시리얼모니터에선 전자와 같이 정상적으로 나오는데, 기록된 값을 후자와 같이 *10 되어서 나오네요..

한번만 더 도움주신다면 감사하겠습니다!^^

프로필사진

원기옥 2015-08-23 12:26:33

File 객체(SD.open()으로 부터 생성된)의 print 함수의 입력 파라메터는 아래와 같습니다.

print (char, byte, int, long, or string) 

즉 floating 값은 받아들이지 않습니다. 따라서 변환이 필요하고요.  float 변수를 직접 쓰지 마시고, 문자열(string)으로 변환하셔서 쓰시면 별 문제 없을 것 같네요.

 

줄바뀜 현상도, 물어보시는 내용만으로는 잘 모르겠고, print는 동일하게 줄바뀜(carriage return + new line 캐릭터: \r\n)문자열이 붙지 않는데 이상하군요. 다시한번 잘 살펴보시고 그래도 문제가 생간다면 위의 동일하게 하나의 문자열로 만들어 한번에 써보세요.

 

프로필사진

전우석 2015-08-24 19:18:15

항상 친절한 답변 감사합니다~!

프로필사진

쿨리오76 2015-08-25 09:19:31

저도 해보니 잘되네요 !! 고맙습니다.

이전글   |    SD카드에 센서 측정값 저장 2015-08-22
다음글   |    IoT와 모바일 디바이스를 통한 제조 공정의 변화... 2015-08-25