정보나눔

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

컴파일에러관련 질문입니다.
조씨 | 2017-11-26

#include core_build_options.h
#include swRTC.h
#include LiquidCrystal_I2C.h LiquidCrystal 헤더 파일 선언

LiquidCrystal_I2C lcd(0x3F,16,2);  set the LCD address to 0x3F for a 16 chars and 2 line display

swRTC rtc; 

int piezo = 10;
int switchPin = 9;
int temp;

AM PM을 구분해 주는 함수
void Set_AMPM(int hour) {
  if(hour =12) 
    lcd.print(PM);
  else 
    lcd.print(AM);

  lcd.print(hour, DEC);     시간 출력
}

10보다 작은수를 출력할때 앞에 0을 출력하게 하는 함수
void Set_lowThanTen(int time) {
  if(time  10) {
    lcd.print(0);
    lcd.print(time);
  }
  else
    lcd.print(time);
}

유효한 알람시간인지 체크하는 함수
int checkTheAlarmClock(int time) {
  if(time100  24 && time 0  60) {
    Serial.println(Success);
    return time;
  }
  else {
    Serial.println(Failed);
    return 0;
  }  
}

알람이 울릴시간인지 체크하는 함수
void checkTheAlarmTime(int alarmHour, int alarmMinute) {
  if(alarmHour == rtc.getHours() && alarmMinute == rtc.getMinutes()) {
        analogWrite(piezo, 128);
    }
}

void setup() {                   
    lcd.init();                       LCD 출력준비
    lcd.backlight();                LCD 백라이트 ON
 
  Set the time and date
  rtc.stopRTC();           정지
  rtc.setTime(14,51,20);    시간, 분, 초 초기화
  rtc.setDate(23, 11, 2017);  일, 월, 년 초기화 
  rtc.startRTC();          시작
  
  pinMode(piezo, OUTPUT);
  pinMode(switchPin, INPUT_PULLUP); 
  Serial.begin(9600);      시리얼 포트 초기화 
  Serial.begin(9600);                    시리얼 통신 초기화
}

void loop() {
  int day;
  lcd.setCursor(0,0);                    커서를 0,0에 지정 
  
  1초 단위로 갱신하며 현재시간을 LCD에 출력
  Set_AMPM(rtc.getHours()); 
  lcd.print();
  Set_lowThanTen(rtc.getMinutes());
  lcd.print();
  Set_lowThanTen(rtc.getSeconds());
  날짜를 LCD에 출력
  lcd.print([);
  Set_lowThanTen(rtc.getMonth());
  lcd.print();
  Set_lowThanTen(rtc.getDay());
  lcd.print(]);
  세팅된 알람시간을 LCD에 출력
  lcd.setCursor(0,1);
  lcd.print(Alarm );
  Set_AMPM(temp100);
  lcd.print();
  Set_lowThanTen(temp0); 
  
  1초마다 LCD갱신

  lcd.print(               );        전 글씨 삭제
  delay(1000);
  
  알람이 울릴 시간인지 체크
  checkTheAlarmTime(temp100, temp0);
   
  스위치버튼이 눌렸을 경우 피에조센서의 소리를 0으로 하고 알람시간을 초기화 한다 
  if(!digitalRead(switchPin)) {
    temp = 0;
    day = 0;
    analogWrite(piezo, 0);
    Serial.println(Alarm clock initialize);
    Serial.println(AM000);
  }
  시리얼 통신을 통해 알람시간을 입력받고 시리얼 모니터에 출력 
  char theDay[4];
  int i = 0;
  if(Serial.available()) {
    while(Serial.available()) {
      theDay[i] = Serial.read();
      i++;
  }
    day = atoi(theDay);
    if(day100 = 12) {
      Serial.print(PM);
      Serial.print((day100)-12);
    }
    else {
      Serial.print(AM);
      Serial.print(day100);
    }
    Serial.print();
    if(day0  10)
      Serial.print(0);
    Serial.println(day0);
    temp = checkTheAlarmClock(day);
  }
}

 

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


C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\Arduino\hardware -tools C:\Program Files\Arduino\tools-builder -tools C:\Program Files\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files\Arduino\libraries -libraries C:\Users\조병옥\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10805 -build-path C:\Users\조병옥\AppData\Local\Temp\arduino_build_57696 -warnings=none -build-cache C:\Users\조병옥\AppData\Local\Temp\arduino_cache_668958 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\조병옥\Desktop\마프다\new1\new1.ino

보드 Arduino/Genuino Uno 컴파일 에러.

 

위에는 코드고 밑에는 컴파일에러입니다. 다른 코드들도 마찬가지고 아두이노프로그램에 있는 예제파일도

똑같은 에러뜨네요. 어떻게 조치해야하는지 알려주시면 감사하겠습니다.

이전글   |    https://www.kocoafab.cc/tutorial/view/339 에서 응용에 관... 2017-11-25
다음글   |    날씨를 알려주는 조명 날씨 데이터를 받아오는 코딩중에서요 ... 2017-11-27