*

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

公開日: : Arduino, 開発

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

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

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

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

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

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

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

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

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

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

ではっ!

関連記事

no image

C言語でEV3開発(4)

どもです。 今回のエントリーは、前回のエントリー内容/EclipseでEV3の実行ファイルをビルド

記事を読む

no image

C言語でEV3開発(13)-opOUTPUT_STEP_SPEEDコマンド

どもです。 今回のエントリーは、モーターを動かすコマンドである 「opOUTPUT_STEP_S

記事を読む

no image

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

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

記事を読む

toppers

C言語でEV3開発(24)-APIの実行時間を測定してみた。

どもです。 今回、以前から気になっていた、開発環境/プラットフォームであるTOPPERS HRP2

記事を読む

RasPi_Qt

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

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

記事を読む

RasPi_Qt

QtでRaspberryPi/GUI開発(6):pigpioを使用したチャタリング対策

どもです。 前回のエントリーで、pigpioを使用したボタンを使用したLEDの点灯/消灯について書

記事を読む

MindStormControl_SprachScreen

EV3開発サポートツール(2)-C#のユーザーコントロール開発(2つ目)

どもです。 前回に引き続き、今回もC#/WPFでの独自UI(ユーザーコントロール)の作成についての

記事を読む

no image

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

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

記事を読む

toppers

C言語でEV3開発(22)-ロギング機能

どもです。 前回は、モーターの出力を制御する方法について記載しました。その際に、モータ/車体が期待

記事を読む

no image

C言語でEV3開発(14)-opOUTPUT_TIME_SPEEDコマンド

どもです。 今回のエントリーは、モーターを動かすコマンドである「opOUTPUT_TIME_SPE

記事を読む

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="">

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

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

Arduino_Logo
ホールセンサーの種類と使い方

どもです。 今回のエントリは、表題にある「ホールセンサー」についてで

Arduino_Logo
1台のarduinno nanoで割込みとSPIの同時使用

どもです。 先日手に入れたArduino nano(中華)で遊んでい

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

どもです。 突然ですが、「Arduino nano」互換(なのか?)

raspberry-pi
libpigpioでのRaspberryPi3とArduinoのSPI通信

どもです。 今回は、libpigpioを使用してRaspberryP

→もっと見る

PAGE TOP ↑