A4用紙に自身に関係のある漢字2文字以上の地名を書く。
本体は、NXTの組み立て例をベースにし前輪2つ、後輪1つの3輪である。
前輪は左右それぞれが独立し動く。
アームはモータの回転を利用しペン先を上下させている。
ペンの固定には、セット付属の輪ゴムを使用している。
前進・後退はサブルーチンにし、進む距離(cm)を入力できるようにし,
自由に調節できるようにした。
前進
sub zen(int i) { int t; t=i*100; OnFwd(OUT_B,29); OnFwd(OUT_C,25); Wait(t); Off(OUT_BC); }
後退
sub kou(int i) { int t; t=i*100; OnRev(OUT_B,29);OnRev(OUT_C,25); Wait(t); Off(OUT_BC); }
本体の回転は、左右、45度・90度で4通りを#difineで設定した。
右45度 #define kaiten45r OnFwd(OUT_C,50);OnRev(OUT_B,50);Wait(200);Off(OUT_BC); 右90度 #define kaiten90r OnFwd(OUT_C,50);OnRev(OUT_B,50);Wait(400);Off(OUT_BC); 左45度 #define kaiten45l OnFwd(OUT_B,50);OnRev(OUT_C,50);Wait(200);Off(OUT_BC); 左90度 #define kaiten90l OnFwd(OUT_B,50);OnRev(OUT_C,50);Wait(400);Off(OUT_BC);
アームの動きは#difineで設定した。
Waitの時間が違うのは上げるときと下げるときにモータの回転時間が変わったから。
下げ #define down OnFwd(OUT_A,22); Wait(260); Off(OUT_A); 上げ #define up Wait(100); OnRev(OUT_A,19); Wait(300); Off(OUT_A);
回転や直進だけで書けるようにしたが電源の強さによって変わってしまう。
そのずれを解消できるようにしたい。