車用(緑・黄・赤 + 右折)と歩行者用(青・赤)の新バージョンの信号機キットです。
また、「信号機プログラムをつくろう1」のプログラムをもとに、OUT命令を二進数表記にしました。
参照:信号機wiki
【サンプルプログラム】
プログラムを入力したら、RUNしてください。
IchigoJam本体のタクトスイッチを押すと、車用信号を青から赤へ、歩行者用信号を赤から青に切り替えます。
【ソースコード】
10 ‘NEW TRAFFIC LIGHT by NEXTDAY (Binary version)
20 OUT ‘010001 :WAIT 180 :’クルマ ミドリ,ホコウシャ アカ
30 IF BTN()=0 CONT :’オシボタンヲ マツ
40 OUT ‘010010 :WAIT 120 :’クルマ キイロ
45 OUT ‘011100 :WAIT 120 :’クルマ アカ,ウセツ
50 OUT ‘010100 :WAIT 60 :’クルマ アカ
60 OUT ‘100100 :WAIT 180 :’ホコウシャ アオ
70 FOR I=1 TO 7
80 OUT ‘000100 :WAIT 15 :’ホコウシャ アオ テンメツ
90 OUT ‘100100 :WAIT 20
100 NEXT
110 OUT ‘010100 :WAIT 60 :’クルマ アカ,ホコウシャ アカ
120 GOTO 20
【プログラム説明】
20行目 車用:緑、歩行者用:赤。3秒間(180TICK)点灯する(OUT1,1:OUT5,1)
30行目 押しボタンを(押されるまで)待つ。
40行目 車用:黄 を2秒点ける(OUT2,1)
45行目 車用:赤、車(矢印)用:青 を2秒点ける(OUT3,1:4,1)
50行目 車用:赤、を1秒点ける(OUT3,1)
60行目 歩行者用:青 を3秒点ける(OUT6,1)
70~100行目 歩行者に間もなく赤に変わることを知らせるため、歩行者用:青を7回点滅
110行目 車用:赤、歩行者用:赤。1秒点ける
120行目 20行目に戻る
【参考】
同じ動作をOUT命令で書いたプログラムを掲載します。
二進表記とどこが違うのか比べてみてください。
10 ‘NEW TRAFFIC LIGHT by NEXTDAY (OUT command version)
20 OUT 0: OUT 1,1: OUT5,1: WAIT 180
30 IF BTN()=0 CONT
40 OUT 1,0: OUT 2,1: WAIT 120
45 OUT 2,0: OUT 3,1: OUT 4,1 :WAIT 120
50 OUT 4,0: WAIT 60
60 OUT 5,0: OUT 6,1: WAIT 180
70 FOR I=1 TO 7
80 OUT 6,0: WAIT 15
90 OUT 6,1: WAIT 20
100 NEXT
110 OUT 6,0: OUT 5,1: WAIT 60
120 GOTO 20