2012年11月4日 星期日

Raspberry PiのGPIOテストコントロール用スクリプト(Python)

更新が遅れてしまった。

今回はRaspberry PiのGPIOテストコントロール用スクリプトを作ろうと思います。
ここは全部のGPIOがコントロールできるコードじゃない。GPIO21,22,23,24,25だけコントロールできるの部分です、全部はるのもちょっと長過ぎるという原因もありますし。もっときれいなコードがあるはずと思います(Pythonは得意じゃないから、、)


使い方は簡単、rootで起動します。例えばGPIO 25をオンにしたい場合、そのまま25を入力してください。オフにしたい場合、もう一度25を入力したらオフです。CTRL+Cを押すと中止です。

GUIバージョンを作ろうか...

import RPi.GPIO as GPIO
import time
GPIO.setmode( GPIO.BCM )
GPIO.setup(21, GPIO.OUT)
GPIO.setup(22, GPIO.OUT)
GPIO.setup(23, GPIO.OUT)
GPIO.setup(24, GPIO.OUT)
GPIO.setup(25, GPIO.OUT)
io21=0
io22=0
io23=0
io24=0
io25=0
my_input = '25'
while 1:
  my_input = raw_input("(Last input: %s):\n" % my_input) or my_input


  if my_input=="25":
     if io25==0:
        GPIO.output(25, GPIO.HIGH)
        io25=1
     else:
        GPIO.output(25, GPIO.LOW)
        io25=0
  if my_input=="24":
     if io24==0:
        GPIO.output(24, GPIO.HIGH)
        io24=1
     else:
        GPIO.output(24, GPIO.LOW)
        io24=0
  if my_input=="23":
     if io23==0:
        GPIO.output(23, GPIO.HIGH)
        io23=1
     else:
        GPIO.output(23, GPIO.LOW)
        io23=0
  if my_input=="22":
     if io22==0:
        GPIO.output(22, GPIO.HIGH)
        io22=1
     else:
        GPIO.output(22, GPIO.LOW)
        io22=0
  if my_input=="21":
     if io21==0:
        GPIO.output(21, GPIO.HIGH)
        io21=1
     else:
        GPIO.output(21, GPIO.LOW)
        io21=0