*

ホールセンサーの種類と使い方(割込み編)

公開日: : Arduino, 開発

どもです。
前回に引き続き、今回もホールセンサーについてです。

1.前回からの違い
前回のエントリでは、ホールセンサーの電圧値を「アナログ値」でとして読み込んでいました。
また、読込みは「loop()」関数の中で行っていました。

しかし、この方法では、処理内容によっては、磁石が近づいたことの検知を逃してしまう可能性があります。
そこで今回は、「ホールセンサーによる割込み」について書いていきます。

2.割込んでみた
早速ですが、コードです。

内容としては、コレまで書いてきたコードからほとんど変わりはありません。
違いとしては、setup()内の

の部分です。
コレまでのコードでは、「attachInterrupt()」の第3引数は「RISING」でしたが、ココでは「FALLING」としています。
前回の投稿で載せたグラフから読み取れるように、ホールセンサでは磁石を近づけると出力(電位)が下がります。
そのため、この「電位が下がった」コトをトリガーに割り込みを発生させるために、設定を変更しています。

それ以外のコードは、大きく変化していません。
すなわち、「流用が可能!」というコトです!!

このコードを実機に書き込んで実行すると、通常は何も表示されません。
しかし磁石を近づけると、「interruptCount = xxx」という形式で、「割り込み」が発生した回数、前述のコードでは「interruptCount」の値、「interruptHandlerが実行された回数」が都度表示されます。
また、近づけた磁石をセンサーから「遠ざけた」際には、割り込みは発生しません。
すなわち、期待するタイミングでのみ、割り込みが発生していることが分かります。

3.まとめ
2回連続で、arduinoによるホールセンサーの電位の読み取りについて記載しました。
その中で、アナログ/デジタルの両方でセンサーの出力の読み取りについて書きました。
特にデジタルの読み取りについては、「割込み処理」が可能であること、およびそのコードについて書きました。

ここ数回のエントリの中で、ホールセンサについて書き、その使い方やできること、やり方が分かってきました。
使いこなす…ためには、もう少しH/Wの理解が必要です。
今後、それも含めて何かネタができれば、書いていきます。

ではっ!

関連記事

eclipse_oxygen

Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryPi3のクロスコンパイル環境の構

記事を読む

eclipse_cdt_top_100

C言語でEV3開発(3)

どもです。 今回のエントリーの内容は、前回まででセットアップした環境で、実際にEV3上で動く実行フ

記事を読む

toppers

C言語でEV3開発(26)-EV3で機械学習(1)-QLearningをC#に委譲してみた

どもです。 前回の投稿では、Q-LearningをEV3本体に実装してみたら、メモリが足りなくて動

記事を読む

google_test

C言語でEV3開発(6)

どもです。 今回のエントリーは、前回のエントリーの続き、google testでの単体テスト環境に

記事を読む

no image

C言語でEV3開発(12)-opOUTPUT_TIME_POWERコマンド

どもです。 今回のエントリーでは、これまた前回に引き続き、モーターを動かすためのコマンドについて書

記事を読む

eclipse-juno-logo

C言語でEV3開発(1)

どもです。 2回目の投稿。 本格的な投稿としては、初めての投稿になります。 内容は、LEG

記事を読む

no image

C言語でEV3開発(15)-TOPPERS/HRP2 EV3 で PID制御

どもです。 今回のエントリーは、コレまでのエントリーから内容を変えて、モーターの動作の制御をします

記事を読む

eclipse_oxygen

Eclipse/CrossCompile環境でプロジェクトをクリーンできない

どもです。 今回は、Eclipseでクロスコンパイル環境を作成した場合、を実行すると「指定されたフ

記事を読む

raspberry-pi

RaspberryPiで物体検出(2)-白線検出への挑戦(2):輪郭検出による白線検出(実機編)

どもです。 今回は、前回に引き続きOpenCvを用いて道路の白線検出について、です。 1.今

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(10)-SPI通信をしてみた(その2)

どもです。 えー。 「Qtで…」とか書いておきながら、今回もやっぱりQtは出てきません。

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

RasPi_Qt
Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。(さらにその後)

どもです。 前回の投稿から、かなり時間が空いてしまいましたが、今

RasPi_Qt
Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。(その後)

どもです。 前回、Linux/RaspberryPiでのQt(Q

RasPi_Qt
Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。

どもです。 RaspberryPiのOS:Raspbianの新し

no image
RaspberryPiのOS:RaspbianをNOOBSでセットアップしてみた

どもです。 今回の内容は、「今更!?」ですがNOOBSでRasp

GitHub
C/C++のスタブを自動生成するツールを公開しました

どもです。 突然ですが、C/C++の単体テストで使用する「スタブ

→もっと見る

PAGE TOP ↑