2025年1月27日月曜日

Micro:bit and ble (キースタジオand回転サーボ)

以下が成功コード let input2...はinputにするとエラーとなる、理由不明

https://zenn.dev/ha864zenn/books/how-to-make-biped-robot/viewer/communicating-via-bluetooth :: micro:bit ble pedia

 https://monomonotech.jp/kurage/webbluetooth/microbit_ble_setting.html :: microbitV2 ble

https://qiita.com/nanbuwks/items/75ac24912d9bbe84d80f ble send

https://qiita.com/youtoy/items/46502b9bd17fad16d427 ble receive

https://monomonotech.jp/kurage/webbluetooth/microbit_ble_block_uart_rx.html ble receive

bluetooth.onBluetoothConnected(function () {

basic.showIcon(IconNames.Heart)
basic.pause(1000)
basic.clearScreen()
})
function backward () {
pins.analogWritePin(AnalogPin.P1, 600)
pins.digitalWritePin(DigitalPin.P13, 0)
pins.digitalWritePin(DigitalPin.P12, 1)
pins.analogWritePin(AnalogPin.P2, 600)
pins.digitalWritePin(DigitalPin.P15, 0)
pins.digitalWritePin(DigitalPin.P16, 1)
basic.pause(500)
pins.digitalWritePin(DigitalPin.P13, 0)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P15, 0)
pins.digitalWritePin(DigitalPin.P16, 0)
basic.pause(500)
}
bluetooth.onUartDataReceived(serial.delimiters(Delimiters.NewLine), function () {
input2 = bluetooth.uartReadUntil(serial.delimiters(Delimiters.NewLine))
if (input2.includes("f")) {
basic.showString(input2)
forward()
} else if (input2.includes("b")) {
basic.showString(input2)
backward()
}
})
function forward () {
pins.analogWritePin(AnalogPin.P1, 600)
pins.digitalWritePin(DigitalPin.P13, 1)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.analogWritePin(AnalogPin.P2, 600)
pins.digitalWritePin(DigitalPin.P15, 1)
pins.digitalWritePin(DigitalPin.P16, 0)
basic.pause(500)
pins.digitalWritePin(DigitalPin.P13, 0)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P15, 0)
pins.digitalWritePin(DigitalPin.P16, 0)
basic.pause(500)
}
let input2 = ""
bluetooth.startUartService()
pins.digitalWritePin(DigitalPin.P14, 1)
ーーーーーーーーーーーーーーーーーーーーーーーー
これを単独でうごかすには大容量バッテリ(3A出力2個口)が必要!
bluetooth.onBluetoothConnected(function () {
basic.showIcon(IconNames.Heart)
basic.pause(1000)
basic.clearScreen()
})
function backward () {
pins.servoWritePin(AnalogPin.P0, 103)
pins.servoWritePin(AnalogPin.P3, 58)
basic.pause(500)
pins.servoWritePin(AnalogPin.P0, 90)
pins.servoWritePin(AnalogPin.P3, 90)
}
bluetooth.onUartDataReceived(serial.delimiters(Delimiters.NewLine), function () {
input2 = bluetooth.uartReadUntil(serial.delimiters(Delimiters.NewLine))
if (input2.includes("f")) {
basic.showString(input2)
forward()
} else if (input2.includes("b")) {
basic.showString(input2)
backward()
}
})
function forward () {
pins.servoWritePin(AnalogPin.P0, 58)
pins.servoWritePin(AnalogPin.P3, 103)
basic.pause(500)
pins.servoWritePin(AnalogPin.P0, 90)
pins.servoWritePin(AnalogPin.P3, 90)
}
let input2 = ""
bluetooth.startUartService()
pins.servoWritePin(AnalogPin.P0, 90)
pins.servoWritePin(AnalogPin.P3, 90)


0 件のコメント:

コメントを投稿