정보나눔

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

소스 오류가 나요 사보님..
김동훈 | 2015-11-02

http://www.kocoafab.cc/make/447

이 프로젝트를 구현해보려고 하는데 소스 컴파일이 안되네요 ㅠㅠ.. 

오류 메세지가

In file included from C:\Program Files\Arduino\libraries\LiquidCrystal\src/LiquidCrystal.h:5:0,
from sketch_oct31b.ino:1:
sketch_oct31b.ino: In function 'void loop()':
C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Print.h:29:13: error: expected unqualified-id before numeric constant
#define DEC 10
^
sketch_oct31b.ino:57:24: note: in expansion of macro 'DEC'
컴파일 오류 발생  이렇게 뜨는데 어떻게 해야하나요 ㅠㅠ 부탁드려요

 

프로필사진

Klant 2015-11-02 19:05:27

저도 마찬가지로 같은 컴파일 오류가 나네요

 

#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11,5,4,3,2);

int trig1 = 6;
int trig2 = 7;
int echo1 = A0;
int echo2 = A1;
int LED1 = 8;
int LED2 = 9;
int LED3 = A2;
int Button1 = 13;
int Button2 = A3;
int state1 = 0;
int state2 = 0;
long distance;
long duration1;
long duration2;
long value1;
long value2;
void setup()

{
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(trig1, OUTPUT);
  pinMode(trig2, OUTPUT);
  pinMode(Button1, INPUT);
  pinMode(Button2, INPUT);
  pinMode(echo1, INPUT);
  pinMode(echo2, INPUT);
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Push the Button");
  Serial.begin(9600);
}

void loop() 
{
  state1 = digitalRead(Button1);
  state2 = digitalRead(Button2);

  if(state1 == HIGH)
  {
    digitalWrite(LED3,HIGH);
    digitalWrite(LED1,LOW);
    digitalWrite(LED2,LOW);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print("Scanning...");
    Ultrasonic1();
    Ultrasonic2();
    distance = value1+value2+16;
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Dual MODE");
    lcd.setCursor(0, 1);
    lcd.print(distance,DEC);
    lcd.setCursor(3, 1);
    lcd.print("cm");
  }
  else if(state2 == HIGH)
  {
    digitalWrite(LED3,HIGH);
    digitalWrite(LED1,LOW);
    digitalWrite(LED2,LOW);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print("Scanning...");
    Ultrasonic1();
    distance = value1;
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Single MODE");
    lcd.setCursor(0, 1);
    lcd.print(distance,DEC);
    lcd.setCursor(3, 1);
    lcd.print("cm");
  }
  else
  {
    digitalWrite(LED1,HIGH);
    digitalWrite(LED2,LOW);
    digitalWrite(LED3,LOW);
  }
}

void Ultrasonic1()
{
  digitalWrite(trig1,LOW);                            
  delayMicroseconds(2);       
  digitalWrite(trig1,HIGH);    
  delayMicroseconds(5);
  digitalWrite(trig1,LOW);
  duration1 = pulseIn(echo1,HIGH);                 
  value1 = microsecondsToCentimeters(duration1);
  delay(100); 
}
void Ultrasonic2()
{
  digitalWrite(trig2,LOW);                            
  delayMicroseconds(2);       
  digitalWrite(trig2,HIGH);    
  delayMicroseconds(5);
  digitalWrite(trig2,LOW);
  duration2 = pulseIn(echo2,HIGH);                 
  value2 = microsecondsToCentimeters(duration2);
  delay(100); 
}
long microsecondsToCentimeters(long microseconds)
{
  return microseconds/29/2; 
}

 

에러 수정한 코드입니다~ 

프로필사진

김동훈 2015-11-04 20:36:49

감사합니다 !!프로그램 잘 구현 해보도록 할게요 @

프로필사진

Klant 2015-11-05 14:17:56

네^^ 화이팅입니다! ;)

프로필사진

YM 2016-03-26 20:02:44

죄송하지만 혹시 수정된 소스로 프로젝트 구현 성공하셨나요?

이전글   |    안녕하세요! 2015-11-02
다음글   |    안녕하세요... 2015-11-02