micro:bit에서 쉽게 mp3 재생할 수 있는 커스텀 블록과 접속 케이블을 만들었다
쉽게 할 수 있도록 맞춤 블록과 장치를 만들었습니다.
케이블은 악어 클립을 개조하여 PH 커넥터를 붙인 것.
DFR0534라고 하는 메모리 내장의 음성 플레이어에 접속할 수 있게 되어 있어, 이것은 모노럴입니다만 SD 카드등도 필요없이 시리얼 통신으로 제어를 할 수 있는 것입니다.
htps : // 아키즈키 덴시. 코 m/분 g/g/gM-13708/
그 밖에도 자주 있는 것으로 DF Player mini등 저렴한 것은 있습니다만, SD카드대가 상당히 높게 붙기 때문에 개인적으로는 전부 코미코미로 이 가격이므로 이쪽이 추천입니다. 단 버튼 조작 등의 단자가 없기 때문에 그러한 조작을 생각하고 있다면 추천은 할 수 없습니다.
스피커 부분도 악어 입 클립으로 했기 때문에 이어폰이나 스피커와도 자주 있는 V1.5에서의 micro:bit로 소리를 낼 때와 같이 접속할 수 있습니다.
동작시킨 것은 이쪽.
코드 만들기가 나쁘고 응답이 느렸습니다. 효과음에 사용할 수 있는 느낌. V2 대응도 했기 때문에 손가락 패치에서도 MP3가 울립니다! 피 c. 라고 r. 코 m/Krms7byKgH — wakasa masao (@wks) December 18, 2020
사용자 정의 블록은 아래를 참조하여 병아리 기반으로 만들었습니다.
htps : // 코 m / 와카사마 사오 / ms / 네 df7f8d6308 828986
코드는 DFPlayer mini를 조작할 수 있는 블록을 베이스로 개조했습니다.
htps : // 기주 b. 이 m / 51 t / dfp
일단, 곡 번호 지정으로 음악이 흐르고 Volume이 조작할 수 있으면 좋을까 그만큼 밖에 쓰지 않습니다.
명령 자체는 다음 사이트를 참조합니다.
htps : // 우우키. df 로보 t. 이 m/ゔぉ이세_모즈ぇ_S쿠__DFR0534
코멘트에 쓰여진 것이 블록명이 되기도 하므로, 그 근처는 좋은 느낌으로 쓰는 것이 좋다.
//% weight=100 color=#0fbc11 icon=""
namespace dfr0534 {
let isConnected: boolean = false;
function sendData(dataArr:number[]): void {
let myBuf = pins.createBuffer(10);
for (let i = 0; i < 10; i++) {
myBuf.setNumber(NumberFormat.UInt8BE, i, dataArr[i])
}
serial.writeBuffer(myBuf)
basic.pause(100)
}
/**
* Connect DFR0534
* @param pinRX RX Pin, eg: SerialPin.P2
* @param pinTX TX Pin, eg: SerialPin.P1
*/
//% blockId="DFR0534_connect" block="connect to DFR0534, RX:%pinRX|TX:%pinTX"
//% weight=100 blockGap=20
export function connect(pinRX: SerialPin = SerialPin.P2, pinTX: SerialPin = SerialPin.P1): void {
serial.redirect(pinRX, pinTX, BaudRate.BaudRate9600)
isConnected = true
basic.pause(100)
}
/**
* Specified Audio
* @param track Track Number, eg: 1
*/
//% blockId="DFR0534_specifiedAudio" block="Specified Audio Play(1~255):%track"
//% weight=99 blockGap=20 track.min=1 track.max=255
export function specifiedAudio(track: number): void {
if(track<1) track=1
if(track>255) track=255
sendData([0xAA,0x07,0x02,0x00,track,track+0xB3])
}
/**
* Set Volume
* @param volume Volume, eg: 10
*/
//% blockId="DFR0534_volume" block="set volume(0~30):%volume"
//% weight=98 blockGap=20 volume.min=0 volume.max=30
export function volume(volume: number): void {
if(volume<0) volume=0
if(volume>30) volume=30
sendData([0xAA,0x13,0x01,volume,volume+0xBE])
}
}
실제로 만든 코드는 이쪽을 참고로.
h tps://마케코로. 미 c로비 t. rg / _HgF0rKD6j9
이것으로 간단하게 mp3를 재생할 수 있는 환경이 갖추어져 있으므로 여러가지 놀 수 있다고 생각합니다.
특히 블록 언어로 만들 수 있도록 했기 때문에, Radio로 날리거나 여러가지 디바이스와 제휴하기 쉬워집니다.
Reference
이 문제에 관하여(micro:bit에서 쉽게 mp3 재생할 수 있는 커스텀 블록과 접속 케이블을 만들었다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wakasamasao/items/74d41d252c3743138143텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)