ブログパーツUL5

SERVOコマンドは変数が使える!

 今までMOVEコマンドを使っていたので、サーボ動作に変数は使えないと思っていました。しかし、コマンド説明書をよく調べたら、SERVOコマンドは変数が使えることがわかりました。

 そこで、手で物を掴むモーションを試行錯誤しておりますが、なかなか思うようにうまくいきませんが、サンプルモーションを作っていました。

 一旦、物を掴んだ時のサーボの回転角を覚えておき、物を外してその覚えた回転角にもう一度セットするように動作します。なお、手のサーボの回転角の範囲は60から140と狭いので、サーボが壊れないようにリミットを設定しておきました。回転角の変化がないか過電流を検知して、if文を抜け出るようにしたいのですが、まだ完成しておらず今後の検討課題です。

追伸:物と握り直す時のモーションを少し変更しました。なぜ握り直すかは間違って指などを挟んだ時にすぐ放すようにすることと、サーボモータに過電流が流れないように握る力を緩くすることで、サーボに過電流が流れず熱くなることがありません。

'================================================
left_hand:

'-- SETTING & MOTOR LIMIT --
DIM A as BYTE
DIM B as BYTE
'$limit 9,60,140

SPEED 7
MOVE G6B,160, 30, 80, 60, 100, 100
WAIT

FOR i=1 TO 20
A = i*4+60
SERVO 9,A
DELAY 20
B=MOTORIN(9)
B=B-2
NEXT i

MOVE G6B,160, 30, 80, 80, 100 ,
DELAY 2000
SERVO 9,B
DELAY 1000
MOVE G6B,100, 30, 80, ,

