정보나눔

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

소스코드 중 피연산자 오류에 관한 질문
jacky | 2019-07-31
 

1. 프로젝트 사용한 보드 종류

  아두이노 UNO

 

 

2. 사용한 개발 프로그램명

  아두이노 IDE

 

 

3. 사용한 센서 모델명

 종류 상관없이 아날로그 값을 내보내는 센서   

 

 

4. 연결한 회로 설명 (또는 이미지)

 128X64 oled패널 한 개, 아날로그 값을 내보내는 센서 한 개 (센서는 A0포트)

 

 

5. 소스코드 (주석 필수)

#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);

//이 소스 코드는 센서의 아날로그 값을 받아 매핑한 후 
//128x64 디스플레이에 멀티미터 계기판 바늘의 움직 같이 바늘의 움직임으로 표현하고자 한 코드입니다.

void setting (void){  //디스플레이의 기본 세팅
  u8g.setFont(u8g_font_unifont);
  u8g.drawCircle(63, 63, 60);
  u8g.drawLine(123, 63, 4, 63);  
}

void mappingVal(uint8_t a){  //필요한 값을 10도 에서 170도로 매핑하는 함수
  a = map(a,0,1023,10,170);
  return a;
}
//u8glib의 특성상 직선을 그리려면 좌표점 2개가 있어야 합니다. 그래서 x,y 좌표를 각각 변환시켰습니다.
void mappingX (int val){  //매핑된 각도를 움직이는 좌표의 x좌표로 변환하는 함수
  int x; 
  if (mappingVal(val) < 90){  //   <===이 부분이 오류코드입니다.
    x = round(sqrt(sq(50)/sq(tan(radians(mappingVal(val))))+1)); 
    return x;
  }
  else if(mappingVal(val) > 90){
    x = -1 * round(sqrt(sq(50)/sq(tan(radians(mappingVal(val))))+1));  
    return x;
  }
  else if(mappingVal(val) == 0){
    x = 0;
    return x;
  }
}   
    
void mappingY (int val){  //매핑된 각도를 움직이는 좌표의 y좌표로 변환하는 함수
  int y   
  if (mappingVal(val) < 90){
    y = round(mappingVal(val) * tan(radians((mappingVal(val)))));
    return y;
  }
  else if(mappingVal(val) > 90){  
    y = -1 * round(mappingVal(val) * tan(radians(mappingVal(val)))));
    return y;
  }
  else if(mappingVal(val) == 0){
    y = 50;
    return y;
  }
}

void lastCal(uint8_t val){  //마지막으로 변환한 좌표값을 넣어 선을 그려주는 함수
  return u8g.drawLine(63,63,63 + mappingX(val),63 -  mappingY(val));
}

void draw (void){  //전체적으로 종합해 구동되는 화면을 구현하는 함수
  uint8_t val = analogRead(A0);
  setting();
  lastCal(mappingVal(val));
}

void setup() {
}

void loop() {
   u8g.firstPage();  
  do {
    draw();
  }while(u8g.nextPage());
}

 

 

6. 문제점 및 에러 내용

  invalid operands of types 'void' and 'int' to binary 'operator<'

이전글   |    아두이노 나노 업로드 문제 2019-07-30
다음글   |    아두이노 IDE 툴 항목 질문 + 부트로더 굽기 관련 질문... 2019-07-31