[75] タイマーとリモコンを活かしたプログラム
|
- 日時: 2023/03/07 14:17
- 名前: だいさん
ID:x3SWqdl2
- ;★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
;★ ココナッツ用プログラム ;★ 「タイマーとリモコンを活かしたプログラム
;☆プログラムの動作 ;●1 スライド<on>、プッシュ<off> ; 入力可能なタイマー1分単位 ;●2 スライド<off>、プッシュ<off> ; リモコンによる3段階調光 ;●3 スライド<on>、プッシュ<on> ; 入力可能なタイマー1時間単位 ;●4 スライド<off>、プッシュ<on> ; 光センサによる3段階調光 ; ;☆プログラム本体 NA Q1,1 ws1 ?i=9; ●1 スライド<on>、プッシュ<off> #=1: ?i=11; ●2 スライド<off>、プッシュ<off> #=2: ?i=8; ●3 スライド<on>、プッシュ<on> #=3: ?i=10; ●4 スライド<off>、プッシュ<on> #=4: ;=====ここから動作の記述============================ ;●1 スライドスイッチ<on>、プッシュスイッチ<off> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1: o=1 ws1 #:150: ;ここから入力後の処理を記述する。まず点滅してスタート a=o o=223 ws1 o=0 ws1 o=a ;ここからカウントダウン後,音楽を鳴らす 13: wm1 ;1分待つ ?c=1 ;判定【カウンタが1になったか】 #=14: ;1になれば終了後の処理へ c-1 ;1になっていなければカウンタを1つ減らす。 o>1 ;ビットシフト命令により表示されている数を左に減らす。 o7=0 ;ずれたことにより点灯した7番LEDを消す。 s42 wd3 s0 #=13: ;また次のカウントダウンへ 14: o=255 . ;●2 スライドスイッチ<off>、プッシュスイッチ<off> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;リモコン3段階調光 2: o=2 20: ws1 o=223 wd5 p1 o=85 wd5 p1 o=0 wd5 p1 #=20: ;●3 スライドスイッチ<on>、プッシュスイッチ<on> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3: o=4 ws1 #:150: a=o o=223 ws1 o=0 ws1 o=a ;ここからカウントダウン後,音楽を鳴らす 33: wh1 ;1時間待つ ?c=1 ;判定【カウンタが1になったか】 #=34: ;1になれば終了後の処理へ c-1 ;1になっていなければカウンタを1つ減らす。 o>1 ;ビットシフト命令により表示されている数を左に減らす。 o7=0 ;ずれたことにより点灯した7番LEDを消す。 s42 wd3 s0 #=33: ;また次のカウントダウンへ 34: o=255 . ;●4 スライドスイッチ<off>、プッシュスイッチ<on> ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; CDSによる3段階の調光 4: o=8 ws1 40: ?x>130 #=43: ?X>100 #=42: ?X<100 #=41: o=x #=40: 43: o=1 #=40: 42: o=85 #=40: 41: o=223 #=40: .
;数字を入力するパーツ,サブルーチンとして使うので,呼び出し側からは ;#:150: (#=150:ではない)と呼び出す。入力が終わると呼び出した行の次の行へ戻る。 ;「短く押すと数字が増える。長押しで戻る」 150: c=1 ;最初にカウンタ変数 (c)に1をセットする。 o=c ;それを表示する。(0番LEDを点灯) 151: ; ?i=8 ;判定【タクトスイッチが押されているか】 #=152: ;押されていればカウンタを増やすルーチンへジャンプ #=151: ;押されていなければまた判定へ 152: ; wd7 ;0.7秒待つ。(短い押し時間を1秒以内に設定) ?i=8 ;判定【タクトスイッチが押されているか】 #:$ ;押されていれば長押しと判断し,入力を抜ける。 c+1 ;押されていなければ,カウンタを1増やす o<1 ;ビットシフト命令により,表示されている数を右に増やす o0=1 ;0ビットのみon。これでずらして消えた分を埋める。 #=151: ;長押しされていないので,また判定へ Q L

|
|