RETURN
'================================================
0

    変なおじさんのモーション

     志村けんがバカ殿でよくやっている変なおじさんのモーションを作成してみました。本当は、物を掴むモーションで大きさを自動判定するように試行錯誤していて、うまくいかないので、気分転換でこんなモーションを作ってしまいました。

    【注意】
     基本形のRZ-1であれば、サブルーチンの形になっていますので、自分のソースに合わせて変更してください。なお、ジャイロを積んだモーションで合わせ込んでいますので、個体差がありそのままで動作は保証していません。


    '================================================
    tono: '-- henna_ojisan --

    SPEED 5

    MOVE G6A, 96, 75, 144, 100, 100, 96
    MOVE G6B,180, 30, 80, 100, 100,
    MOVE G6C,180, 30, 80, 100, ,
    MOVE G6D, 99, 45, 160, 115, 100, 100

    SPEED 10

    MOVE G6B,180, 14, 56, 100, 100, 100
    MOVE G6C,180, 10, 54, 100, 100, 100

    MOVE G6B,180, 14, 80, 100, 100, 100
    MOVE G6C,180, 10, 80, 100, 100, 100

    MOVE G6B,180, 14, 52, 100, 100, 100
    MOVE G6C,180, 10, 50, 100, 100, 100

    MOVE G6B,180, 14, 80, 100, 100, 100
    MOVE G6C,180, 10, 80, 100, 100, 100

    MOVE G6B,180, 14, 52, 100, 100, 100
    MOVE G6C,180, 10, 50, 100, 100, 100
    WAIT

    MOVE G6A,100, 72, 145, 91, 100, 96
    MOVE G6B,186, 10, 43, 140, 100,
    MOVE G6C,188, 97, 100, 140, ,
    MOVE G6D,100, 72, 145, 91, 100, 100

    DELAY 1000

    SPEED 5

    MOVE G6A, 96, 75, 144, 100, 100, 96
    MOVE G6B,180, 30, 80, 100, 100,
    MOVE G6C,180, 30, 80, 100, ,
    MOVE G6D, 99, 45, 160, 115, 100, 100

    SPEED 10

    MOVE G6B,180, 14, 56, 100, 100, 100
    MOVE G6C,180, 10, 54, 100, 100, 100

    MOVE G6B,180, 14, 80, 100, 100, 100
    MOVE G6C,180, 10, 80, 100, 100, 100

    MOVE G6B,180, 14, 52, 100, 100, 100
    MOVE G6C,180, 10, 50, 100, 100, 100

    MOVE G6B,180, 14, 80, 100, 100, 100
    MOVE G6C,180, 10, 80, 100, 100, 100

    MOVE G6B,180, 14, 52, 100, 100, 100
    MOVE G6C,180, 10, 50, 100, 100, 100
    WAIT

    MOVE G6A,100, 72, 145, 91, 100, 96
    MOVE G6B,188, 97, 100, 140, ,
    MOVE G6C,186, 10, 43, 140, 100,
    MOVE G6D,100, 72, 145, 91, 100, 100

    DELAY 1000

    '--

    FOR i=0 TO 1

    SPEED 5

    MOVE G6A, 96, 80, 144, 100, 101, 96
    MOVE G6B,130, 30, 80, 100, 100,
    MOVE G6C,130, 30, 80, 100, ,
    MOVE G6D, 99, 50, 160, 115, 98, 100

    SPEED 10

    MOVE G6B,160, 14, 56, 100, 100, 100
    MOVE G6C,160, 10, 54, 100, 100, 100

    MOVE G6B,160, 14, 80, 100, 100, 100
    MOVE G6C,160, 10, 80, 100, 100, 100

    MOVE G6B,160, 14, 52, 100, 100, 100
    MOVE G6C,160, 10, 50, 100, 100, 100

    MOVE G6B,160, 14, 80, 100, 100, 100
    MOVE G6C,160, 10, 80, 100, 100, 100

    MOVE G6B,160, 14, 52, 100, 100, 100
    MOVE G6C,160, 10, 50, 100, 100, 100

    MOVE G6A,100, 76, 145, 93, 100, 96
    MOVE G6B,130, 30, 80, 100, 100,
    MOVE G6C,130, 30, 80, 100, ,
    MOVE G6D,100, 76, 145, 93, 100, 100

    MOVE G6A,100, 76, 145, 101, 100, 96
    MOVE G6B, 71, 31, 100, 100, 100, 100
    MOVE G6C, 71, 31, 100, 100, 100, 100
    MOVE G6D,100, 76, 145, 100, 100, 100

    DELAY 1000

    NEXT i

    RETURN
    '================================================
    0

      近づくと警告音(ピーポー音)

       ちょっとしたお遊びで、こんなものを作ってみました。RZ-1に近づくと警告音が鳴り出します。
       サンプルは、距離センサーをアナログポートAD3に接続しており、ある範囲(ここでは20cm以内)に近づくと、ピーポーと鳴り出して、警告音を発するようにしました。

       MAINルーチンの適当な所に入れておくとおもしろいでしょう。但し、他のモーションが動作している時には動作しないで待機状態の時にしか動作しませんから注意してください。 もし、モーション中に動作させたかったら、下記のプログラムをサブルーチン化して、動作させたいところに設定すればいいでしょう。

      注:序に警告音が鳴っている時はLEDを青から赤に切替わるようにしました。不要な場合には削除してください。

      '--- Warning sound ---
      DIM A AS BYTE

      A=AD(3)
      IF A>100 THEN
      OUT 52,1 '-- Blue-LED OFF --
      PWM 2,250 '-- Red-LED ON --
      TEMPO 200
      MUSIC "1B]1G]"
      GOTO main
      PWM 2,0 '-- Red-LED OFF --
      ENDIF
      '---------------------
      0

        「かめはめ波」を改良

        シャボルトが作成した「かめはめ波」を少し改良してみました。

        改良ポイント
        (1)私のRZ-1では不安定で倒れてしまうので、微調整しました。
        (2)手の動きを私のRZ-1の手に合わせて最適化しました。
        (3)迫力を増す為に、LEDを点滅させました。


        【注意】
         基本形のRZ-1であれば、サブルーチンの形になっていますので、自分のソースに合わせて変更してください。なお、ジャイロを積んだモーションで合わせ込んでいますので、個体差がありそのままで動作は保証していません。


        '=================================================
        kamehameha:

        SPEED 5
        MOVE G24, 82, 99, 117, 96, 117, 100, 100, 100, 100, 140, , , 100, 100, 100, 140, , , 86, 99, 117, 96, 117,
        WAIT
        MOVE G24, 48, 75, 126, 101, 128, , 155, 44, 15, 140, , , 155, 40, 15, 140, , , 104, 140, 33, 140, 104,
        WAIT

        FOR i = 5 TO 12
        SPEED i
        OUT 52,0
        MOVE G24, 48, 75, 126, 101, 128, , 155, 44, 20, 130, , , 155, 40, 20, 130, , , 104, 140, 33, 140, 104,
        MOVE G24, 48, 75, 126, 101, 128, , 165, 34, 25, 130, , , 165, 46, 15, 130, , , 104, 140, 33, 140, 104,
        OUT 52,1
        MOVE G24, 48, 75, 126, 101, 128, , 175, 44, 20, 130, , , 175, 40, 20, 130, , , 104, 140, 33, 140, 104,
        MOVE G24, 48, 75, 126, 101, 128, , 165, 54, 15, 130, , , 165, 25, 30, 130, , , 104, 140, 33, 140, 104,

        NEXT i

        SPEED 10
        MOVE G24, 74, 65, 135, 110, 124, , 180, 10, 48, 60, , , 184, 10, 46, 60, , , 83, 90, 115, 110, 114,
        OUT 52,0
        DELAY 3000

        SPEED 5
        MOVE G24, 74, 70, 135, 118, 126, , 182, 100, 65, 60, , , 180, 99, 58, 60, , , 85, 80, 121, 117, 112,
        MOVE G24, 100, 76, 145, 93, 100, , 100, 30, 80, 100, , , 100, 30, 80,100, , , 100, 76, 145, 93, 100,

        RETURN
        '=================================================
        0

          首振りのモーション

           首だけを回したい時のモーションは次のようのすると、分かりやすいモーションプログラムになります。例では、首のサーボを10番に設定しています。どうです簡単でしょう。これならすでに提供されているモーションプログラムに、簡単に追加できます。

          '--
          SPEED 15 '-- 好みで首振り速度を変える
          SERVO 10,140
          DELAY 2000
          SERVO 10,60
          DELAY 2000
          SERVO 10,100
          '--
          0

            ラララライのモーションを作成

             2日連続でモーションを紹介します。今回は、芸人の藤崎マーケットが披露しているラララライ体操風にモーションを組んでみました。しかし、足だけはどうしてもバランスが難しく倒れやすいので、倒れないように足踏みしないで、足を傾けるだけにしました。

            【注意】
             基本形のRZ-1であれば、サブルーチンの形になっていますが、自分のソースに合わせて変更してください。なお、ジャイロを積んだモーションで合わせ込んでいますので、個体差がありそのままで動作は保証していません。


            '=================================================
            rararai:

            MOVE G6A,100, 76, 145, 93, 100, 100
            MOVE G6D,100, 76, 145, 93, 100, 100
            MOVE G6B,110, 60, 27, 140, 104,
            MOVE G6C,105, 176, 116, 139, ,
            WAIT

            DELAY 2000
            SPEED 12

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 30, 80, 140, 104,
            MOVE G6C,136, 30, 80, 140, ,
            WAIT

            DELAY 120

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D, 70, 74, 145, 93, 100, 100
            MOVE G6B,136, 50, 10, 140, 104,
            MOVE G6C,136, 50, 10, 140, ,
            WAIT

            DELAY 120

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 30, 80, 140, 104,
            MOVE G6C,136, 30, 80, 140, ,
            WAIT

            DELAY 120

            MOVE G6A, 70, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 50, 10, 140, 104,
            MOVE G6C,136, 50, 10, 140, ,
            WAIT

            DELAY 120
            SPEED 14

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 30, 80, 140, 104,
            MOVE G6C,136, 30, 80, 140, ,
            WAIT

            DELAY 120

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D, 70, 74, 145, 93, 100, 100
            MOVE G6B,136, 50, 10, 140, 104,
            MOVE G6C,136, 50, 10, 140, ,
            WAIT
            DELAY 120

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 30, 80, 140, 104,
            MOVE G6C,136, 30, 80, 140, ,
            WAIT

            DELAY 120

            MOVE G6A, 70, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 50, 10, 140, 104,
            MOVE G6C,136, 50, 10, 140, ,
            WAIT

            DELAY 120
            SPEED 16

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 30, 80, 140, 104,
            MOVE G6C,136, 30, 80, 140, ,
            WAIT

            DELAY 120

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D, 70, 74, 145, 93, 100, 100
            MOVE G6B,136, 50, 10, 140, 104,
            MOVE G6C,136, 50, 10, 140, ,
            WAIT
            DELAY 120

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 30, 80, 140, 104,
            MOVE G6C,136, 30, 80, 140, ,
            WAIT

            DELAY 120

            MOVE G6A, 70, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 50, 10, 140, 104,
            MOVE G6C,136, 50, 10, 140, ,
            WAIT
            DELAY 120

            MOVE G6A,100, 74, 145, 93, 100, 100
            MOVE G6D,100, 74, 145, 93, 100, 100
            MOVE G6B,136, 30, 80, 140, 104,
            MOVE G6C,136, 30, 80, 140, ,
            WAIT

            DELAY 500
            SPEED 7

            FOR i=0 TO 5

            MOVE G6A,101, 74, 145, 93, 92, 100
            MOVE G6B,150, 17, 54, 143, 104, 100
            MOVE G6C,130, 30, 80, 140, ,
            MOVE G6D, 88, 74, 145, 93, 120, 100
            WAIT

            MOVE G6A, 88, 74, 145, 93, 120, 100
            MOVE G6B,130, 30, 95, 140, 104, 100
            MOVE G6C,150, 17, 54, 143, ,
            MOVE G6D,101, 74, 145, 93, 92, 100
            WAIT

            NEXT i

            DELAY 200

            MOVE G6A, 78, 87, 113, 112, 112, 100
            MOVE G6D,107, 122, 80, 111, 103, 100
            MOVE G6B,106, 123, 107, 140, 60,
            MOVE G6C,145, 60, 10, 140, ,
            DELAY 2000

            MOVE G6C,136, 30, 80, 140,

            SPEED 5

            RETURN
            '=================================================

             ここまでをコピーして適当なリモコンキーに、GOSUB rararai を設定してあげれば動作するはずです。このモーションも笑えますよ。
            0

              三三七拍子の応援モーションを見つける

               サンプルモーションの中に、三三七拍子の応援モーションを見つけたので、早速、自分のRZ-1に微調しながら移植してみました。なかなか元気が出てきそうなモーションなので、ご紹介します。

              【注意】
               基本形のRZ-1であれば、サブルーチンの形になっていますが、自分のソースに合わせて変更してください。なお、ジャイロを積んだモーションで合わせ込んでいますので、個体差がありそのままで動作は保証していません。


              '================================================
              m337:

              '----------- Bow Pose -------------

              SPEED 4
              MOVE G6A, 100, 71, 145, 117, 100
              MOVE G6D, 100, 70, 145, 117, 100
              MOVE G6B, 81, 30, 100, 120, 120
              MOVE G6C, 77, 30, 100, 120
              WAIT

              DELAY 1500

              MOVE G6A, 100, 71, 145, 117, 100
              MOVE G6D, 100, 70, 145, 117, 100
              MOVE G6B, 81, 30, 100, 120, 80
              MOVE G6C, 77, 30, 100, 120
              WAIT

              DELAY 1500

              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 30, 80, 120, 100
              MOVE G6C, 100, 30, 80, 120
              WAIT

              DELAY 1000

              FOR i = 0 TO 2

              ' 3-3-7 Tempo
              '3 Tempo Part 1
              SPEED 14

              MOVE G6A, 88, 76, 145, 93, 100
              MOVE G6D, 101, 97, 107, 113, 108
              MOVE G6B, 100, 38, 94, 100
              MOVE G6C, 100, 52, 71, 100
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 88, 76, 145, 93, 100
              MOVE G6D, 101, 97, 107, 113, 108
              MOVE G6B, 100, 38, 94
              MOVE G6C, 100, 54, 104
              WAIT
              HIGHSPEED SETOFF

              MOVE G6A, 92, 76, 145, 93, 101
              MOVE G6D, 98, 86, 125, 100, 107
              MOVE G6B, 100, 38, 94
              MOVE G6C, 100, 113, 68
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 92, 76, 145, 93, 101
              MOVE G6D, 98, 86, 125, 100, 107
              MOVE G6B, 100, 38, 94
              MOVE G6C, 100, 113, 101
              WAIT
              HIGHSPEED SETOFF

              MOVE G6A, 98, 86, 125, 100, 107
              MOVE G6D, 92, 76, 145, 93, 101
              MOVE G6B, 100, 38, 94
              MOVE G6C, 100, 158, 106
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 98, 86, 125, 100, 107
              MOVE G6D, 92, 76, 145, 93, 101
              MOVE G6B, 100, 38, 94
              MOVE G6C, 100, 158, 144
              WAIT
              HIGHSPEED SETOFF

              DELAY 120

              '3 Tempo Part 2
              'SPEED 12

              MOVE G6D, 88, 76, 145, 93, 100
              MOVE G6A, 101, 97, 107, 113, 108
              MOVE G6C, 100, 38, 94
              MOVE G6B, 100, 52, 71
              WAIT

              HIGHSPEED SETON
              MOVE G6D, 88, 76, 145, 93, 100
              MOVE G6A, 101, 97, 107, 113, 108
              MOVE G6C, 100, 38, 94
              MOVE G6B, 100, 54, 104
              WAIT
              HIGHSPEED SETOFF

              MOVE G6D, 92, 76, 145, 93, 101
              MOVE G6A, 98, 86, 125, 100, 107
              MOVE G6C, 100, 38, 94
              MOVE G6B, 100, 113, 68
              WAIT

              HIGHSPEED SETON
              MOVE G6D, 92, 76, 145, 93, 101
              MOVE G6A, 98, 86, 125, 100, 107
              MOVE G6C, 100, 38, 94
              MOVE G6B, 100, 113, 101
              WAIT
              HIGHSPEED SETOFF

              MOVE G6D, 98, 86, 125, 100, 107
              MOVE G6A, 92, 76, 145, 93, 101
              MOVE G6C, 100, 38, 94
              MOVE G6B, 100, 158, 106
              WAIT

              HIGHSPEED SETON
              MOVE G6D, 98, 86, 125, 100, 107
              MOVE G6A, 92, 76, 145, 93, 101
              MOVE G6C, 100, 38, 94
              MOVE G6B, 100, 158, 144
              WAIT
              HIGHSPEED SETOFF

              DELAY 120

              '7 Tempo
              SPEED 13

              'Step 1
              MOVE G6A, 93, 102, 92, 128, 106
              MOVE G6D, 93, 102, 92, 128, 106
              MOVE G6B, 100, 43, 88
              MOVE G6C, 100, 43, 88
              WAIT

              SPEED 7

              HIGHSPEED SETON
              MOVE G6A, 93, 102, 92, 128, 106
              MOVE G6D, 93, 102, 92, 128, 106
              MOVE G6B, 100, 43, 106
              MOVE G6C, 100, 43, 106
              WAIT
              HIGHSPEED SETOFF

              'Step 2
              MOVE G6A, 93, 102, 92, 128, 106
              MOVE G6D, 93, 102, 92, 128, 106
              MOVE G6B, 100, 70, 73
              MOVE G6C, 100, 70, 73
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 93, 102, 92, 128, 106
              MOVE G6D, 93, 102, 92, 128, 106
              MOVE G6B, 100, 70, 98
              MOVE G6C, 100, 70, 98
              WAIT
              HIGHSPEED SETOFF

              'Step 3
              MOVE G6A, 93, 97, 108, 114, 106
              MOVE G6D, 93, 97, 108, 114, 106
              MOVE G6B, 100, 96, 73
              MOVE G6C, 100, 96, 73
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 93, 97, 108, 114, 106
              MOVE G6D, 93, 97, 108, 114, 106
              MOVE G6B, 100, 96, 97
              MOVE G6C, 100, 96, 97
              WAIT
              HIGHSPEED SETOFF

              'Step 4
              MOVE G6A, 93, 92, 121, 103, 106
              MOVE G6D, 93, 90, 119, 104, 106
              MOVE G6B, 100, 122, 97
              MOVE G6C, 100, 122, 97
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 93, 92, 121, 103, 106
              MOVE G6D, 93, 90, 119, 104, 106
              MOVE G6B, 100, 122, 126
              MOVE G6C, 100, 122, 126
              WAIT
              HIGHSPEED SETOFF

              'Step 5
              MOVE G6A, 93, 92, 121, 103, 106
              MOVE G6D, 93, 90, 119, 104, 106
              MOVE G6B, 100, 148, 101
              MOVE G6C, 100, 148, 101
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 93, 92, 121, 103, 106
              MOVE G6D, 93, 90, 119, 104, 106
              MOVE G6B, 100, 148, 122
              MOVE G6C, 100, 148, 122
              WAIT
              HIGHSPEED SETOFF

              'Step 6
              MOVE G6A, 93, 83, 140, 90, 106
              MOVE G6D, 93, 79, 141, 94, 106
              MOVE G6B, 100, 164, 101
              MOVE G6C, 100, 164, 101
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 93, 83, 140, 90, 106
              MOVE G6D, 93, 79, 141, 94, 106
              MOVE G6B, 100, 164, 131
              MOVE G6C, 100, 164, 131
              WAIT
              HIGHSPEED SETOFF

              'Step 7
              MOVE G6A, 93, 83, 140, 90, 106
              MOVE G6D, 93, 79, 141, 94, 106
              MOVE G6B, 100, 179, 102
              MOVE G6C, 100, 179, 102
              WAIT

              HIGHSPEED SETON
              MOVE G6A, 93, 83, 140, 90, 106
              MOVE G6D, 93, 79, 141, 94, 106
              MOVE G6B, 100, 179, 154
              MOVE G6C, 100, 179, 154
              WAIT
              HIGHSPEED SETOFF

              DELAY 120

              NEXT i

              SPEED 16
              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 30, 80
              MOVE G6C, 100, 30, 80
              WAIT

              '-------------- standard pose -------------
              SPEED 6
              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 30, 80
              MOVE G6C, 100, 30, 80
              WAIT

              DELAY 1000

              SPEED 16
              HIGHSPEED SETON
              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 176, 96
              MOVE G6C, 100, 176, 96
              WAIT
              HIGHSPEED SETOFF

              DELAY 3000

              SPEED 8
              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 176, 96, 120
              MOVE G6C, 60, 157, 182, 120
              WAIT

              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 176, 96
              MOVE G6C, 179, 12, 103
              WAIT

              DELAY 1000

              HIGHSPEED SETON
              SPEED 10
              MOVE G6A, 101, 76, 93, 139, 103
              MOVE G6D, 96, 120, 145, 51, 102
              MOVE G6B, 183, 11, 96
              MOVE G6C, 179, 44, 15
              WAIT
              HIGHSPEED SETOFF

              DELAY 3000

              SPEED 6
              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 30, 80
              MOVE G6C, 100, 30, 80
              WAIT

              '----------- Final Bow --------------
              SPEED 14
              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 57, 47
              MOVE G6C, 100, 57, 47
              WAIT

              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 57, 29
              MOVE G6C, 100, 57, 29
              WAIT

              DELAY 500

              SPEED 3
              MOVE G6A, 100, 47, 145, 163, 100
              MOVE G6D, 100, 47, 145, 165, 100
              MOVE G6B, 100, 27, 101, 140, 100
              MOVE G6C, 100, 27, 101, 140
              WAIT

              DELAY 2000

              MOVE G6A, 100, 76, 145, 93, 100
              MOVE G6D, 100, 76, 145, 93, 100
              MOVE G6B, 100, 30, 80
              MOVE G6C, 100, 30, 80
              WAIT

              DELAY 1000

              RETURN
              '================================================

               ここまでをコピーして適当なリモコンキーに、GOSUB m337 を設定してあげれば動作するはずです。もう、皆さんも実行済みですかね。不景気な話が多いので、このようなモーションも面白いですよ。
              0

                リモコンで掲示板の表示切替え

                 自作したLED電光掲示板の表示切替えは、今まで押しボタンで出来るようにしていましたが、これをリモコンで操作できるようにしました。

                 信号配線は、どれか空いているデジタルポートを選び、11番ポートに設定して、信号線を切替用押しボタンに接続するだけです。後は、ソフトを組み込むのみで簡単でした。

                (1)初期設定の箇所で、サーボコントロールから除く設定をする

                '== motor power on =============================
                SPEED 5
                MOTOR G24
                '-- motor off setting --
                MOTOROFF 11
                MOTOROFF 16
                MOTOROFF 17
                '-----------------------

                (2)■のボタンで、表示が切替える設定
                '================================================
                k26: ' [] 1
                OUT 11,0
                DELAY 5
                OUT 11,1

                  GOTO main_exit
                '================================================

                モジュールには三端子電源のレギュレータを載せているので、PWMポ−トから11番ポートに変更して、こんなに簡単に設定できるとは思いませんでした。大満足です。LED電光掲示板は循環式に切り替わるようになっています。

                関連記事:電光掲示板

                追伸:
                 ID-01の音声認識/音声合成において、起動時のスタート信号はこの方法で自動的に行うことが出来ます。ということはこちらのモジュールに三端子電源を搭載していますので、通常の3本ケーブル1本で動作させることができます。
                0

                  PowerOFF/ONのモーション小改良

                   ROBOZAKから提供されているモーションの中に、PowerOFF/ONのモーションが含まれていますが、ACアダプター電源でモーションを作成していたら、起上がる時に後ろ側に倒れてしまいます。実はこれもジャイロのケースを壊した原因でした。

                   そこで、モーションをちょっこと改良しました。PowerOFFにするとしゃがんでLEDの点滅が長くなり最後はLEDが消えて眠ります。起きる起きる時は飛び上がった驚く仕草がとてもおもしろくて気に入っています。

                  参考までに、そのモーションを載せておきますので、PowerOFF/ONの同じラベルのところを置き換えて試してみてください。

                  '================================================
                  standard_pose16:
                  TEMPO 230
                  MUSIC "CDE"
                  GETMOTORSET G24,1,1,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0
                  '== motor power on =============================
                  MOTOR G24
                  OUT 52,0
                  A16 = 1
                  '================================================
                  MOVE G6A, 100, 151, 23, 140, 101, 100
                  MOVE G6D, 100, 151, 23, 140, 101, 100
                  DELAY 500
                  SPEED 8
                  GOSUB standard_pose
                  RETURN
                  '================================================
                  sit_down_pose16:
                  IF A16 = 0 THEN GOTO standard_pose16
                  A16 = 0
                  SPEED 10
                  MOVE G6A, 100, 151, 23, 140, 101, 100
                  MOVE G6D, 100, 151, 23, 140, 101, 100
                  MOVE G6B, 100, 30, 80, 100, 100, 100
                  MOVE G6C, 100, 30, 80, 100, 100, 100
                  WAIT
                  '== motor power off ============================
                  MOTOROFF G24
                  TEMPO 230
                  MUSIC "FEDC"

                  OUT 52,1
                  DELAY 500
                  OUT 52,0
                  DELAY 500
                  OUT 52,1
                  DELAY 750
                  OUT 52,0
                  DELAY 750
                  OUT 52,1
                  DELAY 1000
                  OUT 52,0
                  DELAY 1000
                  OUT 52,1
                  DELAY 1500
                  OUT 52,0
                  DELAY 1500
                  OUT 52,1

                  RETURN
                  '================================================
                  0

                    懐かしいシェーのポーズ

                     昔懐かしいシェーのポーズです。手足の軸の自由度が少ないので、完全な形にはなりませんが、一応、シェーのポーズが出来ました。1本足で立つ為にバランスをとるのがなかなか難しく、直立のポーズに戻る時に足が引っかかることがあり、引っかかると戻る時に倒れるので注意が必要です。

                     シェーのポーズを決めている時には、RZ-1の目に相当する青いLEDが点滅するようにして、少しだけ変化をつけました。

                     このモーションはジャイロを少し効かせていますので、他のRZ-1で動作させる時には微調する必要があります。

                    '================================================
                    sye:

                    SPEED 2
                    MOVE G24, 95, 76, 145, 90, 102, , 140, 30, 80, 140, 104, , 80, 180, 180, 140, , , 105, 76, 145, 90, 95,
                    MOVE G24, 65, 75, 96, 153, 105, , 160, 20, 40, 140, 104, , 80, 180, 180, 140, , , 113, 76, 145, 80, 92,
                    WAIT

                    FOR I=0 TO 2
                    OUT 52,1
                    DELAY 1000
                    OUT 52,0
                    DELAY 1000
                    NEXT I

                    MOVE G24, 90, 76, 145, 95, 110, , 140, 30, 80, 140, 104, , 80, 180, 180, 140, , , 105, 76, 145, 90, 100,
                    WAIT

                    RETURN
                    '================================================
                    0


                      カレンダ

                        12345
                      6789101112
                      13141516171819
                      20212223242526
                      2728293031  
                      << May 2018 >>