ココナッツ用プログラムソース

★用途 :入力可能タイマーとリモコンとCDSを活かしたプログラムひな形

;★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
;★ ココナッツ用プログラム                             ★
;★  「入力可能タイマーとリモコンとCDSを活かしたプログラム   」 2022.2   ★
;★                    ○○中学校 2年 ○番○○○○     ★
;★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
;☆プログラムの用途・目的
;
;
;☆プログラムの動作
;●1 スライドスイッチ【on】、プッシュスイッチ【off】
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; 入力可能タイマー(LED1つで1秒)
;
;●2 スライドスイッチ【off】、プッシュスイッチ【off】
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; リモコンによる3段階調光
;
;●3 スライドスイッチ【on】、プッシュスイッチ【on】
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; オルゴールも含めて全点灯
;
;●4 スライドスイッチ【off】、プッシュスイッチ【on】
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; 明るさによって光る(3段階)
;
;☆プログラム本体
NA
Q1,1
;=====スイッチの位置判断して分岐先を決める部分(プログラムの先頭)=======
?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:

wd8; 暴走防止0.8秒待つ
#:150:; 入力サブルーチンへ(行って戻る)
;ここから入力後の処理
	a=o; まず点滅してスタート
	o=223
	ws1
	o=0
	ws1
	o=a; 点滅終了
;ここからカウントダウン
53:
;★次の行で単位時間を決める。ws1は1秒。(5分おきならwm5)★
	ws1		;1秒待つ
	?c=1	;判定【カウンタが1になったか】
	#=54:	;1になれば終了後の処理へ
	c-1		;1になっていなければカウンタを1つ減らす。
	o>1		;ビットシフト命令により表示されている数を左に減らす。
	o7=0	;ずれたことにより点灯した7番LEDを消す。
	s42
	wd3
	s0
#=53:		;また次のカウントダウンへ
54:;★カウントダウン後の処理★
o=255; オルゴール含めて全点灯
.;  次に進まないよう,ここで終了



;●2 スライドスイッチ【off】、プッシュスイッチ【off】
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;リモコン3段階調光
2:
o=223
wd5
p1
o=85
wd5
p1
o=0
wd5
p1
#=2:



;●3 スライドスイッチ【on】、プッシュスイッチ【on】
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3:
o=255
.;  次に進まないよう,ここで終了
;●4 スライドスイッチ【off】、プッシュスイッチ【on】
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
; CDSによる3段階の調光
4:
	?x>180; 一番明るいとき
	#=43:
	?X>150; 二番目に明るいとき
	#=42:
	?X<100; 三番目に明るいとき
	#=41:
	O=85
	#=4:
43:
	O=0
	#=4:
42:
	O=1
	#=4:
41:
	o=223
	#=4:

;ここから後ろはプログラムの最後につけておく(入力サブルーチン)
;★スライドスイッチオンの場合に有効
150:
	c=1		;最初にカウンタ変数 (c)に1をセットする。
	o=c		;それを表示する。(1番LEDを点灯)
151:			;
	?i=8	;判定【タクトスイッチが押されているか】
	#=152:	;押されていればカウンタを増やすルーチンへジャンプ
	#=151:	;押されていなければまた判定へ
152:			;
	ws1		;1秒待つ。(短い押し時間を1秒以内に設定)
	?i=8	;判定【タクトスイッチが押されているか】
	#:$		;押されていれば長押しと判断し,入力を抜ける。
	c+1		;押されていなければ,カウンタを1増やす
	o<1		;ビットシフト命令により,表示されている数を右に増やす
	o0=1	;0ビットのみon。これでずらして消えた分を埋める。
	#=151:	;長押しされていないので,また判定へ


Q; 自動番号終了
L; 一度リスト表示