プロが教えるわが家の防犯対策術!

お世話になります。

Arduinoで検証すると「コンパイル時にエラーが発生しました。」と出ますがスケッチ上に黄色い帯が出ません。
なにが原因なのでしょう?

参考にしたスケッチ
http://www.mauroalfieri.it/en/elettronica/data-l …

これに「RTClib.h」というファイルを同じ場所に置きました。
テキストファイルに以下のスケッチをコピーし「RTClib.h」を作成します。

// Code by JeeLabs http://news.jeelabs.org/code/
// Released to the public domain! Enjoy!

// Simple general-purpose date/time class (no TZ / DST / leap second handling!)
class DateTime {
public:
DateTime (uint32_t t =0);
DateTime (uint16_t year, uint8_t month, uint8_t day,
uint8_t hour =0, uint8_t min =0, uint8_t sec =0);
DateTime (const char* date, const char* time);
uint16_t year() const { return 2000 + yOff; }
uint8_t month() const { return m; }
uint8_t day() const { return d; }
uint8_t hour() const { return hh; }
uint8_t minute() const { return mm; }
uint8_t second() const { return ss; }
uint8_t dayOfWeek() const;

// 32-bit times as seconds since 1/1/2000
long secondstime() const;
// 32-bit times as seconds since 1/1/1970
uint32_t unixtime(void) const;

protected:
uint8_t yOff, m, d, hh, mm, ss;
};

// RTC based on the DS1307 chip connected via I2C and the Wire library
class RTC_DS1307 {
public:
static uint8_t begin(void);
static void adjust(const DateTime& dt);
static void sqw(int sqw);
uint8_t isrunning(void);
static DateTime now();
};

// RTC using the internal millis() clock, has to be initialized before use
// NOTE: this clock won't be correct once the millis() timer rolls over (>49d?)
class RTC_Millis {
public:
static void begin(const DateTime& dt) { adjust(dt); }
static void adjust(const DateTime& dt);
static DateTime now();

protected:
static long offset;
};




みなさま、どうかよろしくお願い致します。

A 回答 (3件)

>同じ「コンパイルエラー」が発生してしまいました。



確認に使ったのは「arduino-1.0.1」ですが…
#2の後半に記述した手順でコンパイルは通りましたよ。
# Windows7 Pro(64bit)…だけど関係ないと思われますが。

対応するシールドも持っていないので動作検証まではできません。
# そしてシールドを購入する気もありません。今のところ必要性ないし。


エラーメッセージ不明なので私はここで終わり…ですかね。
    • good
    • 1
この回答へのお礼

ご丁寧に、ありがとうございます。


私が使っているVerは「1.0.5-r2」と書いて有ります。
Verの違いでエラーが発生するのでしょうか・・・


Wir5様の所で、エラーが発生しなかった。と言うことが分かってとてもよかったです。


本当に、ありがとうございました。

お礼日時:2014/08/21 16:27

>これも、試してみたのですが・・・・違うところがエラーに。


>RTClib内の情報をマルッと書き換えたりしたのですがエラーに。
>ライブラリを使わずに同じホルダーに入れたらこんなエラーに。

どんなエラーですか?と……

まぁ、試してみました。
どうも、ある程度手を入れてあるRTClibみたいですね。

ということで…#1で回答した際のRTClibはディレクトリごと削除。
質問に書かれたサイトのリンク先にある「Download sketch del data logging」の「GitHub」のリンク先から同じようにDownload ZIPで取得。
展開するとRTClib.hとRTClib.cppが出てきますので、元々のスケッチが置かれているディレクトリにコピーしてください。
その後で、Arduinoコンパイラを起動して「検証・コンパイル」で。
    • good
    • 1
この回答へのお礼

重ね重ね、ありがとうございます。

Wr5様の所ではエラーが発生しませんか?

同じ「コンパイルエラー」が発生してしまいました。

PCの問題でしょうか・・・・
WIN7なのですが。


検証していただき、ありがとうございました。

お礼日時:2014/08/20 17:56

>テキストファイルに以下のスケッチをコピーし「RTClib.h」を作成します。



RTClib.hだけ…ですか???
RTC_DS1307クラスのadjust()の実体とかどこにあるんでしょう???


https://github.com/adafruit/RTClib
で、右側の「Download ZIP」からZIPファイルを入手し、
展開してできたRTClib-masterディレクトリの中身をArduinoコンパイラのlibrariesディレクトリに入れればいいんじゃないですかね?
# 実際にはlibrariesディレクトリにRTClibというディレクトリを掘って、その中…でしょうかねぇ……。

その後、Arduinoコンパイラ起動して、[スケッチ]-[ライブラリを使用]-[RTClib]を選択…でよいかと……。
    • good
    • 1
この回答へのお礼

早速ありがとうございます。

これも、試してみたのですが・・・・違うところがエラーに。

RTClib内の情報をマルッと書き換えたりしたのですがエラーに。


ライブラリを使わずに同じホルダーに入れたらこんなエラーに。


もう少し、試してみます。
何か、情報が有りましたら
よろしくお願い致します。

お礼日時:2014/08/20 14:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!