проект радио "азбука Морзе"

проект радио "азбука Морзе"



Научитесь создавать программы, использующие блоки радиосвязи для отправки и получения данных между двумя микробитами.

При использовании радиоблоков симулятор микробит покажет два микробита

  • В симуляторе значок радиопередачи появится в верхнем правом углу микробит. Значок загорится, когда микробит передает данные.
  • В симуляторе весь код в рабочей области кодирования работает на обоих виртуальных микробитах. Вы должны указать, как отправлять данные, а также что делать, когда они получают данные.

Марко Поло

Отправляйте и получайте буквенные строки между микробитами. На нажатой кнопке A мы отправим строку Marco, а на нажатой кнопке B отправим строку Polo.

  • При обмене данными между микробитами важно, чтобы все задействованные микробиты использовали один и тот же идентификатор группы. Итак, первое, что мы сделаем, это установим идентификационный номер группы.
  • Из меню «Радио» перетащите блок «группа радиоприемников» в рабочую область кодирования и поместите блок в начальный блок.
  • В «блоке группы радиоприемников» оставьте значение по умолчанию 1 для идентификатора группы
  • Перетащите 2 блока «при нажатой кнопке» в рабочую область кодирования.
  • Оставьте одно со значением по умолчанию A и измените другую кнопку на B
  • Из панели инструментов Radio Tool перетащите 2 блока 'radio send string' в рабочую область кодирования
  • Поместите один блок «строка радиопередачи» в блок «нажата кнопка А», а другой блок «строка радиопередачи» в блок «нажата кнопка В»
  • В блоке «нажата кнопка А» измените значение пустой строки по умолчанию блока «строка радиопередачи» на строку «Marco»
  • В блоке «нажата кнопка В» измените значение пустой строки по умолчанию блока «строка радиопередачи» на строку «Polo»
  • Чтобы отобразить данные, передаваемые между микробит, перетащите блок «по радио, получено, получено» в рабочую область кодирования.
  • Из панели «Основные панели инструментов» перетащите блок «Показать строку» в блок «На радио получено полученная строка».
  • Из панели инструментов «Переменные» перетащите блок переменных «ReceiveString» в значение строки по умолчанию «Hello» в блоке «show string».

Модификации

  • Добавьте блок 'show leds' в блок 'on start'. Мы создали изображение инициалов Марко Поло.
  • Из ящика Music Toolbox перетащите 2 блока «play tone» в рабочую область кодирования. Смотрите, проект " Слушать музыку" для подключения наушников
  • Перетащите один из блоков «Звук воспроизведения» в блок «нажата кнопка А», а другой - в блок «Нажата кнопка В».
  • Измените значение по умолчанию в блоке «Звук воспроизведения», который находится внутри блока «Нажата кнопка А», на значение Низкий C.


ссылка на программу

https://makecode.microbit.org/_bVudA6dRsL2t

Азбука Морзе

Отправляйте и получайте числа между микробитами. В зависимости от нажатой кнопки отправьте различное числовое значение между микробитами. Получив номер, отобразите другое изображение, уникальное для отправленного номера. Одно число будет представлять точку, другое - тире, а другое - пробел или остановку.


  • Установите идентификационный номер группы.
  • Добавьте блок 'show string' в блок 'on start', чтобы идентифицировать программу.
  • Мы решили изменить значение строки по умолчанию «Hello» на значение «Азбука Морзе»
  • Перетащите 3 блока «при нажатой кнопке» в рабочую область кодирования.
  • Оставьте значение со значением по умолчанию A, измените значение во втором блоке на B и измените значение в третьем блоке на A + B.
  • Из ящика Radio Toolbox перетащите 3 блока «номер радиопередачи» в рабочую область кодирования.
  • Поместите один блок номера радиопередачи в каждый из блоков «нажата кнопка».
  • В блоке «нажата кнопка A» оставьте значение по умолчанию для блока «номер радиопередачи» равным 0.
  • В блоке «нажата кнопка В» измените значение номера по умолчанию блока «номер радиопередачи» на значение 1.
  • В блоке «нажата кнопка A + B» измените значение номера по умолчанию блока «номер радиопередачи» на значение 2.
  • Из ящика Radio Toolbox перетащите обработчик события «по радио принятый получатель» в рабочую область кодирования.
  • Поскольку мы будем отображать другое изображение в зависимости от полученного числового значения, нам нужен логический блок.
  • Из панели инструментов логики перетащите блок «if… then» в рабочую область кодирования и поместите его в обработчик событий «по радио принятый получатель».

