設定時間後に自動的に停止するタイマー機能を持ったプログラムをつくりたいのですが、現時点の知識ではsleepでしか知りません。
py
1def loop(): 2 GPIO.output(17, GPIO.HIGH) 3 sleep(10) 4 GPIO.output(17, GPIO.LOW) 5 sleep(0)
10秒後に停止処理を行いたく、sleep(0)と書きましたが停止せず、(0)を(1)にすると、当然ながら停止時間が1秒立つとまた10秒間処理を開始してしまい、ひたすら繰り返します。
一度だけ処理を行う記述をお教えいただけないでしょうか。
よろしくお願いいたします。
コード全体を表示します。行っていることは、ラズパイでLチカです。
LED点灯後指定した時間で消灯させたいです。
py
1import webiopi 2import RPi.GPIO as GPIO 3from time import sleep 4 5GPIO = webiopi.GPIO 6 7LIGHT = 17 # GPIO pin using BCM numbering 8 9 10 11# setup function is automatically called at WebIOPi startup 12def setup(): 13 # set the GPIO used by the light to output 14 GPIO.setFunction(LIGHT, GPIO.OUT) 15 16 17 18# loop function is repeatedly called by WebIOPi 19def loop(): 20 # gives CPU some time before looping again 21 GPIO.output(17, GPIO.HIGH) 22 sleep(10) 23 GPIO.output(17, GPIO.LOW) 24 sleep(0) 25 26 27 28# destroy function is called at WebIOPi shutdown 29def destroy(): 30 GPIO.digitalWrite(LIGHT, GPIO.LOW)
HTML
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html> 3<head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <title>WebIOPi | Light Control</title> 6 <script type="text/javascript" src="/webiopi.js"></script> 7 <script type="text/javascript"> 8 webiopi().ready(function() { 9 // Create a "Light" labeled button for GPIO 17 10 var button = webiopi().createGPIOButton(17, "Light"); 11 var button_2 = webiopi().createGPIOButton(4, "Light"); 12 13 14 // Append button to HTML element with ID="controls" using jQuery 15 $("#controls").append(button); 16 $("#controls_2").append(button_2); 17 18 // Refresh GPIO buttons 19 // pass true to refresh repeatedly of false to refresh once 20 webiopi().refreshGPIO(true); 21 }); 22 23 </script> 24 25<style type="text/css"> 26 button { 27 display: block; 28 margin: 5px 5px 5px 5px; 29 width: 160px; 30 height: 45px; 31 font-size: 24pt; 32 font-weight: bold; 33 color: white; 34 } 35 36 button_2 { 37 display: block; 38 margin: 5px 5px 5px 5px; 39 width: 160px; 40 height: 45px; 41 font-size: 24pt; 42 font-weight: bold; 43 color: white; 44 } 45 46 47 48 #gpio17.LOW { 49 background-color: Black; 50 } 51 52 #gpio17.HIGH { 53 background-color: Blue; 54 } 55 56 57 #gpio4.LOW { 58 background-color: Black; 59 } 60 61 #gpio4.HIGH { 62 background-color: Blue; 63 } 64 65 66 67 68 69 70 71 </style> 72 73</head> 74<body> 75 76<div id="controls" align="center"></div> 77<div id="controls_2" align="center"></div> 78 79</body> 80</html>
よろしくお願いいたします。
この関数はどうやって使われているか分からないので、ソースコード全体を載せてください
ありがとうございます。コード全体を載せます
[[Q&A] ラズパイを用いてLED点灯をタイマーセッティングを行い自動消灯させたい - Qiita]( https://qiita.com/morita05041984/questions/eb2b2a89b442a3d94478 )