僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
GPIOへの入力装置をつけてみた。
本を頼りにハードソフトを実装。
ボタンを押さなければGPIOに10kΩの抵抗を介して3.3V。押すと抵抗器の先が
GNDにも繋がり、そちらに電流が(たぶん、ほとんど)切り替わる。
ソフト側は例によってPythonのRPi.GPIO。
INモードでGPIO.INPUT(port)を評価し続け、Falseが返ったら何かをやる。
赤いボタンは3.3V(P5-02) とGPIO28(P5-03)、緑はGPIO30をOUTでHIGHにして
GPIO31を監視する。
count = 0 while True: green_button = GPIO.input(port) if green_button == False: count += 1 print "press", count while green_button == False: green_button = GPIO.input(port)
前に作った、20個のLED(bash)を変えて、 コマンドラインで任意のLEDを点灯させる関数を 引数一つになるようにする。
#0-7 7-0 3-7 7-3 1-7 #3-0 0-3 1-0 0-1 7-1 #1-3 3-1 2-0 0-2 2-7 #2-1 1-2 2-3 3-2 7-2 a=1; b=3; c=2; d=0; e=7 led_array=( \ "$d $e" "$e $d" "$b $e" "$e $b" "$a $e" \ "$b $d" "$d $b" "$a $d" "$d $a" "$e $a" \ "$a $b" "$b $a" "$c $d" "$d $c" "$c $e" \ "$c $a" "$a $c" "$c $b" "$b $c" "$e $c") function ledon() { gpio reset && \ hport=`echo ${led_array[$1]} | command cut -c 1` && \ lport=`echo ${led_array[$1]} | command cut -c 3` && \ glow $lport; ghigh $hport; }
ちょっと煩雑。というか、もう少し 負担の少なそうな設定にできないものか。
<追記>
今朝(2014/5/20)書いた、
回路図もどきの絵。
</追記>
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。