-
Notifications
You must be signed in to change notification settings - Fork 3
Samples_GPIO
Ko-ichiro Sugiyama edited this page Dec 9, 2024
·
2 revisions
GPIO クラスのメソッドについては,Class_GPIO を参照されたい.
スイッチの状態を取得する場合は,PULL_UP回路(電源→抵抗(10kΩ程度 )→スイッチの手前)が必須であり,GPIO のピンによって PULL_UP 抵抗を内蔵するものもある.以下の例では PULL_UP 抵抗を内蔵しないピンを使う場合を想定して,マイコンの外部に PULL_UP 回路を付した形としている. PULL_UP 抵抗内蔵のピンを使う場合であれば,マイコンの内に抵抗が存在するような回路図となる.
LED (GPIO 13) を 1 秒おきに点滅させるプログラムは以下のように書けば良い.
#インスタンスの作成. LED の接続されているピン (GPIO 13) を出力に設定.
led1 = GPIO.new( 13, GPIO::OUT )
loop do
led1.write(1) # pin の値をハイレベルに
sleep 1 # 1 秒待つ
led1.write(0) # pin の値をローレベルに
sleep 1 # 1 秒待つ
end
スイッチ(GPIO 34)と LED (GPIO 13) を連動させる場合には,以下のようなプログラムを書けば良い.
# LED の接続されているピン (GPIO 13) を出力に設定.
led1 = GPIO.new( 13, GPIO::OUT )
# スイッチの接続されているピン (GPIO 34) を入力に設定. プルアップする.
sw1 = GPIO.new( 34, GPIO::IN | GPIO::PULL_UP )
loop do
if (sw1.read == 0) #スイッチのピンの値がローレベルの時
led1.write(1) # LED のピンの値をハイレベルに
else
led1.write(0) # LED のピンの値をローレベルに
end
sleep 1
end