読者です 読者をやめる 読者になる 読者になる

I2CでRTCとLCD

電子工作

I2Cって使ったことなかったのでやってみたかった。
RTCって自分でソフト書いたことなかったからやってみたかった。
LCDはおまけ。

1.回路図

※1 ArduinoUNOに接続。
※2 RTCは秋月のAQM0802A-RN-GBW
   →リアルタイムクロック(RTC)モジュール: 半導体 秋月電子通商 電子部品 ネット通販
   LCDはスイッチサイエンスのI2C接続の小型LCD搭載ボード(5V版)
   →I2C接続の小型LCD搭載ボード(5V版) - スイッチサイエンス
※3 RTCは電池つなげたりするんだけど、とりあえず動かしたかっただけなので付けていない。
※4 RTCモジュールのI2Cラインのプルアップ抵抗は付けていない。
※5 LCDのプルアップ抵抗だけ有効になってる(10K)
※6 LED1は定周期タイマ割り込みが効いてるかチェックしたかった。
   抵抗値高い気がする?エコですよエコ。

2.ソフト

RTCはこちらのライブラリをお借りし、いじって使いました。
arms22.blog91.fc2.com

LCDはスイッチサイエンスさんのを参考にしています。
mag.switch-science.com



※1 以下にまとめてUPしてあるので見てみたい方はどうぞ。
   http://sweet-potato.info//hatena_blog/I2C_test.zip

※2 RTCの初期値(6/10)は私の誕生日です(聞かれてない)
※3 "// int cnt_sens = 0;"って記述がI2C_test.inoに入ってますが、
   前回の記事の名残です。気にしないでください。
※4 C++Arduinoで初めて使ったので、ぽくない記述とかあると思います。
   Arduinoは使い始めて2か月くらいです(初心者アピール)

3.現物

このブレッドボード、小さくて好きです。

ATtiny85-20PUを使う

電子工作

焦電センサを使いたかったので、ATtiny85-20PUを使って人感センサ(LED光っちゃう)を作ってみた話。

1.回路図
 

 ※1 リセットスイッチはなくてもいいと思う。
 ※2 電池駆動したので、正しくは4.5V。
 ※3 ヒューズはポリスイッチ入れた。
 ※4 デジトラだいすき。
 ※5 回路図はKiCADで書いたよ。


2.ソフト
センサ検知したら30秒LEDを点灯させる。

※1 行番号出てうれしいマン(JUGEMの方読んでないと分からないネタ)
※2 HIGHとかLOWとか面倒だからいつもON、OFFにしてる。
※3 秒数書くのめんどくさいから。
※4 使った人感センサが30秒セットアップ時間設けろって言ってるから。
※5 delayで点灯時間決めてるけど、タイマ使った方がいいよね。


3.現物

初めはACアダプタで作ってたので、DCジャックが乗ってる。
そのあとやっぱり電池がいいってことになり、電池ケースにプラグを付けた。
一番初めに間違えて12VのACアダプタ接続しちゃったんだけど、それでも
壊れなかったパナソニック製センサすごいね(マイコンは乗ってなかった。いのちびろい)

あ、部品は以下のリスト通り。

No. 品名 メーカ 型番 値段 購入場所
1 焦電型赤外線センサ パナソニック EKMC1603111 500 秋月
2 マイコン Atmel ATtiny85-20PU 150 秋月
3 ポリスイッチ POLYTRONICS RLD60P050X 30 秋月
4 デジトラ 東芝 RN1201 10 秋月
5 LED 星和電機 SDPW50H0E0 150 ピカリ館
6 抵抗 タクマンとかKOAとか 千石
7 積セラ TDK 千石
8 プッシュスイッチ 秋月
9 DCジャック変換基板 師匠が作ったのを貰った


4.ATtiny85について
やり方はしなぷすさんのHPのこのページとかみるといいと思います。
www3.big.or.jp


私はこのArduinoブートローダ/スケッチライタキットを持ってるのでそれを使いました。
一つあると便利だよ。
www.switch-science.com


この記事と、ArduinoIDE Ver1.6.8ではATtinyサポートファイルのインクルード方法が
変わってたので少し書いておく。
(読めばわかるけど)


(1)High-Low Tech – Programming an ATtiny w/ Arduino 1.6 (or 1.0)の中央にある、URLをコピーする。


(2)ArduinoIDEの[ファイル]→[環境設定]で、赤枠内にURLを張り付ける。
 OKで閉じる。


(3)[ツール]→[マイコンボード]→[ボードマネージャ]を選択すると下のウィンドウが出てくる。
 一番下にattinyってのがあるのでインストールする。


(4)ATtinyを選ぶ


こんな感じ。

KiCADコンポーネントライブラリの優先順位

KiCAD

KiCAD使い始めて1か月くらい。
ようやくお友達になれた気がします。

久しぶり(5年ぶりくらい)の更新ですが、今回はKiCADで一番納得いかなくて
悩んだ項目について自分の中で納得できたので書いてみようかと。


KiCADについてくるコンポーネントライブラリに、atmelがあり、その中に
ATMEGA328P-Pが入ってると思います。
XTALの位置がデフォルトのものだとイヤだったので、下図のように変更したんですよ。

変更したコンポーネントはatmelライブラリ自体は変更せず、自作ライブラリの中に
同じ名前で保存しました。
何があったかおわかりだと思いますが、いくら変更したコンポーネントを指定しても、
atmelのコンポーネントが読み込まれちゃうのです。

これの解決策が、以下になります。

(1)設定からコンポーネントライブラリを開く


(2)自作ライブラリが一番下にあるので、それを一番上に持っていく。
 その後、OKをクリック。
 ※1 無い場合は読み込んでな。
 ※2 右にある「上へ」をクリックし続けると一番上に行くで。
 


これで、自分で修正したコンポーネントが表示されます。
これに気付くまですごい時間かかった。
調べても出てこなかったので、同じ思いをしている人向けに。

ぶっちゃけ、ユニークな名前に変更しちゃえばいいんですが、ほら、なんか嫌じゃないですか。
私が使っているのは4.0.0-rc2なので、古いVer.でできるかは分かんないです。


※この記事は2016/4/14にJUGEMブログで公開していたものの移植です。