JJは、簡単な組み込みプログラミング ビデオ シリーズをさらに進めて、新しい組み合わせに挑戦することにしました。今回は、静電容量式タッチ センサーを使用してモーターの速度を変更します。
みなさんこんにちは。私の名前はJean Jacques Meneuです。Arrow Electronicsのアプリケーション エンジニアをしています。
最初の5つのレッスンでは、物体が近接センサーに近づいたときにモーターを回転させる方法を学びました。これが完了すると、先に進んで新しい組み合わせを学習するのは簡単です。たとえば、今日は、Cypressが提供する評価ボード上に設計されたタッチ センサー上の指の位置に基づいてモーターの回転を変更します。
レッスン5の回路図をコピーし、コンポーネントCapSense CSDを追加します。これをCapSenseと名付け、自動チューニング方式を使用します。評価ボードでは、5つのセンサー要素を備えたリニア スライダーが設計されているため、この構成を入力する必要があります。最小値は0、最大値は100になります。指が感知要素に触れていない場合、戻り値は0xFFFFになります。
いつものように、コンポーネントに関するすべての情報を取得するには、データシートを読みます。APIセクションには、スライダー上の指の位置を示すCapSense_GetCenteroidPos関数があります。この段落では、センサーがアクティブでない場合は関数が0xFFFFを返すことがわかります。
次に、ピン配置を構成する必要があります。センシング要素はポート2のピン1からピン5にあり、Cmodと呼ばれる最後のピンはポート4のピン0にあります。APIを生成するためにプロジェクトをビルドします。
コードはかなりシンプルです。CapSenseの3つの機能は、CapSenseウィジェットを起動し、センシング要素を初期化し、スキャンを有効にすることです。レッスン5で設計された割り込みを引き続き使用し、250ミリ秒ごとに割り込みをトリガーします。タッチ センサーは近接センサーよりも優先されます。したがって、タッチセンサーの値を読み取り、0xFFFFと異なる場合は、モーターを駆動するPWM値を変更してモーターの速度を変更します。0xFFFFに等しい場合は、近接センサーの値に基づいてモーターの速度をプログラムします。