*

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

公開日: : Arduino, 開発

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

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

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

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

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

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

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

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

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

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

ではっ!

関連記事

no image

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

どもです。 今回の内容は、「今更!?」ですがNOOBSでRaspbianをセットアップしたとい

記事を読む

Splash

EV3開発サポートツール(3)-Ev3Controller

どもです。 今回は、以前ちらりと紹介した、Ev3のモーターの出力を調整するアプリケーションについて

記事を読む

Arduino_Logo

Arduino nano(中華版)をセットアップしてみた

どもです。 突然ですが、「Arduino nano」互換(なのか?)の中華ボードを手に入れました。

記事を読む

toppers

C言語でEV3開発(25)-Q_Learningを実装してみた…が!?

どもです。 今回の内容は、「失敗しました」という内容です。 最近、流行になっている深層学習/

記事を読む

OpenCvLogo

OpenCvによる画像サイズ変更

どもです。 最近、カメラの動画をOpenCvで加工する、ということに挑戦し始めました。 しか

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(12)-gpioの状態をGUIに反映する

どもです。 今回は、gpioピンの状態(HIGH/LOW)の変化を画面上に即座に反映する方法につい

記事を読む

RasPi_Qt

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

どもです。 RaspberryPiのOS:Raspbianの新しいバージョンが、少し前(…なの

記事を読む

no image

Objective-CからC++コードを呼び出す

どもどもです。 今回は、突然ながらMacに関係する投稿です。 ソフト関係のことを勉強していて

記事を読む

no image

C言語でEV3開発(11)-opOUTPUT_STEP_POWERコマンド

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

記事を読む

toppers

C言語でEV3開発(18)-モードの遷移の設計-コマンド通信処理の準備

 どもです。  今回は、前回紹介したEv3とBluetoothで通信する機能を

記事を読む

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の新しいバージョンが出たので、クロス環境を更新してみた。(その後)

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

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

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

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

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

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

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

Arduino_Logo
フォトレジスタを使ってみた-Arduinoで光検出

どもです。 今回は、タイトル通り「フォトレジスタの使い方」です。

→もっと見る

PAGE TOP ↑