2025年1月26日日曜日

raspberry pi ヴィデオ関連 /Micro:bit keyestudioで無線操縦

 

-----------ラズパイ----------------------------------------

zero は2になっても2GしかWifi未対応 3a+は5Gも対応している

install時のusキーボード配列は、起動後にraspi-configでjpキーボードに変更できた

https://mail.google.com/mail/u/0/?tab=rm&ogbl#inbox 

gpiozero で 直感的にデバイスを制御する



https://ponkichi.blog/mjpg-streamer/ これも参考にして以下を

https://raspi-katsuyou.com/index.php/2020/06/30/11/10/44/644/
 これはブルーバックスと同じだが、ブルーバックスは
 全コマンドを/opt以下にmvしたので、10-02-stream.shを使用!

単純にヴィデオクリップするのならguvcviewがいい パイカメラの場合はv4l2が必要?
USBウェブカメラ(マイク付き)なら録音もできるからベターかも

https://gihyo.jp/admin/serial/01/ubuntu-recipe/0303

https://mekou.com/linux-magazine/web%e3%82%ab%e3%83%a1%e3%83%a9%e6%92%ae%e5%bd%b1guvcview/
以上2個は同上

--------------キースタジオモータボードで無線操縦(サバクラ共通)--------------------------------

input.onButtonPressed(Button.A, function () {
radio.sendString("f")
})
input.onButtonPressed(Button.AB, function () {
radio.sendString("t")
})
input.onButtonPressed(Button.B, function () {
radio.sendString("b")
})

radio.setGroup(132)
pins.digitalWritePin(DigitalPin.P14, 1)
basic.showIcon(IconNames.Heart)

radio.onReceivedString(function (receivedString) {
basic.showString(receivedString)
if (receivedString == "f") {
basic.showLeds(`
. . # . .
. # # # .
# . # . #
. . # . .
. . # . .
`)
pins.analogWritePin(AnalogPin.P1, 1023)
pins.digitalWritePin(DigitalPin.P12, 1)
pins.digitalWritePin(DigitalPin.P13, 0)
pins.analogWritePin(AnalogPin.P2, 1023)
pins.digitalWritePin(DigitalPin.P15, 1)
pins.digitalWritePin(DigitalPin.P16, 0)
basic.pause(500)
pins.analogWritePin(AnalogPin.P1, 1023)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 0)
pins.analogWritePin(AnalogPin.P2, 1023)
pins.digitalWritePin(DigitalPin.P15, 0)
pins.digitalWritePin(DigitalPin.P16, 0)
} else if (receivedString == "b") {
basic.showLeds(`
. . # . .
. . # . .
# . # . #
. # # # .
. . # . .
`)
pins.analogWritePin(AnalogPin.P1, 1023)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 1)
pins.analogWritePin(AnalogPin.P2, 1023)
pins.digitalWritePin(DigitalPin.P15, 0)
pins.digitalWritePin(DigitalPin.P16, 1)
basic.pause(500)
pins.analogWritePin(AnalogPin.P1, 1023)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 0)
pins.analogWritePin(AnalogPin.P2, 1023)
pins.digitalWritePin(DigitalPin.P15, 0)
pins.digitalWritePin(DigitalPin.P16, 0)
} else if (receivedString == "t") {
basic.showLeds(`
# # # # .
# . . # .
# . . # .
# . # # #
# . . # .
`)
pins.analogWritePin(AnalogPin.P1, 1023)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 1)
pins.analogWritePin(AnalogPin.P2, 1023)
pins.digitalWritePin(DigitalPin.P15, 1)
pins.digitalWritePin(DigitalPin.P16, 0)
basic.pause(500)
pins.analogWritePin(AnalogPin.P1, 1023)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 0)
pins.analogWritePin(AnalogPin.P2, 1023)
pins.digitalWritePin(DigitalPin.P15, 0)
pins.digitalWritePin(DigitalPin.P16, 0)
}
})


参考 キースタジオ詳細は以下に

https://wiki.keyestudio.com/Ks0308_keyestudio_Motor_Drive_Breakout_Board_for_micro_bit

このサイトのコードをjsですると


digitalWritePin(DigitalPin.P14, 1)

basic.forever(function () {

    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)

})

_keyestudio_Motor_Drive_Breakout_Board_for_micro_bit

0 件のコメント:

コメントを投稿