Чтобы узнать, отображать ли изображение точки, тире или пробел / стоп, нам нужно сравнить полученное число со значениями 0, 1 и 2.

  • Из панели инструментов логики перетащите блок сравнения 0 = 0 в рабочую область кодирования.
  • Замените значение по умолчанию «true» блока «if… then» на блок сравнения.
  • Из панели инструментов «Переменные» перетащите блок переменных «ReceiveNumber» в рабочую область кодирования и поместите его в первый слот блока сравнения.
  • Оставьте значение по умолчанию справа от нуля в блоке 0 = 0.
  • Поместите блок 'show leds' в пробел после блока 'if… then'.
  • Создайте изображение для представления точки.


  • Скачайте свою программу на микробит
  • Нажмите кнопку A на отправляющем микробит
  • Приводит ли это к появлению точки на принимающем микробите?
  • Однако повторное нажатие кнопки A не приводит к отправке еще одной точки, поскольку изображение на принимающем микробите не изменяется.

Задача: как мы можем это исправить?

  • Добавьте блок 'pause' и блок 'clear screen' после блока 'show leds'

Попробуйте запустить программу еще раз. Теперь каждый раз, когда отправитель нажимает кнопку A, появляется точка.

  • Теперь вы можете щелкнуть правой кнопкой мыши блок «if… then» и выбрать «Дублировать», чтобы дважды скопировать этот фрагмент кода для двух других значений, которые может отправить отправитель.
  • Измените значения в правой части блока сравнения на 1 и 2.
  • Измените отображаемые изображения, чтобы показать тире и полный экран огней


Азбука Морзе

здесь ссылка на программу

https://makecode.microbit.org/_PAUDt6PkEhFo


  • Скачайте свою программу на микробит
  • Нажмите кнопки A, B и A + B вместе на микробит

Задача: можно ли сделать наш код более эффективным?

  • Всякий раз, когда вы просматриваете программу и видите, что одни и те же строки кода повторяются, обычно есть шанс улучшить код, сделав его более эффективным за счет уменьшения количества строк кода.
  • Какие строки повторяются в нашей программе? Если ... тогда, пауза, очистить экран
  • Можем ли мы отредактировать код так, чтобы он использовал только один блок if… then, один блок pause и один блок clear screen? Да!

Делаем наш код более эффективным

Вы можете редактировать блок «если… затем», добавляя столько условий «еще, если», сколько необходимо.  Сделать это можно, нажав на синий значок шестерни в левом верхнем углу блока «если… то».

И, наконец, в условном выражении, которое может принимать ряд различных значений, хорошей практикой кодирования является использование универсального предложения else. В нашем примере, если получено какое-либо числовое значение, отличное от тех, для которых мы кодировали (0,1 и 2), мы можем сообщить пользователю, что произошла ошибка, используя блок 'show icon' для отображения X.

Экран паузы и очистки Вместо того, чтобы повторять эти строки кода 3 раза, мы можем переместить блок «пауза» и блок «очистить экран» за пределы отредактированного блока «если… тогда… еще».

Теперь наша программа работает так, как мы ее разработали, и она более эффективна!

Окончательная программа по азбуке Морзе:

здесь ссылка на программу

https://makecode.microbit.org/_gueLY1T8aeWC


Report Page