ココナッツ用プログラムソース
★用途 :入力可能タイマーとリモコンと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; 一度リスト表示