RE: 지그재그 주행 패턴 아두이노 RC카 응용 (아두이노)

You are viewing a single comment's thread from:

지그재그 주행 패턴 아두이노 RC카 응용 (아두이노)

in kr-arduino •  6 years ago  (edited)

temp = Serial.parseFloat();

그냥 Serial.read()하시면 1byte 단위로 읽게 되고 실질적으로 Serial 모니터로 출력하더라도 1byte 값으로 아스키코드값이 출력됩니다

만약 온도를 15도을 입력하게 되면
출력은
1 => 49.00
5 => 53.00
이렇게 출력됩니다. 처음공부하시는 분들이 Serial 통신을 할 때 읽는법이 익숙안해서 발생하는 오류이지요.
float형으로 읽으시면 간단히 해결 됩니다.

void setup()
{
  Serial.begin(9600);  
}
void loop()
{

  if(Serial.available()){
    float temp = Serial.read();
    Serial.println(temp);
  }
  
}

위 코딩으로 어떻게 찍히는지 테스트 해보세요.

void loop()
{
  if(Serial.available()){
    float temp = Serial.parseFloat();
    Serial.println(temp);
  }  
}

이거랑 비교하세요.

아두이노를 공부하실 때는요. 분리해서 개별적으로 테스트 해서 결과가 정상적으로 나오면 그때 소스를 합쳐주세요. 그래야 오류 문제를 쉽게 해결할 수 있어요.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

정말 감사합니다!.
이해가 잘 됬습니다.
parseFloat로 float형 으로 입력을 받겠다고 해주는거군요.
값이 잘 나옵니다. 5 입력하면 5.0으로 소수로 잘 나옵니다!!
혹시 지금 시간 괜찮으시면 카카오톡 아이디좀 알 수 있을까요?
몇가지 궁금한게 좀더 있어서요 .. ㅠㅠ

이메일을 적어주시면 그쪽으로 연락 드릴께요.

  ·  6 years ago (edited)

감사합니다.

확인메일보냈어요