microbit Wall-E Robot 2020 Happy New Year melody付 2020.01.03

Arduinoではモーターの駆動がどうしてもしっくりいかなかったのでmicrobitで再挑戦しました。思った以上によくできました。servo,motorよく作動しました。歓喜の歌のメロディ付きです。passivebuzzerを取り付けました。

YouTube:microbit Wall-E Robot 2020 Happy New Year melody付 2020.01.03 動画をアップしてます!

microbit Wall-E Robot 2020 Happy New Year 20200103 micro:bit でWall-E を動かしてみました!歓喜の歌付きです! Wall-EはThingiverseのShinWeiChiouさんを参考にしました! Wall-E costume for Robot Shield & LinkIt 7697 by ShinWeiChiou Nov 1, 2017

microbit プログラム一部 micro:bit   MakeCode micro:bit サイトへ

microbit プログラム(javascript) micro:bit   MakeCode micro:bit サイトへ

//Microbit_DFrobot_Wall-E_20200103   by  AKIOSTEM

function Forward () {
    motor.MotorRun(motor.Motors.M1, motor.Dir.CW, 200)
    motor.MotorRun(motor.Motors.M2, motor.Dir.CW, 200)
}
function Servo_Head () {
    motor.servo(motor.Servos.S1, 45)
    basic.pause(1000)
    motor.servo(motor.Servos.S1, 15)
    basic.pause(1000)
    motor.servo(motor.Servos.S1, 90)
    basic.pause(1000)
    motor.servo(motor.Servos.S1, 45)
    basic.pause(1000)
}
function Servo_Right () {
    motor.servo(motor.Servos.S3, 45)
    basic.pause(1000)
    motor.servo(motor.Servos.S3, 90)
    basic.pause(1000)
    motor.servo(motor.Servos.S3, 15)
    basic.pause(1000)
    motor.servo(motor.Servos.S3, 45)
    basic.pause(1000)
}
function Back () {
    motor.MotorRun(motor.Motors.M1, motor.Dir.CCW, 150)
    motor.MotorRun(motor.Motors.M2, motor.Dir.CCW, 150)
}
function Stop () {
    motor.MotorRun(motor.Motors.M1, motor.Dir.CW, 0)
    motor.MotorRun(motor.Motors.M2, motor.Dir.CW, 0)
}
function Left () {
    motor.MotorRun(motor.Motors.M1, motor.Dir.CW, 150)
    motor.MotorRun(motor.Motors.M2, motor.Dir.CW, 0)
}
function Servo_Left () {
    motor.servo(motor.Servos.S2, 45)
    basic.pause(1000)
    motor.servo(motor.Servos.S2, 15)
    basic.pause(1000)
    motor.servo(motor.Servos.S2, 90)
    basic.pause(1000)
    motor.servo(motor.Servos.S2, 45)
    basic.pause(1000)
}
function turn_left () {
    motor.MotorRun(motor.Motors.M1, motor.Dir.CW, 250)
    motor.MotorRun(motor.Motors.M2, motor.Dir.CW, 50)
}
function Right () {
    motor.MotorRun(motor.Motors.M1, motor.Dir.CW, 0)
    motor.MotorRun(motor.Motors.M2, motor.Dir.CW, 150)
}
function turn_right () {
    motor.MotorRun(motor.Motors.M1, motor.Dir.CW, 50)
    motor.MotorRun(motor.Motors.M2, motor.Dir.CW, 250)
}
led.enable(true)
pins.digitalWritePin(DigitalPin.P14, 1)
music.beginMelody(music.builtInMelody(Melodies.Ode), MelodyOptions.Once)
basic.showIcon(IconNames.Heart)
basic.pause(100)
basic.showString("Happy New Year 2020!")
let DISTANCE = 0
basic.forever(function () {
    DISTANCE = sonar.ping(
    DigitalPin.P1,
    DigitalPin.P2,
    PingUnit.Centimeters
    )
    serial.writeNumber(DISTANCE)
    Stop()
    basic.pause(500)
    Servo_Head()
    basic.showArrow(ArrowNames.North)
    Forward()
    basic.pause(1500)
    basic.showArrow(ArrowNames.South)
    Back()
    basic.pause(1000)
    basic.showIcon(IconNames.No)
    Stop()
    basic.pause(1000)
    basic.showArrow(ArrowNames.West)
    Left()
    basic.pause(2500)
    basic.showArrow(ArrowNames.East)
    Right()
    basic.pause(2500)
    basic.showIcon(IconNames.No)
    Stop()
    basic.pause(1000)
    Servo_Head()
    basic.showArrow(ArrowNames.NorthWest)
    turn_left()
    basic.pause(3000)
    basic.showArrow(ArrowNames.NorthEast)
    turn_right()
    basic.pause(3000)
    basic.showIcon(IconNames.No)
    Stop()
    basic.pause(1000)
    Servo_Head()
    Servo_Right()
    Servo_Left()
})
カテゴリー: Fabrication, microbit, ロボット タグ: , , , パーマリンク