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
----
2017年6月4日日曜日
M2Xへの移行
理由はよくわからないがxively.comにアップロードできなくなったので、M2Xに移行した。
またセンサー側のArudinoをESP8266に変更して無線LANでデータアップロードするようにした。
ESP8266からRaspberryPIにHTTPを投げて、CGIで受けてログ保存+M2Xへのアップロードを行う。
利用するセンサーは以下。
https://gist.github.com/izumogeiger/d983806b80607ae008ee991fe96d5222
Webサーバでは/mix1と/gc10をマウントして複数のESP8266からデータを取得できるようにしている。
M2Xでアップロードしたデータのグラフが確認できる。
https://m2x.att.com/catalog/3349c6f9edce1701f8f8dccd6e65bbe6
----
またセンサー側の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で気圧測定
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で以下のようにグラフ化で終了。
↓を参考に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
基盤にピンソケット、抵抗、コンデンサをハンダ付けして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に繋いでみた。
とピン接続。
本来は3.3v駆動らしいが5vでも動いた(いいんだろうか。。。それで)。
あと基盤のネジ固定穴は3mmネジは入らない。2mmネジなら入ったのでそれで固定。
後はethercardライブラリをgithubから取得して導入して
https://github.com/jcw/ethercard
サンプルスケッチを書き込んで動作確認。
https://gist.github.com/izumogeiger/117f37a40167cf964d0264dd1e0b0f6d
webサーバのリクエスト処理で各種センサーの値を取得してクライアントに返してやるようにすればarduinoによるセンサーサーバになるわけ。
こりゃ便利。
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の整数値を表示している(あまり意味ないけど)。やはり表示があるとわかりやすい。
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
近くだと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
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による簡易磁気センサー
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個の制御ができるスグレモノ。
ナイス!!
といっても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
ついにというか、ようやく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ヶ月ぶりの投稿。
そろそろクリスマスなシーズンなので去年作成したイルミネーションをアレンジしてみた。
このままツリーにまとわりつかせて飾る予定。
回路
動画
コード
久々にatmegaやらはんだごてやらさわったけどもわりと楽しめた。
そろそろクリスマスなシーズンなので去年作成したイルミネーションをアレンジしてみた。
- 白色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を制御できる。
サンプルプログラム
----
----
ブレッドボードに実装していたのだが、デバッグ用としてなかなか有用なことがわかったので改めてユニバーサル基板に実装しなおした。
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をショートさせてしまいご臨終に。。。
せっかくなので分解してみた。
小刀で接合部をこじ開けたらあっさりとはずせた。
湿度センサははずしたらまた使えそうな気もするがまあ放置。
そのうちまた買ってリベンジしたい。
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直接だと指向性つよすぎるのでセロテープぐるぐるまいたらいい感じに。
で、翌日ナツメ球買ってきてお役御免。 というオチのない話。
たまたま部品取り用に買っていた100円ショップLEDキャンドルがあったのでそれを使ってみる。
が、チラチラして嫌だとのクレームが。
仕方ないので分解してなんとかならんかと調べてみた。
キャンドルの底面のネジをはずすと以下のように。コンデンサマイク入っとる。
チラツキの秘密はマイクか!?
ちゅうことでハンダごてではずしてみたがチラツキは止まらない。
どうも基板中央の白い部分になにかありそう(コンデンサかなにかが入ってるんだろうか)だがどうしようもない。
マイクの入力でコンデンサのタイミングをどうこうするような仕組みなんだろうか?
。。。と考えていてもわからんので、LEDを取り出してブレッドボードに繋ぐ。
LED直接だと指向性つよすぎるのでセロテープぐるぐるまいたらいい感じに。
で、翌日ナツメ球買ってきてお役御免。 というオチのない話。
タミヤ リモコンロボット製作キット クローラータイプ
タミヤ リモコンロボット製作キット クローラータイプを作成してみた。
レビューで多くの人が言うように思ったより手間がかかる。
特に不安定な部品をネジで止めつつナットを締める作業が大変であった。
デフォルトのアームタイプを作成したのだけどアームはたいして役に立たない割りには邪魔なのではずして遊んでいる。
うにうに動かすだけで割と楽しい。
完成後は3歳児から60代までと幅広い支持を集めた。
無線化の要望があがったがそれは今後の課題。
----
レビューで多くの人が言うように思ったより手間がかかる。
特に不安定な部品をネジで止めつつナットを締める作業が大変であった。
デフォルトのアームタイプを作成したのだけどアームはたいして役に立たない割りには邪魔なのではずして遊んでいる。
うにうに動かすだけで割と楽しい。
完成後は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表示
登録:
投稿 (Atom)




































