정보나눔

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

아두이노 소스 질문드립니다
박창영 | 2016-09-06

void loop() {
if(Serial.available()){
  select=Serial.parseInt();
  
  switch(select){

    case 1: 
            Serial.println("드론의 현재위치 GPS 값");
            gpsvalue(gps); 
             
             Serial.println("===========================================================================");
            break;
    case 2:
    caseselect();
  
            Serial.println("===========================================================================");
            break;

    case 3:
             Serial.println("입력된 위도,경도 : ");
             if(latitude==0) {
              Serial.println("입력되지 않았습니다.");
    }
    if(latitude!=0){
    Serial.print(latitude)  ;
    Serial.print(wd);
    Serial.print(" , ");
    Serial.print(longitude  );
    Serial.println(kd);
    }
     
     Serial.println("===========================================================================");
     break;

     // case 4 입력값 초기화
    

    default:
    Serial.println("잘못된 입력입니다 1: 현재 GPS값 , 2: GPS값 입력모드, 3: 입력된 GPS 값 확인");
     Serial.println("===========================================================================");
    break;
  }
  }
}
void caseselect()
{
   Serial.println("원하는 GPS 값 입력 ");
    Serial.println("위도입력(xxxx.xxxx) : ");
        while(Serial.available() ==0) {}
        latitude=Serial.parseInt();
         Serial.println(latitude);
         
    Serial.println("위도방위 : ");
       while(Serial.available() ==0) {}
        if(wd='E'||'W'||'S'||'N'){
        wd = Serial.read();
        Serial.println(wd);}
        
    Serial.println("경도입력(xxxx.xxxx) :" );
        while(Serial.available() ==0) {}
        longitude = Serial.parseInt();
        Serial.println(longitude);
        
    Serial.println("경도방위 : ");
       while(Serial.available() ==0) {}
        kd = Serial.read();
        Serial.println(kd);
}

------------------------------------------------------------------------------------------------------------

case 2번에서 입력시에 xxxx.xxxx 로 입력을 하고싶은데 배열을 어떻게 사용해야 할지 모르겠습니다

또 위도방위 Serial.available에서 읽지 않은 버퍼를 읽어올때  E W S N 이 아닐경우 다시 입력하라고 하고싶은데 if 문을 써야하나요?

Serial.available >0 을 하면 위도입력에서 경도방위까지 한번에 슥 나와버려서 고민하고 있습니다..

 

 

이전글   |    탭으로 스케치 여러개 사용하는 방법 2016-09-06
다음글   |    안드로이드와 아두이노 연결을 어떻게 해야하나요... 2016-09-06