トップ «前の日記(2014-05-13(Tue)) 最新 次の日記(2014-05-18(Sun))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2014-05-16(Fri) 昨日の午後は雨で、夕方やんで、今は晴れ

input button

input button

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や内容が変った場合はあしからず。

index.htmlは ここから。