-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp_ruby.rb
executable file
·55 lines (40 loc) · 1.19 KB
/
app_ruby.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# coding: utf-8
LIGHT_WHITE = 40 # 白色の光センサ値
LIGHT_BLACK = 0 # 黒色の光センサ値
def log(logger, msg)
value = logger.write(msg)
if !value
EV3RT::LCD.print("log error!!")
else
EV3RT::LCD.print("log ok")
end
end
touchSensor = EV3RT::TouchSensor.new(EV3RT::PORT_2)
leftMotor = EV3RT::Motor.new(EV3RT::PORT_A, EV3RT::LARGE_MOTOR)
rightMotor = EV3RT::Motor.new(EV3RT::PORT_B, EV3RT::LARGE_MOTOR)
frontMotor = EV3RT::TailMotor.new(EV3RT::PORT_C, EV3RT::LARGE_MOTOR)
clock = EV3RT::Clock.new()
#for log
logger = EV3RT::Serial.new(EV3RT::SIO_PORT_BT)
# LCD
led = EV3RT::LED.new()
led.on(EV3RT::LED_ORANGE)
# 初期処理だけして寝かす
EV3RT::Task.active(EV3RT::CONTROL_TASK_ID)
EV3RT::LCD.print("Trike sample mruby cyclick ver.")
# スタート待機(タッチセンサ押下を監視)
loop do
if touchSensor.pressed?
break
end
clock.sleep(10)
end # loop end
EV3RT::Task.start_cyclic(EV3RT::CONTROL_CYC_ID)
EV3RT::LCD.print("sleep main task.")
# back ボタンで終了指示があるまでおやすみ
EV3RT::Task.sleep
# backボタンタスクより起動されたら終了処理を行う
frontMotor.stop
leftMotor.stop
rightMotor.stop
led.on(EV3RT::LED_RED)