2020.08.26 Wed
CoDoMo塾 東砂教室

自由製作1回目【2020春 応用クラス2】

ロボットプログラミング応用クラス2(2020春)の最初の自由製作です。

 

火曜クラスでは、2人チームで課題作成を行いました。

※最終の自由製作も個人やチームでの参加OKなため、お試しのここでも特に制限しませんでした

 

1人が主に電子回路、もう1人が主にプログラミングを担当して、2人であれこれ言いながら作成しました。ここでの言い合いも1年間基礎クラスをやったかいのあるレベルで、いい感じだな~と聞き耳を立てて見守っていました。

 

動きは以下の感じです。

  • 赤いタクトスイッチを押すと、赤→黄色→緑の順番にLEDが点灯する
  • 緑のタクトスイッチを押すと、緑→黄色→赤の順番にLEDが点灯する

 

 

プログラムは以下の感じです。(記憶ベースなので綺麗に修正)

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

 

ポイントは、明確にやることを分けることです。

  • 10~:どのボタンが押されたか判定する
  • 100~:赤いボタンが押された時の動き
  • 300~:緑のボタンが押された時の動き

こんな感じで分けると、どこからどこの行で何なやってるの?が分かり易くなり、間違えも減ります。

ただ、初めての自由製作でシンプルながらもオリジナル要素も入れて、良い感じの出来でした。