HOMERSSサイトマップ

●ABOUTAVR -電子工作-カテゴリー

「堕落日記」のカテゴリ「AVR -電子工作-」に投稿されたすべてのエントリのアーカイブのページが、新しい順番に並んでいます。
次のカテゴリーは、Linux覚え書き です。

2010年04月29日

SHT-71(温度・湿度センサ)その3

温度と湿度の表示完了。

SHT-71
そこそこ快適な我が家。

基本はエレキジャックさんとこのPIC用のプログラムをavr用に書き換えるだけでした。
2線式 温・湿度センサSHT11 (4)
2線式 温・湿度センサSHT11 (5)
2線式 温・湿度センサSHT11 (6)温度・湿度の測定
2線式 温・湿度センサSHT11 (7)温度・湿度の表示

ソースは整理したらそのうちに・・・。

日時: 2010年04月29日 15:56 | | トラックバック (1)

2010年04月26日

SHT-71(温度・湿度センサ)その2

sht-71

とりあえず無理矢理接続。
(右の下の方)

小さすぎて僕の腕では半田付け不可能でしたorz
腕が3本くらい欲しい。

続きます。

日時: 2010年04月26日 22:23 | | トラックバック (1)

便利なマクロ

最近のWinAVRでは削除されてしまったsbi()とcbi()。
マクロで再現出来るようです。

AVR – sbi(port,bit) cbi(port,bit)【橋本商会】

#define sbi(PORT,BIT) PORT|=_BV(BIT) // PORTの指定BITに1をセット
#define cbi(PORT,BIT) PORT&=~_BV(BIT) // PORTの指定BITをクリア

他にも色々と便利なマクロがあります。
ポート・メモリ・レジスタを操作するために便利なWinAVRマクロなど【AVRwiki】

日時: 2010年04月26日 10:39 | | トラックバック (0)

2010年04月25日

SHT-71(温度・湿度センサ)その1

SHT-71をストロベリーリナックスで購入

これ一つで温度と湿度を計測できる優れもの。
お値段3,000円。
高い!
前回使用したLM60BIZなんて100円だったのに。

しかし高いだけあって次のような利点が。
1.精度が高い。
 調整無しで温度が±0.5度。湿度が±3.5%。LM60BIZは±2度だったのでかなり正確です。
2.湿度も計測出来る。
 これが欲しかったの。
3.一つで温度と湿度を計測出来るので端子の節約になる。
ですかね。

しかし使い方が独自すぎてよく分からない。
データシートを見ても英語!

とりあえずこれの情報が記載されているページを検索。
後で勉強します。
温・湿度センサ SHT-71【建築農業工作ゼミ2009-2010】
SHT-71を使った湿度・温度計【迷走の果て・Tiny Objects】
2線式 温・湿度センサSHT11 アーカイブ【エレキジャック】

ブレッドボードに取り付けれるよう半田でフニャフニャしようと実家へ(家では禁止されている)行ったら誰もいなくて鍵も持ってきていなかったので入れず今日は英語のデータシートを眺めるだけで終わりになりそうです。

続きはまた今度。

日時: 2010年04月25日 16:04 | | トラックバック (0)

2010年04月17日

avrで温度計 LM60BIZ(TO-92)で

前回使用したLM35DZは0未満の温度を計測するには負の電源が必要で面倒な為LM60BIZを使用して組み替えました。
これは-40度~125度まで計測可能です。
AD変換や仕組みが曖昧なまま前回は作りましたが今回は一つずつ理解していこうと思います。

LM60BIZ
これがセンサがLM60BIZです。

こいつは温度に応じて電圧を出力します。
0度の場合は424mVで1度上下する毎に6.25mV変わってきます。

出力される電圧=(6.25mV/温度)+424mV

つまり出力された電圧から温度を求めるには

温度=(出力された電圧-424mV)/6.25mV

lm60biz
写真では560mV出力されていますので
温度=(560mV-424mV)/6.25mV
21.7度になります。

しかしこのままでは電圧が低すぎてテスタでは計れるけれどavrでは計測出来ないのでオペアンプで増幅します。

続きを読む "avrで温度計 LM60BIZ(TO-92)で" »

