検索
学習キットや必要パーツの開発・拡充のリクエスト募集
会員ログイン
ID :    login
PASS :   
新規会員登録はこちら
 
パスワードを忘れた方はこちら
お問い合わせ
メール
最近チェックした商品
 
 

 

 3.6 スィッチでLEDをオン/オフしよう



スィッチのレベルを読み込んで、LEDを点けたり、消したりします。

(1) スィッチの回路を作ろう

〜販

下の配線図、回路図をみて、回路を組立て下さい。
 

(2)スィッチのレベルでLEDをオン、オフ」する」プログラムを作ろう

SW1のレベルを読み込みます。レベルの"LOW"、"HIGH"でLEDを点けたり消したりします。SW1が押されると、
GNDに繋がって、レベルは"LOW"になります。離すと、"HIGH"になります。

*Pythonの新しい命令を使います。
*if 、else 命令
*、==、から後ろの命令は、取り込んでも使えない(動かない)ようにします。
*==:等しい、!=:異なる、>:大きい、>=:大きいまたは等しい、=<:等しいまたは小さい、<:小さい
*書き方
*if 変数1==変数2:

インデント命令
else :

インデント命令
スペース

‥展擦鯑れます

RaspberryPiB+にACアダプタを繋ぎ、電源を入れます。

▲蹈哀ぅ鵑靴泙后
Raspbianが立ち上がったら、ログインして下さい。

「nano」エディター立ち上げます。
「nano rpi_bp_gpio_lsw1_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。
プログラムを変更します。
サンプルの様にプログラムを変更します。


サンプルプログラム1
 
 #! /usr/bin/env python

 import RPi.GPIO as GPIO
 import time

 from rpi_bp_gpio_led2b_1 import *

 if __name__ ==("__main__"):
 #start

 GPIO.setmode(GPIO.BCM) # use GPIO Number
 
 LED1 = 5 # LED1 --> GPIO5
 led_init(LED1)

 SW1 = 26 # SW1 --> GPIO26
 GPIO.setup(SW1, GPIO.IN) # set GPIO25 input

 for i in range(20):
 print(i)

 on_off = GPIO.input(SW1) # read SW1

 if on_off == GPIO.LOW:
 led_on(LED1)

 else:
 led_off(LED1)

 time.sleep(0.2)
 


て力を終わります。
「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

テ力したプログラムを実行します。
「sudo python rpi_bp_gpio_sw_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1 done」のメッセージが出ます。






ε展擦鬚ります。

「sudo shutdown -h now」を入力して下さい。

*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。



(3) 部品にしよう

作った部品(関数)でSW1のレベルを読み込みます。
読み込んだレベルは戻り値として返します。

*Pythonの新しい命令を使います。
*return 命令
*、*書き方
*def関数名():

インデント命令
インデントreturn戻り値

‥展擦鯑れます

RaspberryPiB+にACアダプタを繋ぎ、電源を入れます。

▲蹈哀ぅ鵑靴泙后

Raspbianが立ち上がったら、ログインして下さい。

「nano」エディター立ち上げます。

「nano rpi_bp_gpio_sw1a_1.py」コマンドを実行して下さい。

画面が「nano」エディターの画面に変わります。

プログラムを変更します。

サンプルの様にプログラムを変更します。

サンプルプログラム2
 
 #! /usr/bin/env python

 import RPi.GPIO as GPIO
 import time

 from rpi_bp_gpio_led2b_1 import *

 def sw_init(sw):
 GPIO.setup(sw, GPIO.IN) # set GPIO25 input

 def sw_read(sw):
 level = GPIO.input(sw) # set GPIO sw input
 return level

 if __name__ ==("__main__"):
 #start

 GPIO.setmode(GPIO.BCM) # use GPIO Number

 LED1 = 5 # LED1 --> GPIO5
 led_init(LED1)

 SW1 = 26 # SW1 --> GPIO26
 sw_init(SW1) # set GPIO26 input

 for i in range(20):
 print(i)

 on_off = sw_read(SW1) # read SW1

 if on_off == GPIO.LOW:
 led_on(LED1)

 else:
 led_off(LED1)
 time.sleep(0.2)
 


て力を終わります。

「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

テ力したプログラムを実行します。

「sudo python rpi_bp_gpio_swa_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

*(2)のプログラムと同じようにSW1を押すとLED1が点きます。
離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

て力を終わります。

「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

テ力したプログラムを実行します。

「sudo python rpi_bp_gpio_swa_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

*(2)のプログラムと同じようにSW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。





ε展擦鬚ります。
「sudo shutdown -h now」を入力して下さい。
*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。





(4) モジュールを使おう

作った部品(関数)のモジュールを読み込みます。読み込んだモジュールの部品(関数)を使います。

‥展擦鯑れます
RaspberryPiB+にACアダプタを繋ぎ、電源を入れます。

▲蹈哀ぅ鵑靴泙后
Raspbianが立ち上がったら、ログインして下さい。。

「nano」エディター立ち上げます。
「nano rpi_bp_gpio_sw1b_1.py」コマンドを実行して下さい。
画面が「nano」エディターの画面に変わります。
プログラムを変更します。
サンプルの様にプログラムを変更します。

サンプルプログラム3
 
 #! /usr/bin/env python

 import RPi.GPIO as GPIO
 import time

 from rpi_bp_gpio_led2b_1 import *

 from rpi_bp_gpio_sw1a_1 import *

 if __name__ ==("__main__"):
 #start

 GPIO.setmode(GPIO.BCM) # use GPIO Number

 LED1 = 5 # LED1 --> GPIO5
 led_init(LED1)

 SW1 = 26 # SW1 --> GPIO26
 sw_init(SW1) # set GPIO26 input

 for i in range(20):
 print(i)

 on_off = sw_read(SW1) # read SW1

 if on_off == GPIO.LOW:
 led_on(LED1)

 else:
 led_off(LED1)
 time.sleep(0.2)

GPIO.cleanup()
 


て力を終わります。

「ctrl+X」を実行します。次に、「y/n」は「enter」を入れます。

テ力したプログラムを実行します。
「sudo python rpi_bp_gpio_swb_1.py」を実行します。

*SW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1a done」のメッセージが出ます。

*(2)のプログラムと同じようにSW1を押すとLED1が点きます。離すと消えます。
その後に、「sw1b done」のメッセージが出ます。




ε展擦鬚ります。

「sudo shutdown -h now」を入力して下さい。

*ステータスLEDの点滅が終わり、消えてからマイクロUSBのDC5Vを抜いて下さい。