เลือก template สำหรับหุ่นยนต์ของคุณ copy โค้ดไปวางใน MakeCode แล้ว flash ลง micro:bit ได้เลย ไม่ต้องเขียนโค้ด BLE เอง
หุ่นยนต์ยอดนิยมในโรงเรียนไทย — DFRobot
// ═══════════════════════════════════════════════════ // Gamepad for micro:bit — micro:Maqueen Lite // Extension: https://github.com/DFRobot/pxt-maqueen // ═══════════════════════════════════════════════════ const SPEED = 150 bluetooth.onUartDataReceived("\n", function () { let cmd = bluetooth.uartReadUntil("\n").trim() if (cmd == lastCommand) return lastCommand = cmd if (cmd == "UP") { maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CW, SPEED) basic.showArrow(ArrowNames.North) } else if (cmd == "DOWN") { maqueen.motorRun(maqueen.Motors.All, maqueen.Dir.CCW, SPEED) basic.showArrow(ArrowNames.South) } else if (cmd == "LEFT") { maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CW, SPEED) maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CCW, SPEED) basic.showArrow(ArrowNames.West) } else if (cmd == "RIGHT") { maqueen.motorRun(maqueen.Motors.M1, maqueen.Dir.CCW, SPEED) maqueen.motorRun(maqueen.Motors.M2, maqueen.Dir.CW, SPEED) basic.showArrow(ArrowNames.East) } else if (cmd == "STOP") { maqueen.motorStop(maqueen.Motors.All) basic.clearScreen() } else if (cmd == "A") { maqueen.writeLED(maqueen.LED.LEDLeft, maqueen.LEDswitch.turnOn) maqueen.writeLED(maqueen.LED.LEDRight, maqueen.LEDswitch.turnOn) basic.showIcon(IconNames.Heart) } else if (cmd == "B") { maqueen.writeLED(maqueen.LED.LEDLeft, maqueen.LEDswitch.turnOff) maqueen.writeLED(maqueen.LED.LEDRight, maqueen.LEDswitch.turnOff) basic.showIcon(IconNames.Happy) } else if (cmd == "C") { basic.showString("C") } else if (cmd == "D") { basic.showString("D") } else { maqueen.motorStop(maqueen.Motors.All) basic.clearScreen() } }) let lastCommand = "" bluetooth.startUartService() basic.showIcon(IconNames.Ghost) basic.pause(500) basic.clearScreen()
เพิ่ม Extension ใน MakeCode ค้นหา dfrobot แล้วเลือก maqueen
วาง Code สลับไปโหมด JavaScript แล้ว copy โค้ดด้านบนวางลงไป
Flash กด Download แล้ว drag .hex ลง micro:bit
จับคู่ เปิด app กด Connect แล้วเลือก BBC micro:bit
Yahboom · หุ่นยนต์เพื่อการศึกษาระดับประถม
// ═══════════════════════════════════════════════════ // Gamepad for micro:bit — Tiny:Bit // Extension: YahboomTechnology/Tiny-bitLib // ═══════════════════════════════════════════════════ bluetooth.onUartDataReceived("\n", function () { let cmd = bluetooth.uartReadUntil("\n").trim() if (cmd == lastCommand) return lastCommand = cmd if (cmd == "UP") { Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_Run, 80) basic.showArrow(ArrowNames.North) } else if (cmd == "DOWN") { Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_Back, 80) basic.showArrow(ArrowNames.South) } else if (cmd == "LEFT") { Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_SpinLeft, 80) basic.showArrow(ArrowNames.West) } else if (cmd == "RIGHT") { Tinybit.CarCtrlSpeed(Tinybit.CarState.Car_SpinRight, 80) basic.showArrow(ArrowNames.East) } else if (cmd == "STOP") { Tinybit.CarCtrl(Tinybit.CarState.Car_Stop) basic.clearScreen() } else if (cmd == "A") { basic.showIcon(IconNames.Heart) music.playTone(Note.C5, 200) } else if (cmd == "B") { basic.showIcon(IconNames.Happy) music.playTone(Note.G5, 300) } else if (cmd == "C") { basic.showString("C") } else if (cmd == "D") { basic.showString("D") } else { basic.clearScreen() } }) let lastCommand = "" bluetooth.startUartService() basic.showIcon(IconNames.Ghost) basic.pause(500) basic.clearScreen()
เพิ่ม Extension ค้นหา Tiny-bitLib ใน MakeCode Extensions หรือ paste URL จาก Yahboom
วาง Code สลับโหมด JavaScript แล้ว paste
Flash กด Download แล้ว drag .hex ลง micro:bit
จับคู่ เปิด app กด Connect เลือก BBC micro:bit
Servo-based car — ELECFREAKS
// ═══════════════════════════════════════════════════ // Gamepad for micro:bit — Ringbit Car V2 // Extension: tinkertanker/pxt-ringbitcar // Servo Left = P1, Servo Right = P2 // ═══════════════════════════════════════════════════ const SPEED_HIGH = 160 // full forward const SPEED_LOW = 20 // full backward const STOP = 90 // servo stop bluetooth.onUartDataReceived("\n", function () { let cmd = bluetooth.uartReadUntil("\n").trim() if (cmd == lastCommand) return lastCommand = cmd if (cmd == "UP") { RingbitCar.freestyle(SPEED_HIGH, SPEED_LOW) basic.showArrow(ArrowNames.North) } else if (cmd == "DOWN") { RingbitCar.freestyle(SPEED_LOW, SPEED_HIGH) basic.showArrow(ArrowNames.South) } else if (cmd == "LEFT") { RingbitCar.freestyle(STOP, SPEED_LOW) basic.showArrow(ArrowNames.West) } else if (cmd == "RIGHT") { RingbitCar.freestyle(SPEED_HIGH, STOP) basic.showArrow(ArrowNames.East) } else if (cmd == "STOP") { RingbitCar.freestyle(STOP, STOP) basic.clearScreen() } else if (cmd == "A") { basic.showIcon(IconNames.Heart) } else if (cmd == "B") { basic.showIcon(IconNames.Happy) } else if (cmd == "C") { basic.showString("C") } else if (cmd == "D") { basic.showString("D") } else { RingbitCar.freestyle(STOP, STOP) basic.clearScreen() } }) let lastCommand = "" RingbitCar.init_wheel(AnalogPin.P1, AnalogPin.P2) bluetooth.startUartService() basic.showIcon(IconNames.Ghost) basic.pause(500) basic.clearScreen()
เพิ่ม Extension ค้นหา ringbit ใน MakeCode Extensions
ตรวจ Pins ต่อ servo ซ้ายที่ P1 และขวาที่ P2
Flash กด Download แล้ว drag .hex ลง micro:bit
ทดสอบทิศทาง ถ้าวิ่งผิดทิศ swap SPEED_HIGH↔SPEED_LOW