日時: 2010年04月17日 09:47 | | トラックバック (1)

2010年04月05日

大人の科学マガジンVol.27 8bitマイコン

大人の科学マガジンVol.27 8bitマイコン
学研からarduinoの互換機の付録付きが出るようで。
買わなければ。

日時: 2010年04月05日 22:12 | | トラックバック (0)

2010年03月02日

avrで温度計完成

目標であった温度計が完成。
…温度合っているんかな?

温度センサーはLM35DZ、オペアンプはLM358Nを使用。
A/D変換がちょっと怪しいけれど何となく動作してます。

avrで温度計

日時: 2010年03月02日 09:46 | | トラックバック (1)

2010年02月19日

電子回路ドリル

http://monoist.atmarkit.co.jp/fembedded/

ここの電子回路ドリルが初心者向けで良い感じ。

日時: 2010年02月19日 17:47 | | トラックバック (0)

2010年02月11日

LCDのバックライト制御

LCDのバックライトを数秒間点灯したのち消灯するようにしました。

割り込みを利用しています。

【参考】AVRでタイマー割り込み(Sim's blog)

しかしよくわからない。
AVRや電子工作をする人には当たり前なんだろうけれど10日程前までオームの法則すらまともに分からなかった人間にはチンプンカンプン。
とりあえず「習うより慣れよ」の精神で。
そのうち何とかなるだろう。

続きを読む "LCDのバックライト制御" »

日時: 2010年02月11日 15:28 | | トラックバック (0)

AVRでLCDとスイッチ入力のテスト

sc1602

スイッチ入力をLCDへ反映するテスト。

LCDの表示は以下のライブラリを使用。
http://download.goo.ne.jp/software/contents/soft/dos/hardware/se476452.html
ライブラリを使って、だけれど何となく仕組みが分かってきた。
しかしこれで7Kバイト前後。
ライブラリを使わずに必要な分だけを定義すればもっと軽くなるんだろうな。

ソースをダウンロード

続きを読む "AVRでLCDとスイッチ入力のテスト" »

日時: 2010年02月11日 10:44 | | トラックバック (0)

2010年02月10日

9Vの電源を5Vに下げたい

前回のLCD表示するには5Vの電源が必要でUSBから供給していました。
それでは不便(というよりも完成したら持ち運べない)なので乾電池で…となると一般的な乾電池で一つ1.5V。LED点灯では2つ直列で3Vにして使っていましたがこれでは足りません。
そこで9Vの四角い乾電池を使いたいのですがこのままではオーバーしてしまう。

調べてみると
三端子レギュレータというのがあるそうです。

【参考】電子工作入門~3端子レギュレータとは? - 知的電子実験 - SYSTEMUSE,Inc. -

これは入力された電圧を少し下げる役割をするようなものらしいです。
9V-5V=4V。残りの4Vの行方は?と気になりますがこれは熱エネルギーに変換して放熱されるようです。
場合によっては三端子レギュレータにヒートシンクを付けた方が良いようですね。

日時: 2010年02月10日 08:08 | | トラックバック (0)

2010年02月09日

avrでHelloWorld。LCD表示

ライブラリを使いましたがLCDにお約束の「Hello World!」を表示。
まだまだよく理屈が分かっていませんがとりあえず表示出来ました。

休みの日に仕様をよく読んでみようと思います。


日時: 2010年02月09日 23:45 | | トラックバック (1)

2010年02月08日

USB電源

LCDを表示するのには5Vの電源が必要なので乾電池2個直列では2V足りません。
(乾電池1個1.5V)

そこでPCからUSBで電源を分けて貰います。
ダイソーで買ってきたUSBケーブルをぶった切り余分な配線を取り除いて黒と赤の線だけにします。

半田でピンを取り付けます。

カバーつけて完了

これでUSBから5Vの電源を取る事が出来るようになりました。

日時: 2010年02月08日 20:02 | | トラックバック (0)

2010年02月06日

割り込みについて勉強中

LCDの半田付けが無事失敗したのでorz
割り込みについて調べます。
マイコンの種類によって使える命令が違うようで以下参照。
http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html

日時: 2010年02月06日 10:27 | | トラックバック (0)

2010年02月03日

半田付け練習

週末にLCDユニットに半田付けをする前にユニバーサル基板で練習。

少し芋半田っぽいかな。
まぁもうちょっと練習すればなんとかなるかもしれないのでこの週末に半田付け決行!

日時: 2010年02月03日 22:06 | | トラックバック (0)

30才からはじめる電子工作

AVRの入門サイトや電子工作の初心者向けサイトを見て思ったことがある。
「回路図が読めることが前提」
とか
「抵抗値の求め方を知っていることが前提」
だったり。
まぁ書籍を用意して事前に調べとけってことですが分からんまま見ているので第一歩が踏み出せない。

で、ここ。
30才からはじめる電子工作
その辺りのこともふれているため結構ためになるブログ。
初心者目線で書かれているため、「ああ、わかる。同じ失敗した」とかあります。
残念なのは更新がもう止まっていることですかね。
再開してくれないだろうか。

日時: 2010年02月03日 17:45 | | トラックバック (0)

LCDユニット

AVRでLCDユニットに文字を表示させるために購入したLCDユニット。
しかしこれ、半田付けしないといけないんだな。

SC1602BSLB
こんな風にバラバラ。

SC1602BSLB
こんな風に半田付けしたい。

何かで練習してから行わなきゃ失敗しそう。

日時: 2010年02月03日 09:37 | | トラックバック (0)

2010年02月02日

ゼロから学ぶ電子回路

ゼロから学ぶ電子回路
ど素人にはこの本がお勧めらしい。
近くの本屋には売ってなかったのでamazonで購入か。
しかしPCのも含めてこういう技術書は高い。
買うのを失敗すると(自分のレベルに合っていないと)かなり凹む。

日時: 2010年02月02日 16:25 | | トラックバック (0)

オームの法則

抵抗値を求めるのにオームの法則を使う必要があるらしい。
そういや中学生の時にならったな。
V=RI(電圧=抵抗x電流)
で、どうすんだっけ?これ。

えっと先のAVR回路では
電源として乾電池2個を直列でつないでいるから電圧は3V。
LEDに必要な電圧は2V。
LEDに必要な電流は10mA
3V-2V=Rx10mA
単位をそろえて
3000-2000=Rx10
1000=Rx10
R=1000/10
R=100
ってことで抵抗が100Ω。

■参考
LEDの電流制限抵抗の求め方

日時: 2010年02月02日 13:09 | | トラックバック (0)

スイッチのテスト

スイッチの動作テスト。

LCDに表示するまでまだまだかかりそう。

日時: 2010年02月02日 09:07 | | トラックバック (0)

2010年01月31日

初めてのAVR

ニコニコ動画のhttp://www.nicovideo.jp/watch/sm7775003を教科書にしてお勉強。

AVR
パソコンと接続。

ソース


#include <avr/io.h>
#include <util/delay.h>
int main(void) {
    DDRB = 0b11111111;
    while(1) {
        PORTB = 0b00000001;
        _delay_ms(200);
        PORTB = 0b00000010;
        _delay_ms(200);
        PORTB = 0b00000100;
        _delay_ms(200);
        PORTB = 0b00001000;
        _delay_ms(200);
        PORTB = 0b00000100;
        _delay_ms(200);
        PORTB = 0b00000010;
        _delay_ms(200);
    }
}


DDRBはBポートの入出力の設定。0bが2進数で記述するよ、と言う意味で
その後ろの数字が各ポート(8つある)の状態。
0が入力で1が出力。
PORTBがポートBのオンオフ。

で、コンパイルして転送した結果がこれ。

極々簡単なものだけれどちゃんと動くとうれしい。

とりあえず当面の目標として「温度計と湿度計」を作る事にします。

日時: 2010年01月31日 13:09 | | トラックバック (0)

2010年01月27日

試しながら学ぶAVR入門

唐突に電子工作がしたくなったので
試しながら学ぶAVR入門を購入。
とりあえず本だけ。
しかし回路図を読めない僕は全く理解出来ない(汗

でもまぁめげずに「温度計と湿度計を作成する」とい目標を設定しました。
・・・・・・出来るんかな。

日時: 2010年01月27日 18:07 | | トラックバック (0)

Copyright (C) 堕落日記.