ロボットプログラミング応用クラス2(2020春)の最初の自由製作です。
火曜クラスでは、2人チームで課題作成を行いました。
※最終の自由製作も個人やチームでの参加OKなため、お試しのここでも特に制限しませんでした
1人が主に電子回路、もう1人が主にプログラミングを担当して、2人であれこれ言いながら作成しました。ここでの言い合いも1年間基礎クラスをやったかいのあるレベルで、いい感じだな~と聞き耳を立てて見守っていました。
動きは以下の感じです。
プログラムは以下の感じです。(記憶ベースなので綺麗に修正)
10 IF IN(1) GOTO 30
20 IF IN(2) GOTO @xxxxxxx ELSE GOTO 10
30 OUT 1,1:WAIT 30
40 OUT 1,0:WAIT 30
50 OUT 2,1:WAIT 30
60 OUT 2,0:WAIT 30
70 OUT 3,1:WAIT 30
80 OUT 3,0:WAIT 30
90 GOTO 10
100 @xxxxxxx
110 OUT 3,1:WAIT 30
120 OUT 3,0:WAIT 30
130 OUT 2,1:WAIT 30
140 OUT 2,0:WAIT 30
150 OUT 1,1:WAIT 30
160 OUT 1,0:WAIT 30
170 GOTO 10
動きもプログラムも悪くないのですが、途中なかなか上手く動かなかったこともあり、以下のように見やすくするのが良いとアドバイスしました。
10 IF IN(1) GOTO @yyyyyyy
20 IF IN(2) GOTO @xxxxxxx ELSE GOTO 10
100 @yyyyyyy
110 OUT 1,1:WAIT 30
120 OUT 1,0:WAIT 30
130 OUT 2,1:WAIT 30
140 OUT 2,0:WAIT 30
150 OUT 3,1:WAIT 30
160 OUT 3,0:WAIT 30
170 GOTO 10
300 @xxxxxxx
310 OUT 3,1:WAIT 30
320 OUT 3,0:WAIT 30
330 OUT 2,1:WAIT 30
340 OUT 2,0:WAIT 30
350 OUT 1,1:WAIT 30
360 OUT 1,0:WAIT 30
370 GOTO 10
ポイントは、明確にやることを分けることです。
こんな感じで分けると、どこからどこの行で何なやってるの?が分かり易くなり、間違えも減ります。
ただ、初めての自由製作でシンプルながらもオリジナル要素も入れて、良い感じの出来でした。