汎用試験運転プログラム「goback0


汎用の試験運転用プログラムです。
モーターを使うモデル(RB2PT1)に電力を供給、試験運転に使うことを想定しています。

使い方

接続方法

運転方法


プログラム「goback0」(RIS風表示)

goback0     タッチセンサー 1
押されたとき
    光センサー 2
明るくなったとき
     マイブロック
GOBACK
設定
counter1=1
マイブロック
GOBACK
マイブロック
GOBACK
もし
counter1 > 0  そうでないとき
オン ABC 設定
counter1=0
  設定
counter1=1
リピート オフ ABC
(滑走)
反転 ABC
期間
タイマー1 < 20.0
トーン
 500 / 0.1秒
オン ABC
オフ ABC
(滑走)
トーン
2000 / 0.1秒
ビープ
3
ウェイト
1.0秒
プログラム
終了


プログラムリスト「goback0.lsc

program test {

  #include <RCX2.h>
  #include <RCX2MLT.h>
  #include <RCX2Sounds.h>
  #include <RCX2Def.h>

  sensor touch1 on 1
  touch1 is switch as boolean
  event tPress_touch1EventPress when touch1.pressed

  sensor light2 on 2
  light2 is light as percent
  event lBrite_light2EventHigh when light2.high


  macro GOBACK {
    if counter1 > 0 {
      counter1 = 0
      float [ A B C ] 
      tone 500 for 10
    }
    else {
      counter1 = 10
      reverse [ A B C ] 
      on [ A B C ] 
      tone 2000 for 10
    }
  }


  main {
    ext InterfaceType "kFreestyle"
    rcx_ClearTimers
    bbs_GlobalReset([A B C])
    start TouchWatcher0
    start LightWatcher1
    rcx_Priority( 8 )
    trigger tPress_touch1EventPress
    trigger lBrite_light2EventHigh
    try {
      counter1 = 10
      on [ A B C ] 
    } retry on fail
    try {
      while timer1 < 200 {
      }
    } retry on fail
    try {
      float [ A B C ] 
      sound 3
    } retry on fail
    wait 100
    try {
      stop tasks
    } retry on fail
  }


  watcher TouchWatcher0 monitor tPress_touch1EventPress
  {
    rcx_Priority( 3 )
    try {
      GOBACK
    } restart on fail
  } restart on event


  watcher LightWatcher1 monitor lBrite_light2EventHigh
  {
    rcx_Priority( 4 )
    try {
      GOBACK
    } restart on fail
  } restart on event
}

LEGOで遊ぶ : プログラム