以前からタミヤのカムロボを工作してきましたが、さらに改造して液晶で顔を付けてみました。
顔を付けるための専用基板を、Fusion PCBへ発注して作りました。
基板にaitendoのSPI液晶とピンヘッダをハンダ付け。
IchigoJam+Maplesyrupのソケットに差します。
さらにこのロボットに、以前作ったバーコードJam USB版システムを改造して搭載。
バーコードカードでカムロボの動きをプログラミングできるようにしました。
カードはこんな感じ。OUT命令を追加、WAIT命令の仕様を変更しています。
アンプラグド教材のカードと、実際にロボットを動かすプログラミングが融合。
これで小学校低学年の子どもでも楽しいプログラミングができそうです。
プログラム
顔表示(スロット0)
20〜80行の顔の表情は、いろいろ変えると面白いかも。
10 CLS 20 ? 30 ?" ** **" 40 ?" ** **" 50 ? 60 ?" * *" 70 ?" * *" 80 ?" ********" 90 WAIT 120 100 LRUN FILE()+1
本体プログラム(スロット1)
カムロボ用のOUT命令に対応。細かく制御したいのでWAIT命令の仕様を変更。
1 SWITCH1:CLS:?"*Barcode Jam*" 2 CLV:F=FILE():WAIT60:CLK 3 OUT0:Z=0:L=0 4 ?"OK" 5 ?CHR$(1);:R=1 6 B=INKEY():IF!BCONT 7 GSB29 8 ?CHR$(8);:IF!CGOTO15 9 IFTGSB14 ELSEGSB12 10 GOTO23 11 GOTO5 12 Z=Z+1:[Z]=C*16+O:IFC=8L=L+1:[70+L]=Z 13 ?">";Z*10;" ";:RTN 14 [Z]=[Z]|((C*16+O)<<8):T=0:RTN 15 BEEP30,30:IFO=1?"RUN":R=0:GOTO20 16 IFO=2?"LIST":R=2:GOTO20 17 IFO=3?"NEW":GOTO3 18 IFO=4CLS:GOTO4 19 GOTO5 20 A=0 21 A=A+1:IFA>ZGOTO4 22 C=[A]&#F0/16:O=[A]&15:?A*10;" "; 23 IFC=15&&O=15LRUNF+1,150 24 IFC&12=4O=C&3*16+O:C=4 25 LRUNF+1,C*10 26 IFT&&(R!=1):C=([A]&#F000)>>12:O=([A]&#F00)>>8:T=0:GOTO23 27 B=INKEY()&#FF:IFBGSB29:IFC=15&&O=15BEEP30,30:?"ESC":GOTO4 28 GOTO21 29 I=89 30 I=I+1:[I]=B-48 31 B=INKEY():IF!BCONT 32 IFB!=10GOTO30 33 D=0:FORJ=90TOI:D=D*10+[J]:NEXT 34 C=D/16:O=D%16:BEEP:WAIT30:CLK:RTN
命令解析プログラム(スロット2)
1 '*Barcode Jam-1 10 @LED 11 ?"LED ";O:IFR=1LRUNF,11 12 IFR=2LRUNF,26 13 LEDO:LRUNF,26 20 @WAIT 21 IFO<8O=O*60ELSEO=(O&7)*10 22 ?"WAIT ";O:IFR=1LRUNF,11 23 IFR=2LRUNF,26 24 WAITO:LRUNF,26 30 @BEEP 31 ?"BEEP":IFR=1LRUNF,11 32 IFR=2LRUNF,26 33 BEEP:LRUNF,26 40 @OUT 41 ?"OUT ";O:IFR=1LRUNF,11 42 IFR=2LRUNF,26 43 OUTO:LRUNF,26 80 @LABEL 81 ?"@";O:IFR=1LRUNF,11 82 LRUNF,26 90 @GOTOL 91 ?"GOTO @";O:IFR=1LRUNF,11 92 IFR=2LRUNF,26 93 A=[70+O]-1:LRUNF,26 100 @IFBTN 101 ?"IF BTN()=";O;" THEN ";:T=1:IFR=1LRUNF,11 102 IFR=2LRUNF,26 103 T=(BTN()=O):IF!T? 104 LRUNF,26 120 @FOR 121 ?"FOR I=1 TO ";O:IFR=1LRUNF,11 122 IFR=2LRUNF,26 123 I=1:J=O:S=A:LRUNF,26 130 @NEXT 131 ?"NEXT":IFR=1LRUNF,11 132 IFR=2LRUNF,26 133 I=I+1:IFI<=JA=S 134 LRUNF,26 150 @END 151 ?"END":IFR=1LRUNF,11 152 IFR=2LRUNF,26 153 A=Z:LRUNF,26
関連ファイル
Camrobo Face基板データ
Fusion PCB用ガーバーデータ(ZIP)
*この基板ガーバーデータは、CC BYライセンスとします。どうぞご利用ください。
(C) 2018 Shiro Saito (http://d.hatena.ne.jp/shiro0922/)
このファイルをそのままFusion PCBで登録すれば、基板を発注できます。