Загрузка данных


// Инициализация радиосвязи (общая группа для обоих устройств)
radio.setGroup(1)

// ==========================================
// ЧАСТЬ 1: УПРАВЛЕНИЕ С ПЕРЕДАТЧИКА (Micro:bit A)
// ==========================================

// Требование ①: Управление кнопками (Кнопка А и Кнопка Б)
input.onButtonPressed(Button.A, function () {
    radio.sendString("BTN_A")
    basic.showString("A")
})

input.onButtonPressed(Button.B, function () {
    radio.sendString("BTN_B")
    basic.showString("B")
})

// Требование ②: Управление логотипом (сенсорная кнопка / "пятачок")
input.onLogoEvent(TouchButtonEvent.Pressed, function () {
    radio.sendString("LOGO_TOUCH")
    basic.showIcon(IconNames.Heart)
})

// Требование ③: Управление с помощью акселерометра (встряхивание или наклон)
input.onGesture(Gesture.Shake, function () {
    radio.sendString("SHAKE")
    basic.showIcon(IconNames.Skull)
})


// ==========================================
// ЧАСТЬ 2: ПРИЕМ И ДЕЙСТВИЯ (Micro:bit B)
// ==========================================

radio.onReceivedString(function (receivedString) {
    if (receivedString == "BTN_A") {
        // Реакция на кнопку А: вывод текста и звука
        basic.showString("Hello!")
        music.playTone(Note.C5, music.beat(BeatFraction.Quarter))
    } else if (receivedString == "BTN_B") {
        // Реакция на кнопку Б: вывод текста и звука
        basic.showString("Go!")
        music.playTone(Note.E5, music.beat(BeatFraction.Quarter))
    } else if (receivedString == "LOGO_TOUCH") {
        // Реакция на касание логотипа: вывод текста и звука
        basic.showString("Touch!")
        music.playTone(Note.G5, music.beat(BeatFraction.Quarter))
    } else if (receivedString == "SHAKE") {
        // Реакция на встряхивание (акселерометр): вывод текста и звука
        basic.showString("Alert!")
        music.playTone(Note.B4, music.beat(BeatFraction.Half))
    }
})