google-site-verification: google3bd66dd162ef54c7.html
fc2ブログ

ArduinoのRTCライブラリ、RTC8465を使う時の注意点

 以前気圧ロガーの製作記事を書いたのですが、これを参考にして同じような物を作る方が時々いらっしゃいます。この時はまりやすいのがリアルタイムクロックのライブラリの修正。

 そこで、修正方法のポイントを整理しておきます。

1. RTCのライブラリRTC8465の入手先
 なんでも作っちゃう、かも。さんのブログの、Arduinoで遊ぼう - リアルタイムクロックの記事にあるリンク先から RTC8564-001.zipをダウンロード、解凍してArduinoのライブラリに追加。

 実はここをどうやったか正確に覚えてないです。たぶんProgram Filesの中のArduinoのあるフォルダに入れたはずなのですが、実際にライブラリが動く場所は違ってくるみたいで、ここが混乱の元。

2. ライブラリの修正
 このライブラリはIDEのV1.0以前に作られたものなので、以下を修正。 

9行目に#include "Arduino.h"を追加(挿入)。
20131130Library.gif
 これで22行目のdelay(1000)がエラーにならなくなります。

 ・Wire.send を Wire.writeに書換え
 ・Wire.receive を Wire.readに書換え
 量が多いのでエディターの文字列の置換でやると良いでしょう。

【2017/7/1 追記】
 上記に加え6行目の #include <WConstants.h> をコメントアウト。
 (上記情報は、まっくんさんから連絡いただきました、ありがとうございます。なお使った Arduino IDE は 1.8.1 です)


 これだけの修正でコンパイルエラーは出なくなります。

3. 注意点
 ここで重要なのはライブラリファイルのある場所を間違えないこと。ライブラリの追加方法にもよるのでしょうが、ユーザーが追加したライブラリはユーザーのマイドキュメントに置かれ、こちらが使われるようです。つまり下記のパス。これは私のWindows7の例で、OSなどの違いで上の方は変わります。
C:\Users\user\Documents\Arduino\libraries\RTC8564

 紛らわしいのは以下のパスにライブラリ置いておいても参照されるのはマイドキュメントの方みたいです。
C:\Program Files (x86)\Arduino\libraries\RTC8564

 つまり、Program Filesのフォルダーのライブラリを一生懸命修正しても何の役にも立ちません。実は私は何度かやりました、汗;

 どの場所にあるライブラリが使用されているかを特定するのには、エラーメッセージを読めば判ります。
20131130ArduinoError.gif

 上のコンパイルエラーは、#include "Arduino.h"を追加しない場合に出ますが、メッセージを良く読むと、ライブラリファイルの場所は、C:\Users\user\Documents\・・・・と書いてあります。

 ArduinoのIDEの1.0以降でそのまま使えるRTCライブラリがあればいいのですが、RTC8564を勝手にバージョンアップするわけにもいかないし。

【後記】
 ライブラリの追加方法がいまいち納得できないのでもう少し調べたら、マイドキュメントの中のlibrariesフォルダの中にreadme.txtがあり。中には、
For information on installing libraries, see: http://arduino.cc/en/Guide/Librariesと書かれていました。
リンク先を読んでみると正しいやり方が書いてありました。IDE1.05以降だとzipのままで登録できちゃうみたいです。

 なお、この記事ではArduinoのIDEは1.0.5を使っています。

tag : コンパイルエラーリアルタイムクロック

カレンダー
10 | 2013/11 | 12
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。
記事の内容のご利用は読者の自己責任でお願いします。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード