超入門書で取り上げた電子工作例で出てきたプログラムを中心に備忘録としてまとめています。どこの場所で出てきたかでまとめてある。
レッスン1 LEDの点灯、レッスン2 タクトスイッチ までの範囲です。
1.プログラムの全体の形
import文
関数定義
初期化処理
メイン処理
終了処理
2.import文
import RPi.GPIO as GPIO ラズパイのGPIOを「GPIO」と言う名称で使うヨ
from time import sleep 「time」というモジュールから「sleep」という関数を使用可にする。
sleep(処理停止秒数ms) ここで処理停止秒数だけ処理停止する
3.関数定義
def my_callback(channel): my_callbackと言う関数を定義する、()内はchannelという引数、定義内容は段差下で記述
global ledState ledStateと言う名の変数をこの関数でも使うよと言う宣言。
ledState = not ledState ledStateと言う名の変数の状態を変える。
4.初期化処理
GPIO.setmode(GPIO.BCM) GPIOの番号をブロードコムの論理番号にする
GPIO.setup(25, GPIO.OUT) GPIO25をOUTにする
GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW) 上に加えて初期状態をLOWとする
GPIO.setup(24, GPIO.IN) GPIO24をINにする
GPIO.setup(24, GPIO.IN, pul_up_down=GPIO.PUD_DOWN) 上に加えプルアップダウン抵抗をプルダウン抵抗を有効にする
GPIO.add_event_detect(24, GPIO.RISING, callback=my_callback, bouncetime=200) GPIO24の立ち上がり検出、立ち下がりの時はGPIO.FALLING、bouncetime=秒数はチャタリングの除去の時間
ledState = GPIO.LOW ledStateという名の変数を設定し初期状態でGPIO.LOWという値(状態)にする
5.メイン処理
try: と except の間に段下げしてメイン処理を入れる。段下げは自動に任せる。合わせないとエラーになるので要注意。
while true: ループで繰り返し実行 内容は段下げで
GPIO.output(25, GPIO.HIGH) GPIO25をHIGHにする
if GPIO.input(24) == GPIO.HIGH ==の前後はスペース、その他 > >= < <=
else: ifと一体で、ともに内容は段差下で。
6.終了処理
exept KeyboardInterrupt: キーボードのCtrl/cでプログラム処理に割り込める
pass 何もせずに次に移る
GPIO.cleanup() GPIOの設定をリセットする
7.未決
カメラ接続
subprocess
args
コメントする