2016年12月7日水曜日

arduino + BMP280で気圧測定

前回の回路のDHT11をBMP280に変更して気圧を測るようにしてみた。








BMP280はスイッチサイエンスを参考にした。のだけど、同じBMP280でも基盤が違うせいか湿度の値がとれない(0のまま)。

まあ湿度は大体温度と連動することがDHT11でわかっているのでまあいいかということで。

作成したスケッチ、raspberrypi用のスクリプトはここに




2016年8月27日土曜日

arduino+Sharp GP2Y1010AU0FでPM2.5モニター

1500円程度と比較的安価なシャープ製ダストモニターで遊んでみたわけです。

↓を参考にGP2Y1010AU0Fをarduinoに接続。

http://lafudo.blogspot.jp/2013/12/arduino-gp2y1010au0fpm25.html


あとは参考サイトのスケッチを試した所そのまま動作した。
しばらく数値をみていたが20から30ug/m3ってところのようだ。

利用したスケッチ(参考サイトほぼそのまま)
https://gist.github.com/izumogeiger/0136c538cb220f283a1cbbd841611706

あとはこれをxivelyにアップすればモニターになる。

ということで以前試したENC28J60を利用してセンサーの値を返すWEBサーバにすることにした。
ついでに温湿度センサーDHT11とHMMC5883を繋いでこれらの値も返すように。


WEBサーバのスケッチは↓
https://gist.github.com/izumogeiger/f0b03e789c72e7053c6241d07f3c76fb


3秒毎にWEBサーバにアクセスして60サイクル毎にxively.comにアップロードするスクリプトは以下。
https://gist.github.com/izumogeiger/c000a91a77161acb3365d22f48d6c83c

でxively.comで以下のようにグラフ化で終了。



2016年8月14日日曜日

arduino+MAX7219+8x8マトリクスLEDでbitman再び

arduino用のMAX7219を使った8x8マトリクスLEDのキットで遊んでみた。

基盤にピンソケット、抵抗、コンデンサをハンダ付けしてICとLEDをはめ込んで完成。


マトリクスLEDは上下2通りの差し込みが可能だけど、以下のように基盤のシルク文字に対して下面にマトリクスLEDの型番表示がくるようにハメるので正解だった。


arduinoと基盤を以下のように接続。

[board] - [arduino]
VCC - 5V
GND - GND
DIN - D2
CLK - D3
CS  - D4

次にソフトウェアだけどLedControlというライブラリを使用した。

http://wayoda.github.io/LedControl/

後は以前作成したbitmanを移植。

無事動作を確認。

https://youtu.be/Ik9oMRhhzxs

作成したスケッチは以下。

https://gist.github.com/izumogeiger/1f4c0a5bd6c45d0b27e8ba3af0a2df8a



2016年8月13日土曜日

ENC28J60でarduinoをLANに接続

arduinoにセンサーつないでUSBシリアル通信でPCやラズパイでデータロギングでもいいんだけども、arduinoを直接LANにつないでWEBサーバにしてネットワーク越しにデータ取得できた方がなにかと便利であろうということでENC28J60を使ってarduinoをLANに繋いでみた。

ENC28J60


2枚目の写真なんだけどシルク文字がどう見ても間違っていて少しハマったわけです。
上から

5V  GND
LNT CLK
SO  WOT
SCK ST
RST CS
Q3 GND

と読めるんだけど、本当はたぶん以下。

5V  GND
INT CLK
SO  WOT
SCK SI
RST CS
Q3 GND

LNT -> INT
ST -> SI

ST=STATUS?、LNT=????、そんなのデータシートにもないぞ、SIはどこ???という具合で数分考え込んでしまった。
(中華ぱちもん?)

ENC28J60+ARDUINO でIoT製作 (テスト編)

を参考に

[ENC28J60] - [ARDUINO]
SCK - D13
SO - D12
SI - D11
CS - D8

とピン接続。
本来は3.3v駆動らしいが5vでも動いた(いいんだろうか。。。それで)。

あと基盤のネジ固定穴は3mmネジは入らない。2mmネジなら入ったのでそれで固定。


後はethercardライブラリをgithubから取得して導入して
https://github.com/jcw/ethercard

サンプルスケッチを書き込んで動作確認。

https://gist.github.com/izumogeiger/117f37a40167cf964d0264dd1e0b0f6d

DHCPでIPアドレス取得してwww.google.comにping
静的IPアドレスを設定、webサーバで起動時間を表示

