Raspberry Pi は、電子エンジニアや愛好家向けに設計されたARMアーキテクチャプロセッサベースのボードです。PIは、現在最も信頼されているプロジェクト開発プラットフォームの1つです。より高速なプロセッサ速度と1GBのRAMを備えたPIは、画像処理やモノのインターネットなどの多くの注目を集めるプロジェクトに使用できます。
注目を集めるプロジェクトを行うには、PIの基本的な機能を理解する必要があります。そのため、ここでは、これらのチュートリアルでRaspberryPiのすべての基本機能について説明します。各チュートリアルシリーズでは、PIの機能の1つについて説明します。チュートリアルシリーズの終わりまでに、あなたは自分で注目を集めるプロジェクトを行うことができるようになります。RaspberryPiおよびRaspberryPi構成の開始については、これらを確認してください。
PIとユーザー間のコミュニケーションを確立することは、PIでプロジェクトを設計するために非常に重要です。通信のために、PIはユーザーからの入力を受け取る必要があります。PIシリーズのこの2番目のチュートリアルでは、ボタンをRaspberry Piに接続して、ユーザーから入力を取得します。
ここでは、ボタンを1つのGPIOピンに接続し、LEDをRaspberryPiの別のGPIOピンに接続します。ユーザーがボタンを押すと、LEDを連続的に点滅させるプログラムをPYTHONで作成します。GPIOをオン/オフするとLEDが点滅します。
プログラミングに行く前に、LINUXとPYHTONについて少し話しましょう。
Linux:
LINUXはWindowsのようなオペレーティングシステムです。WindowsOSが実行できるすべての基本機能を実行します。それらの主な違いは、LinuxはWindowsではないオープンソースソフトウェアであるということです。基本的には、Linuxは無料ですが、Windowsは無料ではありません。Linux OSは無料でダウンロードして操作できますが、正規のWindows OSをダウンロードするには、料金を支払う必要があります。
また、両者のもう1つの大きな違いは、コードを微調整することでLinux OSを「変更」できることですが、Windows OSは変更できないため、法的な問題が発生します。したがって、誰でもLinux OSを使用して、自分の要件に合わせて変更し、独自のOSを作成できます。ただし、Windowsではこれを行うことはできません。WindowsOSには、OSの編集を停止するための制限があります。
ここでLinuxについて話しているのは、JESSIE LITE(Raspberry Pi OS)がLINUXベースのOSであり、RaspberryPiの紹介部分にインストールしたためです。PI OSはLINUXに基づいて生成されるため、LINUXオペレーティングコマンドについて少し知っておく必要があります。これらのLinuxコマンドについては、次のチュートリアルで説明します。
PYTHON:
LINUXとは異なり、PYTHONはC、C ++、JAVAなどのプログラミング言語です。これらの言語はアプリケーションの開発に使用されます。プログラミング言語はオペレーティングシステムで実行されることを忘れないでください。OSなしでプログラミング言語を実行することはできません。したがって、OSは独立していますが、プログラミング言語は依存しています。PYTHON、C、C ++、JAVAは、LinuxとWindowsの両方で実行できます。
これらのプログラミング言語で開発されるアプリケーションには、ゲーム、ブラウザー、アプリなどがあります。PIでプログラミング言語PYTHONを使用して、プロジェクトを設計し、GPIOを操作します。
先に進む前に、PIGPIOについて少し説明します。
GPIOピン:
上図に示すように、PIには40個の出力ピンがあります。しかし、2番目の図を見ると、40個のピン配列すべてをプログラムして使用できるわけではないことがわかります。これらは、プログラム可能な26個のGPIOピンのみです。これらのピンは GPIO2からGPIO27に移動します。
これらの 26個のGPIOピンは、 必要に応じてプログラムできます。これらのピンのいくつかは、いくつかの特別な機能も実行します。これについては後で説明します。特別なGPIOは別として、残りのGPIOは17個です(薄緑色のCirl)。
これらの17個のGPIOピンはそれぞれ、最大15mAの電流を供給できます 。また、すべてのGPIOからの電流の合計は50mAを超えることはできません。したがって、これらの各GPIOピンから平均で最大3mAを引き出すことができます。したがって、自分が何をしているのかを知らない限り、これらのことを改ざんしてはなりません。
必要なコンポーネント:
ここでは 、Raspbian JessieOSでRaspberryPi2モデルB を使用しています。ハードウェアとソフトウェアの基本的な要件はすべて前に説明しましたが、必要なものを除いて、RaspberryPiの概要で調べることができます。
- 接続ピン
- 220Ωまたは1KΩ抵抗
- 導いた
- ボタン
- ブレッドボード
回路の説明:
回路図に示すように、LEDをPIN35(GPIO19)に接続し、ボタンをPIN37(GPIO26)に接続します。前述のように、これらのピンのいずれからも15mAを超える電流を引き出すことはできないため、電流を制限するために、LEDと直列に220Ωまたは1KΩの抵抗を接続します。
作業説明:
すべてが接続されたら、Raspberry Piをオンにして、プログラムをPYHTONで記述して実行できます。(PYTHONの使用方法を知るには、PI BLINKYにアクセスしてください)。
PYHTONプログラムで使用するいくつかのコマンドについて説明します。
ライブラリからGPIOファイルをインポートします。以下の関数を使用すると、PIのGPIOピンをプログラムできます。また、「GPIO」の名前を「IO」に変更しているため、プログラムでGPIOピンを参照する場合は常に、「IO」という単語を使用します。
RPi.GPIOをIOとしてインポートします
時々、私たちが使おうとしているGPIOピンが他の機能をしているかもしれません。その場合、プログラムの実行中に警告が表示されます。以下のコマンドは、PIに警告を無視して、プログラムを続行するように指示します。
IO.setwarnings(False)
PIのGPIOピンは、ボード上のピン番号または機能番号のいずれかで参照できます。ピンダイアグラムでは、ボード上の「PIN37」が「GPIO26」であることがわかります。したがって、ここでは、ピンを「37」または「26」で表すことにします。
IO.setmode(IO.BCM)
GPIO26(またはPIN37)を入力ピンとして設定しています。このピンでボタンの押下を検出します。
IO.setup(26、IO.IN)
一方1: 無限ループに使用されます。このコマンドを使用すると、このループ内のステートメントが継続的に実行されます。
プログラムが実行されると、ボタンが押されるたびにGPIO19(PIN35)に接続されたLEDが点滅します。LEDを離すと、再びオフ状態になります。