ScratchDuino и ArduBlock. Используем цифровые порты, добавляем "фары" - сигнализаторы. scar169 / 15.05.2015 Продолжим) В прошлый раз мы открывали новые горизонты использования робоплатформы ScratchDuino в образовательном процессе за счет использования плагина ArduBlock. В результате получили возможность переводить модульные конструкции программирования (наподобие Scratch) в полноценный код и скетчи Arduino, попутно сделав нашего робота автономным. Это открыло целый пласт возможностей использования робоплатформы в обучающем процессе, особенно на переходном этапе от визуально-модульного "детского" программирования к настоящему коду. Сегодня расскажу о следующем шаге, вновь значительно расширяющем диапазон применимости робоплатформы российских разработчиков в школе. Предпосылки идеи: 1. Робоплатформа выполняет предложенные ей программы, но неспособна сообщать о каких-либо событиях. А хотелось бы.2. У нас на борту Arduino Uno, а мы не можем ставить классические задачи для Arduino - помигать светодиодом, например... Непорядок!Идея: разработчики ScratchDuino предусмотрительно положили в комплекты несколько "пустышек" - заготовок для создания новых датчиков самостоятельно. Так нельзя ли на основе этих пустышек создать светодиодные "фары"-индикаторы, которыми потом управлять, подавая сигналы на соответствующие порты? Вот только с портами.... Аналоговые, на которые подают сигнал входящие в комплект датчики, - не годятся.И тут огромную помощь оказали разработчики (хорошая вещь социальная сеть и рабочие группы по проекту))) в лице Андрея Смирнова, подсказавшего, что есть еще незадействованные цифровые порты, в каждом гнезде датчиков это 4 контакта, на котором у датчиков нет магнита!Ну, и ссылку на схему робоплатформы подкинули - можно посмотреть. Ужас, правда?))) Давно я схемотехникой не занимался. Кстати, приложу-ка я файл схемы, вдруг кому пытливому пригодится. sch.pdf ( 46.91 килобайт ) Кол-во скачиваний: 362Исходя из полученной информации, получилась такая реализация проекта:1. Делаем светодиодную фару-индикатор.1.1 Покупаем дополнительные компоненты в ближайшем магазине близкой направленности. В моем варианте это оказался светодиод красный, российский на 1,8 В и (поскольку напряжение у нас на клеммах будет 5В) резистор на 680 Ом. Вместе - 46 рублей.1.2 Разбираем идущую в комплекте "пустышку".1.3 Берем в руки паяльник и припаиваем ПОСЛЕДОВАТЕЛЬНО светодиод и резистор к следующим клеммам: к земле (клемма, расположенная у срезанного угла пустышки) и к клемме цифрового порта - клемма по диагонали от земли, как еще один ориентир - там снизу ножки-магнита нет. Прошу извинить за качество первой пайки (в распоряжении на тот момент оказался только огромный паяльник ужасающего вида))) Но все работает, последующие пайки оказались удачнее. Тут же сделал еще одну фару.1.4 Собираем обратно бывшую пустышку, а ныне - фару-индикатор.1.5 Теперь можно переставить магнитную ногу с более невостребованного места на нужное.Было:Стало:Хорошо, ножка магнитная, просто отдираем и переставляем на новое место.Фара-индикатор готова.2. Разбираемся, где какие порты.На самом деле, это, конечно, интересное занятие - разбираться по схеме, потом проверять... Но уж больно времени много тратится) Поэтому для последователей нарисовал схему разъемов (вид сверху) с указанием номеров цифровых портов (которые указываем, программируя в Arduino) под буквами D. Отметил также землю и подписал заодно, где какие по нумерации аналоговые порты были.3. ПрограммируемПрограммировать будем в ArduBlock и Arduino. К сожалению, в Scratch эту возможность реализовать ... в общем пока не знаю как, разве что саму программу еще немного переделать.И вот теперь попробую показать, из-за чего весь сыр-бор и что полезного можно извлечь из робоплатформы.Напомню - одно из генеральных направлений - обеспечить плавный переход с визуально-блокового программирования к коду.Что первым делают изучающие Arduino? Естественно, классический пример Blink. А кто мешает нам сделать нечто подобное с использованием робоплатформы?Ставим фару-индикатор на гнездо, например, D13 и в ArduBlock создаем простую программу мигания светодиодом с задержкой. Командуем загрузить, робоплатформа начинает выполнять задачу, весело подмигивая фарой, а мы рассматриваем полученный в Arduino код.Обратите внимание, сколько возможностей появляется для учебных заданий на понимание структуры кода:- Что надо изменить, перенеся фару на порт .....- Что надо сделать, чтобы фара светила в два раза дольше, чем пауза между вспышками?и т.д. И при этом ученики работают с кодом, понимают, что это несложно и быстрее, чем с тягомотным ArduBlock. Появляются возможности и для более "творческих" заданий, например - создание скетча (в коде, копируя и изменяя существующие конструкции) для передачи сигнала SOS. Вроде простое задание, но учащиеся должны подобрать удачное соотношение между паузами и вспышками, продумать длинную паузу между сигналами SOS и т.д. А если учесть, что мы можем таким образом давать ряд заданий по темам "Кодирование информации", обсуждать, сколько различных сигналов можно закодировать с помощью одного светодиода, двух, трех ... Создавать таблицы кодировки различных сигналов и передавать их между командами учащихся...В общем - можно многое.А теперь добавим к этому возможность управления с помощью датчиков. Воспользуюсь ситуацией из своего прошлого поста, пусть у меня фара зажигается при выключении света в кабинете.Запускаем ArduBlock, смотрим, куда поставили датчик (нужно снять показания с этого аналогового порта) и куда фару (нужно подать сигнал на этот цифровой порт):ПожалуйстаИ опять же - море "учебных ситуаций". Пример: "Экспедиция на Марс" Вводная - экспедиция в опасности, надо подать сигнал SOS. Все, что есть в распоряжении - полурабочий робот, фары которого могут заметить только ночью. Задача - запрограммировать робота при понижении освещенности подавать сигнал бедствия. И т.д. и т.п. Естественно, тут же попробовал варианты с двумя фарами, классно)))Таким образом, робоплатформа получила дополнительные возможности, которые, надеюсь, будут активно использоваться в учебном процессе. В предыдущих выпусках:ScratchDuino и Scratch ScratchDuino. Робоплатформа на СПО. Установка ScratchDuino. Робоплатформа на СПО. Первый запуск ScratchDuino. Робоплатформа на СПО. Соединение по BluetoothScratchDuino. Робоплатформа на СПО. Датчик светаScratchDuino и ArduBlockScratchDuino - новые горизонты с ArduBlock ArduBlock Scratchduino датчики образование светодиод