webサーバのリクエスト処理で各種センサーの値を取得してクライアントに返してやるようにすればarduinoによるセンサーサーバになるわけ。

こりゃ便利。


2016年8月12日金曜日

ポケットガイガーType5+arduino+TM1638

以前ポケットガイガーType5+arduinoで簡易モニタリングポストを作成したのだが、それだけだと寂しいのでTM1638を使って数秒毎にcpm表示するようにしてみた。

8桁8セグに小数点2桁までのcpmと上部LEDに2進でCPMの整数値を表示している(あまり意味ないけど)。やはり表示があるとわかりやすい。


スケッチ


2016年8月11日木曜日

arduino+HC-SR04+LCD1602

超音波距離センサモジュール HC-SR04で遊んでみた。





近くだと10cmから20cm、離れるともっと誤差がありそうだけど一応距離っぽい感じではあるようだ。

スケッチは以下を参考にLCD表示を追加。

https://www.switch-science.com/catalog/1606/

最終スケッチは以下。

https://gist.github.com/izumogeiger/67dc31c313433b8c3821156e96a1c528


arduino+DHT11+LCD1602

以前にチャレンジして失敗した温湿度センサーDHT11をarduinoで再挑戦してみた。

adafruitのサイトを参考にDHT11のoutピンに2.2kΩをプルアップしてarduinoのD2に接続。
https://learn.adafruit.com/dht/using-a-dhtxx-sensor


サイトのライブラリのサンプルであっさり動作。

そのままでは物足りないので16x2のLCDをつないで表示してみた。

LCDはarduino editor標準のサンプルスケッチで普通に動作。

安い割にはキレイで簡単。ナイス。




最終的なスケッチは以下。
https://gist.github.com/izumogeiger/510d9908c911c518db7632dcdf8223a2




2016年7月2日土曜日

A1324による簡易磁気センサー

せっかくTM1638でいろいろ表示できるようになったので、A1324ホールセンサー繋いでみた。
A1324のアナログ出力をarduinoのA1に接続してTM1638で表示するだけの簡単な作業。

赤いブレッドボードにさしてあるのがA1324
近くに磁石のないときはarduinoのAD変換の値域10bitの真ん中512付近を指す。
磁石を近づけると値が小さくなったり、大きくなったりする。
そこそこくっつけないと値は変化しない。

写真下はANA飛行機のマグネットを近づけて見たところ。







2016年6月29日水曜日

TM1638ディスプレイモジュール

TM1638ディスプレイモジュールなるもので遊んでみた。
といってもgithubにあるライブラリのサンプルプログラムを動かしてみただけだけど。



TM1638ライブラリ
https://github.com/rjbatista/tm1638-library

ピン設定と使用するモジュールをちょびっとだけいじったサンプルプログラム
https://gist.github.com/izumogeiger/c9cbd0c4de0fec162d965ef0d0a7ab12

モジュールに使われている8セグLEDにアノードコモンとカソードコモンがあって、ライブラリはそのどちらにも対応しているようだ(カソードコモンはInvertedTM1638を使え)。

自分のはアノードコモンだったのでノーマルのTM1638だけを使うように修正した。

サンプルプログラムはプッシュボタンを押すとモードが切り替わり、8セグとLEDの表示パターンが変わる。

このモジュールとライブラリだけで8桁8セグとLED8個とプッシュボタン8個の制御ができるスグレモノ。

ナイス!!


 

2016年6月28日火曜日

ポケットガイガーType5 + arduino

久々の活動再開。

ついにというか、ようやくarduino触ってみた。

楽。とても楽。USBシリアルポートが標準装備なのとC言語ライクスケッチとライブラリの豊富さ。

atmegaゴリゴリやってたのが馬鹿みたいだ。


というわけでラズパイ用に買ってたポケットガイガーType5をつないで遊んでみた。



arduinoのスケッチはポケットガイガーのものがそのまま使えた。

ポケットガイガーType5 サポートページ
http://www.radiation-watch.org/2011/05/professional.html#emb

シリアル通信でCPMを取得してxivelyに投げるRubyスクリプトを書いて完了。
https://gist.github.com/izumogeiger/ad07fa739314dd76c504619b2af29cea

xivelyページ
https://personal.xively.com/feeds/1679002984


ポケットガイガーはPINフォトダイオードなのでGM管のGC10とはCPMが随分違う。




amazonアソシエイト