2017年6月4日日曜日

GC-10 2号機

AmazonでGC-10が再入荷したので予備の意味もあって再購入。
今度はきちんとLCDをつけた。



1号は買ってから4年経過しているが問題なく動作中。

当初は通信モジュールを購入してPCにつないで計測してたが、
少し前に外部連携端子にESP8266互換のArduinoをつないで無線LANでHTTP飛ばすようにしている。

スケッチはPocketGeiger Type5のスケッチを流用してCPM計算を行っている。

例によってraspberrypiでHTTP受けてM2Xへ飛ばしている。

スケッチ
https://gist.github.com/izumogeiger/ab5b3a5e42ed4eb7339b38e8d7a05f10

M2Xのページ
https://m2x.att.com/catalog/a12eeb447a3d905188bbe4b3f43964f4

----

M2Xへの移行

理由はよくわからないがxively.comにアップロードできなくなったので、M2Xに移行した。

またセンサー側のArudinoをESP8266に変更して無線LANでデータアップロードするようにした。

ESP8266からRaspberryPIにHTTPを投げて、CGIで受けてログ保存+M2Xへのアップロードを行う。

利用するセンサーは以下。

  • ダストモニター SHARP GP2Y1010AU0F
  • 気圧計 BMP280
  • 空気質センサー MQ135
利用したスケッチはこちら。

RaspberryPIで動かすWebサーバ兼CGIスクリプトは以下。

https://gist.github.com/izumogeiger/d983806b80607ae008ee991fe96d5222

Webサーバでは/mix1と/gc10をマウントして複数のESP8266からデータを取得できるようにしている。

M2Xでアップロードしたデータのグラフが確認できる。
https://m2x.att.com/catalog/3349c6f9edce1701f8f8dccd6e65bbe6

----

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が随分違う。




2014年12月5日金曜日

atmega8 + 100円ショップLEDケーブルでクリスマスイルミネーション

実に10ヶ月ぶりの投稿。

そろそろクリスマスなシーズンなので去年作成したイルミネーションをアレンジしてみた。

  • 白色LEDケーブルを3本追加→計6本LED60個
  • オルゴールはなし
  • LED点灯パターンを点滅のみにして10秒毎に点滅時間をランダムに(100ms~2000ms)
簡単な回路とプログラムの割にはいい感じ。
このままツリーにまとわりつかせて飾る予定。


回路


  • atmega8
  • aitendo USB-UART変換モジュール(電源として使用)
  • トランジスタx6
  • 抵抗100Ωx6
  • 100円ショップLEDx6


動画


コード


久々にatmegaやらはんだごてやらさわったけどもわりと楽しめた。

2014年2月11日火曜日

74HC138NとNJU3711Dを使用したマトリクスLED

以前USBマトリクスLEDディスプレイを作成したのだけど、Atmega8とUSB-UART変換基板を使用していて若干もったいない感じだったので取り外して前回のDHT11の動作確認に使用していた。

ブレッドボードに実装していたのだが、デバッグ用としてなかなか有用なことがわかったので改めてユニバーサル基板に実装しなおした。

74HC138NのA0、A1、A2とNJU3711Dの^CLR、^STB、CLK、DATAの7ポートでマトリクスLEDを制御できる。




サンプルプログラム
----
----

温湿度センサDHT11(1)

秋月で買った温湿度センサDHT11で遊んでみた。

DHT11は単線シリアル通信で、LOWが50us続いた後HIGHが26-28usなら0、HIGHが70us以上続いたら1というような形式。

ここを参考にプログラム組んで試してみたのだけど信号40bit全部0しか返してこない。

マトリクスLEDにシグナルのHIGHのヒストグラムを取ってみたりしたけど見事に全部25us前後。

ぬー。

----
----

色々試してるうちにDHT11をショートさせてしまいご臨終に。。。


中央部が発熱して若干盛り上がったかんじに
せっかくなので分解してみた。

小刀で接合部をこじ開けたらあっさりとはずせた。

中央の銅色のところが湿度センサっぽい

本体ICチップ、これが壊れたっぽい
湿度センサははずしたらまた使えそうな気もするがまあ放置。

そのうちまた買ってリベンジしたい。

2014年2月9日日曜日

100円ショップLEDキャンドルを常夜灯に改造

部屋の常夜灯のナツメ球が切れた。 

たまたま部品取り用に買っていた100円ショップLEDキャンドルがあったのでそれを使ってみる。

が、チラチラして嫌だとのクレームが。 

仕方ないので分解してなんとかならんかと調べてみた。

キャンドルの底面のネジをはずすと以下のように。コンデンサマイク入っとる。


チラツキの秘密はマイクか!?

ちゅうことでハンダごてではずしてみたがチラツキは止まらない。

どうも基板中央の白い部分になにかありそう(コンデンサかなにかが入ってるんだろうか)だがどうしようもない。

マイクの入力でコンデンサのタイミングをどうこうするような仕組みなんだろうか?

。。。と考えていてもわからんので、LEDを取り出してブレッドボードに繋ぐ。

LED直接だと指向性つよすぎるのでセロテープぐるぐるまいたらいい感じに。


で、翌日ナツメ球買ってきてお役御免。 というオチのない話。

タミヤ リモコンロボット製作キット クローラータイプ

タミヤ リモコンロボット製作キット クローラータイプを作成してみた。
レビューで多くの人が言うように思ったより手間がかかる。

特に不安定な部品をネジで止めつつナットを締める作業が大変であった。

デフォルトのアームタイプを作成したのだけどアームはたいして役に立たない割りには邪魔なのではずして遊んでいる。

うにうに動かすだけで割と楽しい。

完成後は3歳児から60代までと幅広い支持を集めた。

無線化の要望があがったがそれは今後の課題。


----

2014年1月13日月曜日

16x8マトリクスLEDでbitman表示(3)

前回ブレッドボードに作成した回路をユニバーサル基板に実装した。




  • 左のピンソケットにaitendo USB USART接続して電源供給と同時に、USART可能
  • 右のピンソケットにAVR ISPライタを接続してプログラム転送可能
  • 8x8のマトリクスLED2個ということでかなりのカオス配線
  • 結構気をつけたつもりでも配線間違いが発生→4箇所ほどハンダ付け直し
  • 序盤はなるたけ綺麗に実装するんだけど中盤から後半にかけておざなりになってしまうところは性格によるものだろうなぁと
次はMDF材でカバーをつけます。

2014年1月5日日曜日

16x8マトリクスLEDでbitman表示(2)

前回のプログラムを組み合わせてさらにUSARTによるビットパターン更新を加えたものを作成した。



  • 待機モードとUSARTモード
  • 待機モードではbitman run,dance,ランダムパターンスクロールの3種類を10秒ずつランダムに切り替え
  • USART読み込みがあるとUSARTモードに移行し転送されたビットパターンを表示
  • 最後の転送から10秒経過すると待機モードに移行
動作風景



プログラム
----

----

2014年1月4日土曜日

16x8マトリクスLEDでbitman表示

前回のマトリクスLED回路をAtmega8で制御してbitmanを表示してみた。
  • bitmanのパターンはここを参考
  • runで巡回スクロールするのにかなり脳みそを使った
  • runのパターンとMSB,LSBが逆になっていてスクロール方向が右シフトになってる状況でさらに巡回とか
  • danceも同様にスクロールのシフト演算がややこしかった
  • 十数回はトライアンドエラーを繰り返してようやく思い通りのパターンに
  • プログラム変更して試すのに毎回4分かかるのがやはりキツイ
動作風景



プログラム
----
----