Raspberry Pi は、電子エンジニアや愛好家向けに設計されたARMアーキテクチャプロセッサベースのボードです。PIは、現在最も信頼されているプロジェクト開発プラットフォームの1つです。より高速なプロセッサ速度と1GBのRAMを備えたPIは、画像処理やモノのインターネットなどの多くの注目を集めるプロジェクトに使用できます。
注目を集めるプロジェクトを行うには、PIの基本的な機能を理解する必要があります。 これらのチュートリアルでは、RaspberryPiのすべての 基本機能について説明します。各チュートリアルでは、PIの機能の1つについて説明します。このRaspberryPiチュートリアルシリーズの終わりまでに 、あなたは自分で注目を集めるプロジェクトを行うことができるようになります。以下のチュートリアルを実行してください。
- RaspberryPi入門
- RaspberryPiの構成
- LED点滅
- ラズベリーパイボタンインターフェース
- Raspberry PiPWM生成
- RaspberryPiを使用したDCモーターの制御
- RaspberryPiによるステッピングモーター制御
- シフトレジスタとRaspberryPiのインターフェース
このチュートリアルでは、静電容量式タッチパッドをRaspberryPiに接続します。静電容量式タッチパッドには、1から8までの8つのキーがあります。これらのキーは正確にはキーではなく、PCBに配置されたタッチセンシティブパッドです。パッドの1つに触れると、パッドの表面の静電容量が変化します。この変化は制御ユニットによってキャプチャされ、制御ユニットは応答として、出力側で対応するピンをハイにプルします。
この静電容量式タッチパッドセンサーモジュールをRaspberryPiに取り付けて、PIの入力デバイスとして使用します。
先に進む前に、Raspberry PiGPIOピンについて少し説明します。
GPIOピン:
上図に示すように、PIには40個の出力ピンがあります。しかし、下の2番目の図を見ると、40個のピン配列すべてをプログラムして使用できるわけではないことがわかります。これらは、プログラム可能な26個のGPIOピンのみです。これらのピンは GPIO2からGPIO27に移動します。
これらの 26個のGPIOピンは、 必要に応じてプログラムできます。これらのピンのいくつかは、いくつかの特別な機能も実行します。これについては後で説明します。特別なGPIOを別にすれば、残りのGPIOは17個です(薄緑色)。
これらの17個のGPIOピンはそれぞれ、最大15mAの電流を供給できます 。また、すべてのGPIOからの電流の合計は50mAを超えることはできません。したがって、これらの各GPIOピンから平均で最大3mAを引き出すことができます。したがって、自分が何をしているのかを知らない限り、これらのことを改ざんしてはなりません。
ここでもう1つ重要なことは、PIロジック制御が+ 3.3vであるため、PIのGPIOピンに+ 3.3Vを超えるロジックを与えることはできないということです。PIのGPIOピンに+ 5Vを与えると、ボードが損傷します。したがって、PIの適切なロジック出力を取得するには、静電容量式タッチパッドに+ 3.3Vの電力を供給する必要があります。
必要なコンポーネント:
ここでは 、Raspbian JessieOSでRaspberryPi2モデルB を使用しています。ハードウェアとソフトウェアの基本的な要件はすべて前に説明しましたが、必要なものを除いて、RaspberryPiの概要で調べることができます。
- 接続ピン
- 静電容量式タッチパッド
回路図:
静電容量式タッチパッドインターフェース用に行われる接続は、上の回路図に示されています。
作業とプログラミングの説明:
回路図に従ってすべてが接続されたら、PIをオンにしてPYHTONでプログラムを作成できます。
PYHTONプログラムで使用するいくつかのコマンドについて説明します。
ライブラリからGPIOファイルをインポートします。以下の関数を使用すると、PIのGPIOピンをプログラムできます。また、「GPIO」の名前を「IO」に変更しているため、プログラムでGPIOピンを参照する場合は常に、「IO」という単語を使用します。
RPi.GPIOをIOとしてインポートします
時々、私たちが使おうとしているGPIOピンが他の機能をしているかもしれません。その場合、プログラムの実行中に警告が表示されます。以下のコマンドは、PIに警告を無視して、プログラムを続行するように指示します。
IO.setwarnings(False)
PIのGPIOピンは、ボード上のピン番号または機能番号のいずれかで参照できます。ボード上の「PIN29」のように「GPIO5」です。したがって、ここでは、ピンを「29」または「5」で表すことにします。
IO.setmode(IO.BCM)
入力ピンとして8ピンを設定しています。静電容量式タッチパッドからの8つのキー出力を検出します。
IO.setup(21、IO.IN)IO.setup(20、IO.IN)IO.setup(16、IO.IN)IO.setup(12、IO.IN)IO.setup(25、IO.IN) IO.setup(24、IO.IN)IO.setup(23、IO.IN)IO.setup(18、IO.IN)
中括弧内の条件が真の場合、ループ内のステートメントは1回実行されます。したがって、GPIOピン21がハイになると、IFループ内のステートメントが1回実行されます。GPIOピン21がハイにならない場合、IFループ内のステートメントは実行されません。
if(IO.input(21)== True):
以下のコマンドは永久ループとして使用され、このコマンドを使用すると、このループ内のステートメントが継続的に実行されます。
一方1:
以下のプログラムをPYTHONで記述して実行すると、準備が整います。パッドに触れると、モジュールが対応するピンを引き上げ、このトリガーがPIによって検出されます。検出後、PIは適切なキーを画面に印刷します。
したがって、静電容量式タッチパッドをPIに接続しました。