「GPIO.setmode()」を使って指定できるモードは以下の二つです:

  • GPIO.setmode(GPIO.BOARD):ピン番号でピンを指定するモード
  • GPIO.setmode(GPIO.BCM):GPIOの番号でピンを指定するモード

 例えば、Raspberry Pi1モデルB+(またはRaspberry Pi 2モデルB)では「40番ピン」が「GPIO21」です。GPIO.setmode(GPIO.BOARD)を使った場合は、プログラム中ではピン番号である「40」を指定し、GPIO.setmode(GPIO.BCM)を使った場合はGPIOの番号である「21」を指定するようにします。

 「GPIO.setup()」の使い方は以下の通りです。これを使って、ピンを入力として使うのか、それとも出力として使うのかを設定できます。設定対象となるピンを指定する際に使う「ピンを指定する番号」は上記の「GPIO.setmode()」を使って指定したモードに従います。

  • GPIO.setup( ピンを指定する番号, GPIO.IN ):入力として使う場合
  • GPIO.setup( ピンを指定する番号, GPIO.OUT ):出力として使う場合

while文で「ずっと」繰り返し

 Pythonプログラム(図29参照)の「while」からスタートする部分について、スクラッチのプログラムとの対応関係を図示しました(図30*4

*4 Pythonのプログラム(blink11.py)中にある「LEDon =」や「LEDoff =」は削除してもプログラムは動くので、ここではScratchのプログラムとの対応関係が分かりやすくなるよう不要なものは省きました。
図30●ScratchとPythonのプログラムの比較

 これはwhile文と呼ばれるもので、while以下のプログラムブロックを繰り返します。繰り返すかどうかを決定する条件は、whileのすぐ後に記述します。その条件が成立する(Trueである)限り、プログラムブロックを繰り返し続けます。ここでは、whileのすぐ後に「True」そのものが指定されているので「ずっと」繰り返し続けることになります。