ロジアナで動作を確認する。ふーむ、Mutexを使ってprintfをガードしたけれど、このアプリでは重なることはまずなさそうだ。Mutexだけで、フラッシュは560バイトも使っている。今のところFreeRTOSのマルチタスク対応UARTは長時間テストを続けて、順調に動作している。シングルタスク用に入れてみよう。FreeRTOSマルチタスク対応UARTのソースは以下に置きます。やり方は、これまでの記事を見てください。「ARM7_LPC2388_20110708.zip」をダウンロードSparkFunのガイガーカウンターキット到着(7/4/2011)そうこうするうちに、4月の末に発注したSparkFunのガイガーカウンターキットが、遂に届いた。入荷は6月第二週の予定であったが、結局6月には届かず、ちょうど2ヶ月かかったことになる。6月第二週の情報は、SparkFunの商品ページのコメント欄で得た。このガイガーカウンターキットのコメントには100を越す色々なメッセージが飛び交っている。このコメント欄に、6月にはいってすぐ、「6/1に出荷開始!」というコメントを入れた人がいたので、心待ちにしていたのだが、一向にその気配はなかった。代金は、5月末に、クレジットカードの支払いで引き落とされている。段々心穏やかではなくなってきた。それでもFreeRTOSのトラブルシューティングに熱中していて暫く忘れていた。トラブルが解決して、一息ついてネットをぶらぶらしていたら、日本のブログでSparkFunのガイガーカウンターキットの制作を報告しているところを見つけた。この人は3ヶ月待たされたらしい。外国である日本向けの出荷が始まったのかな。Historyを見てみる。換わった!1日もしないうちに、ステイタスはshippedに換わり、めでたく品物は日本に向けて出発したようである。4日ほどで品物が届いた。SparkFunからの荷物である。中から小さな赤いSparkFunの箱が出てきた。おやあ、全部配線が済んでいる。何だキットというから半完成品かと思ったら、全部の配線が終わっている。ガイガー管は、配線を束ねるタイラップで基板に固定され、グランド側は、線を巻きつけているだけだ。このあたりの工作が難しいので全部組み立ててあるのだろうか(外国人は、日本人に較べると驚くほど不器用である)。取る物もとりあえず、USBジャックを付けて電源を入れる。赤いLEDが煌々と点いて、その隣の緑のLEDが一瞬点いた。シリアル端末を立ち上げて様子を見る。始めは何の反応もなし。して、緑LEDの瞬きとともに端末に01と数字が出た。おお、動いているようだ。CPUチップの横にあるのがISPピンらしい。SparkFunのサイトに行って、最新版のファームをダウンロードする。うーむ、このソースでは動いていない。サイトの記事を見ると、どうもV12という放射線量の数を乱数に使うプログラムが送られてきたキットには入っているようだ。その証拠に、端末の0や1が増えている。0はパルス間隔が前の時より短かったとき、1は長かったときを表すようだ。これだけでは、全くガイガーカウンターとしては用をなさない。最新ファーム(V13)も似たようなもので、1秒間の発生したパルスの数を延々と出しているだけだ。ISPピンが出ているのでファームの書き換えに支障はない。電源LEDを点滅に換えたりファームを書き換えたり(7/6/2011)このガイガーカウンターキットは、USBを通したUART(FT232RLがついている)が唯一のインターフェースで、パルスが来るとLEDが一瞬点くが、音が出るわけでもない。これをポータブルにするのは、独立電源にして、何らかの表示装置をつけないといけない。素人が使うなら音もあったほうが良いかもしれない。基板上にはGM管からの出力パルス(トランジスタでバッファー)しか出力が出ておらず、QFPのMega328の空きI/Oピンは全く引き出されていない。LCDをつけるには表面実装のパタンから線を引き出す必要がある。配置と基板をにらめっこして、半田ごてが入りそうなピンを物色する。ISPピンヘッダーはパタンがあるので、これをつけるついでに、パラレルLCDをつける半田付けのための練習を兼ねて、電源を入れると点きっ放しになる基板上のLEDをMega328のピンに移して点滅するようにした。パタンを切って銅面を出し、ピンをUEW線(0.2ミリ)でつなぐ。ソフトの方は手馴れたAVRのプログラミングである。プログラムを変えて、赤のLEDがブリンクするようになった。この基板はクリスタルをけちってCR発振のクロックなので、余り厳密なことは出来ない。出てくる数値もあくまでも目安程度だろう。それでも、GM管から出てくるパルスの間隔を配列に蓄積し、10ヶの移動平均をとって、直近の平均のCPMを出すプログラムの開発にとりかかった。品物が来る前から構想は練ってあったので、コーディング半日、テスト半日で、所定の4桁のCPMがUARTに並ぶプログラムが動いた。出てきた数値をPCのExcelでグラフにしてみた。地下室は一般的には、自然放射線量が多いということだが、我家では、明らかに地下の方が低い結果が出た。あとは、LCDにこれを移しポータブル化することと、さらにμSv/hなどに換算するロジックや、データログ機能などが待っている。「正しく怖がらなければ」などとブログで大見得を切った手前、何らかの自衛手段を持っておかねばと、はずみで買ってしまったようなガイガーカウンターである。深入りしていけばきりがないので、適当なところで切り上げるつもりだ。暫定版ですが、とりあえずソースコードを、例によってAVRStudioのプロジェクトとして下に置きます。SparkFunのガイガーキットだけでなく、パルスの到着間隔を測定表示するプログラムとして他にも応用が可能です。心電計プロジェクト:スケールが出ると心電計らしくなる(2015.01.08)心電計プロジェクト:TFT液晶に念願の心電波形が出た(2014.12.18)心電計プロジェクト:STM32F103の心電波形表示で悪戦苦闘(2014.12.03)心電計プロジェクト:CooCoxでARMの表示系ソフトを開発する(2014.10.16)心電計プロジェクト:表示部のARM基板の開発環境を一新する(2014.09.19)「FreeRTOS」カテゴリの記事WiFiモジュールESP32で画像付きサーバーの開発に成功(2017.09.28)FreeRTOSマルチタスク対応UARTとガイガーカウンターキット(2011.07.08)FreeRTOSのセマフォーの不具合がやっと解決(2011.06.25)FreeRTOSでバッファー付きUARTを動かす(2011.06.18)FreeRTOSでユーザー割り込み環境が動いた(2011.06.04)コメントコメントを書く名前:メールアドレス:(ウェブ上には掲載しません)アドレス(URL):この情報を登録するコメントは記事投稿者が公開するまで表示されません。SparkFunガイガーカウンターキットをポータブルにする。