# Port map
#
MOTOR1_PIN = D2
MOTOR2_PIN = D3
MOTOR3_PIN = D4
MOTOR4_PIN = D5
MOTOR5_PIN = D6
def yield_delay( ms )
target = millis() + ms
while millis() < target
Fiber.yield()
end
end
def createMotorFiber( no, pin, ontime, offtime )
dout = DigitalIO.new( pin, OUTPUT )
dout.low()
Fiber.new do
loop do
puts no.to_s + ":ON"
dout.high()
yield_delay( ontime )
puts no.to_s + ":OFF"
dout.low()
yield_delay( offtime )
end
end
end
def main
puts 'Hello.'
puts 'This is enziMotorKit demo.'
mt1_fiber = createMotorFiber( 1, MOTOR1_PIN, 3000, 3000 )
mt2_fiber = createMotorFiber( 2, MOTOR2_PIN, 4000, 3500 )
mt3_fiber = createMotorFiber( 3, MOTOR3_PIN, 5000, 4000 )
mt4_fiber = createMotorFiber( 4, MOTOR4_PIN, 6000, 4500 )
mt5_fiber = createMotorFiber( 5, MOTOR5_PIN, 7000, 5000 )
loop do
mt1_fiber.resume()
mt2_fiber.resume()
mt3_fiber.resume()
mt4_fiber.resume()
mt5_fiber.resume()
end
end
main()