以前にIchigoJamを使った時計を作ったのですが、それを応用して、時計付き大観覧車「Ichigoクロック」を作ってみました。
横浜のみなとみらい地区にある「コスモクロック21」からヒントを得ています。
動画はこちら。
【IchigoJam】Ichigoクロック
台座にあるIchigoJam+モーター基板tempeXで、時計とモーターをコントロール。
時計基板は以前に作ったIchigoJam時計と同じですが、接続端子からケーブルを伸ばして台座のIchigoJamへつないでいます。
観覧車内にあるもう1個のIchigoJamで、電飾を光らせています。IchigoJamは次期ファームウェア1.4が開発中ですが、そのβ版でLEDテープ「WS2812B」を簡単に制御できるようになりました。
観覧車の背面にタミヤの6速ギヤーボックスを置いて回転させています。1300:1の最大ギヤ比で組んでいます。回すと意外にうるさいです。
回転軸は、ホームセンターで買った6mm径の木の丸棒を軸にして、タミヤのプーリーを付けました。
木製の観覧車は組み立て式ですが、作るのに3時間以上かかりました。「対象年齢は15歳~」なので、小さい子どもが作るにはちょっと難しいかも知れません。夏休みの工作なら挑戦できるかも。
かく言う私も、所々失敗して部品を折ってしまったので、修復の木工用ボンドは必須です。
金属製の大観覧車だともっとカッコいいんですが、2万円以上します(^_^;)
プログラム
プログラム1:時計表示+モーターコントロール
基本的に以前の時計プログラムと同じですが、tempeXのモーターはOUT2で制御するので、時計の表示をOUT1,3,4ポートに変えています。
10 '*CLOCK RTC 20 CLV:VIDEO 0 30 OUT 2,1 40 GSB @TIMEREAD 50 [0]=`0111111 60 [1]=`0000110 70 [2]=`1011011 80 [3]=`1001111 90 [4]=`1100110 100 [5]=`1101101 110 [6]=`1111101 120 [7]=`0100111 130 [8]=`1111111 140 [9]=`1101111 150 @LOOP 160 GSB @PRT 170 CLT 180 @COLON 190 T=TICK() 200 OUT 6,T%60<30 210 J=M 220 GSB @TIMEREAD 230 IF J=M GOTO @COLON 240 GOTO @LOOP 250 @PRT 260 N=H/10:GSB @SENDN 270 N=H%10:GSB @SENDN 280 N=M/10:GSB @SENDN 290 N=M%10:GSB @SENDN 300 OUT 4,1:OUT 4,0 310 RTN 320 @SENDN 330 F=[N] 340 FOR I=0 TO 7 350 OUT 1,FP 360 OUT 3,1:OUT 3,0 370 F=F*2 380 NEXT 390 RTN 400 @TIMEREAD 410 POKE #700,0 420 IF I2CR(#68,#700,1,#701,7) ERR 430 X=PEEK(#703) 440 H=X>>4*10+X&15 450 X=PEEK(#702) 460 M=X>>4*10+X&15 470 RTN
プログラム2:電飾コントロール
観覧車内のIchigoJam(ファームウェアは1.4β版)で動かしています。LEDテープは5個×6方向=合計30個のLEDがあるのですが、「0~4」→「9~5」→「10~14」→「19~15」→「20~24」→「29~25」と互い違いに配線されているので、中心から放射状に光らせるために少し変なプログラムになっています。
1 '*IchigoClock Illumination 2 VIDEO 0 3 @LOOP 4 ' 5 CLV 6 WS.LED 30 7 WAIT 30 8 ' 9 '---RGB--- 10 ' 11 FOR C=0 TO 2 12 ' 13 FOR T=0 TO 4 STEP 2 14 [T*15+C]=192 15 [T*15+27+C]=192 16 NEXT 17 WS.LED 30 18 WAIT 30 19 ' 20 FOR I=1 TO 5 21 GSB @SHIFT 22 FOR T=0 TO 4 STEP 2 23 [T*15+C]=0 24 [T*15+27+C]=0 25 NEXT 26 WS.LED 30 27 WAIT 30 28 NEXT 29 ' 30 NEXT 31 ' 32 '---RND--- 33 ' 34 FOR L=0 TO 4 35 GSB @SETRND 36 NEXT 37 WS.LED 30 38 WAIT 30 39 ' 40 FOR I=1 TO 15 41 GSB @SHIFT 42 L=0:GSB @SETRND 43 WS.LED 30 44 WAIT 30 45 NEXT 46 ' 47 GOTO @LOOP 48 ' 49 '---SUB--- 50 ' 51 @SHIFT 52 FOR T=0 TO 4 STEP 2 53 A=#81D+T*30 54 COPY A,A-6,-24 55 A=#81E+T*30 56 COPY A,A+6,24 57 NEXT 58 RTN 59 ' 60 @SETRND 61 A=RND(192) 62 B=RND(192) 63 C=RND(192) 64 FOR T=0 TO 4 STEP 2 65 [T*15+L*3]=A 66 [T*15+27-L*3]=A 67 [T*15+L*3+1]=B 68 [T*15+27-L*3+1]=B 69 [T*15+L*3+2]=C 70 [T*15+27-L*3+2]=C 71 NEXT 72 RTN