忍者ブログ
[253]  [252]  [251]  [250]  [249]  [248]  [247]  [246]  [245]  [244]  [243
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

課題:LEDをスイッチでON、OFF

配線 GND--LED--500オーム--11ピン
   GND--スイッチ--12ピン (通常は1k程度の抵抗を念の為にいれるが
   ラズパイのGPIOは、内部でプルアップとプルダウン抵抗を持っている)

仕様:押している間点灯 離せば消える

#ライブラリの読み出し
import PRi.GPIO as GPIO 
import time

#GPIOのピンでのアサイン
LedPin = 11
BtnPin = 12 

#初期設定 11を出力 12を入力
def setup():
  GPIO.setmode(GPIO.BOARD)
  GPIO.setup(LedPin, GPIO.OUT)
  GPIO.setup(BtnPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
  GPIO.output(LedPin, GOIP.HIGH)  #点灯

プルアップ回路
  VCC--抵抗--|----_--GND
        ピン  スイッチ  押すとLOW 離すとHIGH

プルダウン回路
 VCC--_---|--抵抗--GND
    スイッチ ピン       押すとHIGHT 離すとLOW

今回の設定は   pull_up_down=GPIO.PUD_UPだから押すとLOWで離すとHIGH
#処理
def loop():  
  while True:
    if GPIO.input(BtnPin) == GPIO.LOW: #押した
      time.sleep(0.1)  #チャタリング防止
      GPIO.output(Ledpin,GPIO.LOW)   #消す
    else:
      time.sleep(0.1)  #チャタリング防止
      GPIO.output(Ledpin,GPIO.HIGH)  #つける
       
def destroy():
  GPIO.output(Ledpin,GPIO.LOW)   #消す
  GPIO.cleanup()

#実際のスタートは
if __name__ ==  '__main__':
  setup()
  try:
    loop()
  excepy KeyboardInterrupt:  #CTRL+C
    destroy()

これでOK


 


拍手

PR
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
フリーエリア
最新CM
[03/10 DORA]
最新TB
プロフィール
HN:
dorabu
性別:
非公開
バーコード
ブログ内検索
P R
忍者おまとめボタン
Copyright © ドラブーのアンドロイドとIoTなブログ All rights reserved. / Template by 四季. / Material by てんせん.

忍者ブログ [PR]