DRAKON.SU

Текущее время: Воскресенье, 18 Ноябрь, 2018 03:26

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 11 Декабрь, 2017 14:09 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 26
Откуда: Астрахань
Настоящая тема предназначена для обсуждения способов скрещивания драконовских схем со средой программирования Arduino IDE. Начну её с рассказа о наших экспериментах с обучением детей младшего школьного возраста основам программирования микроконтроллеров.

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

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

В итоге, мы пришли к следующим функциям генератора:
- конвертация русских букв в латинские; (это позволило задавать имена переменных и названия функций на понятном детям языке)
- генерация стандартных имен и названий; (типы переменных, главные функции loop и setup мы тоже переименовывали автоматически)
- создание файла со стандартным расширением ino;
- создание корректного заголовка программы;

Параллельно пришлось несколько поправить логику работы основной программы редактора, разрешив обработку отдельных блоков, например ПАУЗА.

Процесс написания программы сводился к следующему: рисовалась общая диаграмма работы программы, с последующими уточнениями, затем создавались примитивы с низкоуровневыми командами для исполнения на языке Wiring. В дальнейшем эти блоки служили строительным материалом для наполнения более сложных примитивов и силуэтов. В процессе отладки диаграмм разработчик просто регулярно использует пункт меню "Генерировать код", и открывает результат с помощью Arduino IDE. После код загружается в микроконтроллер.

Основной положительный момент такой технологии в постепенном наращивании сложности программы, когда начав с описания алгоритма мы приходили к работающей программе.
Прилагаю изображения проекта плоттера, который собирал школьник. Обратите внимание на блок "Рисовать", который ссылается на соответствующий примитив в списке. Механизм работы с такими блоками аналогичен работе с функциями: вызывать на исполнение можно иконой ВСТАВКА или ВЫВОД, принимать результат иконой ВВОД или ПОЛКА. Типы переменных мы использовали сначала в русском сокращении, но постепенно работа дрейфовала к устоявшимся вариантам.

Если тема интересна, то могу привести пример программирования, например, можно написать программу BLINK.

Список примитивов, использованных в проекте

Вложение:
Комментарий к файлу: Список примитивов, использованных в проекте
image (1).png
image (1).png [ 37.08 КБ | Просмотров: 818 ]
Вложение:
Комментарий к файлу: Список примитивов, использованных в проекте
image (1).png
image (1).png [ 37.08 КБ | Просмотров: 818 ]


Вложения:
Комментарий к файлу: Блок "Линия", использующий два параметра
image.png
image.png [ 39.96 КБ | Просмотров: 818 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Декабрь, 2017 14:25 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 26
Откуда: Астрахань
На данный момент подобным образом работаем редко, т.к. моей квалификации как программиста явно не достаточно для качественной переработки кода редактора. Автор, к сожалению, не проявил интереса к развитию программы по нашим предложениям, поэтому, если найдутся желающие довести технологию до презентабельного вида, то буду всячески содействовать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Декабрь, 2017 15:26 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 3806
Откуда: Москва
Дмитрий Бардынин писал(а):
Автор, к сожалению, не проявил интереса к развитию программы по нашим предложениям

Дмитрий, просьба пояснить, в чем заключаются ваши предложения по развитию программы Степана Митькина.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 11 Декабрь, 2017 15:46 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 26
Откуда: Астрахань
Пару лет назад мы довольно обстоятельно обсудили тему, я выслал ему файлы со своими правками. Описал технологию. У меня существует список 2DO, чтобы довести до беспроблемной работы с технологией неподготовленного пользователя. В последнем письме от 30/11/2015 я предложил ему дополнить программу опцией перетаскивания блоков ВСТАВКА прямо из контекстного меню или из списка примитивов. К сожалению, больше на связь Степан не выходил, и я предположил, что он человек занятой, и ему пока не до того. Если он подключится к проекту, то я очень даже ЗА!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 24 Август, 2018 13:53 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 26
Откуда: Астрахань
Проект неспешно развивается. Из дополнительных опций появилась возможность автоматически запускать Arduino IDE после генерации кода.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Ноябрь, 2018 15:48 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 26
Откуда: Астрахань
Завершили со школьниками очередной образовательный недельный марафон. Силами учеников с самыми базовыми компетенциями построили достаточно умный звуковой сенсор.

Длительность проекта: примерно 20 часов, работали перемежаясь с общеразвивающими занятиями.
Проект развивался двумя группами в общем составе 12 человек, условно: "программистами" и "инженерами".

"Инженеры" проектировали физический стенд в программе 3D-проектирования SolidWorks, изготовили детали на различных станках, смонтировали электронную плату,
произвели сборку и наладку. Стенд представляет собой негерметичную емкость с подключенным источником сжатого воздуха.
При повышении давления подаваемого воздуха емкость издает характерный звук: "свист". Руководил работой Олег Вартанов, заведующий мастерской прототипирования.

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

Все программы были написаны с применением алгоритмического языка "Дракон", в программных средах Arduino IDE и Processing IDE.

Следует отметить, что изменения в программах вносились исключительно в редакторе "Дракон". Как пояснили мне сами дети: "так понятнее".


Опыта программирования Arduino, Processing, до наших занятий, у них не было. Теоретически знали, что такое: цикл, процедура, типы данных, ветвления.
Знакомились в школе с ЯП PASCAL.

Основой для создания программ послужили заготовки типовых схем, подготовленные мною в редакторе языка "Дракон" Степана Митькина.

В ходе занятий "программистами" рассмотрены вопросы анализа звука на базе библиотек преобразований Фурье и Хартли.
Изучен механизм определения и обработки массивов, в т.ч. отсева максимумов значений и т.п.

Рассмотрен механизм построения нейронных сетей (перцептрона), реализован программный искусственный нейрон.
Создана программа для вывода результатов контроля.

В результате реализации проекта создан прибор, регистрирующий изменение звукового фона в окружающем пространстве,
и сообщающий о ситуации в информационном приложении для ОС "Windows'10".

Кратко в новостях: https://sochisirius.ru/news/2267


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 04 Ноябрь, 2018 19:52 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 3806
Откуда: Москва
Дмитрий Бардынин писал(а):
Кратко в новостях: https://sochisirius.ru/news/2267

Дмитрий, я не понял, куда смотреть.
Там про какого-то Фило Амброзини, а не про вас.

Пожалуйста, дайте точную наводку.
А еще лучше, дайте точную цитату и выложите фото


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 05 Ноябрь, 2018 20:05 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 26
Откуда: Астрахань
Немного подробностей:
Образовательный центр «Сириус» в городе Сочи создан Образовательным Фондом «Талант и успех» на базе олимпийской инфраструктуры по инициативе Президента Российской Федерации В.В. Путина. Фонд учрежден 24 декабря 2014 г. выдающимися российскими деятелями науки, спорта и искусства. https://sochisirius.ru/o-siriuse/obschaja-informatsija

В Центре круглогодично отдыхают и учатся сотни одаренных детей со всей России, а также обычные ребята из Сочи. В мастерских и лабораториях Центра они занимаются как по основному образовательному профилю, так и по прочим направлениям, в частности, в нашей мастерской по направлению: "Цифровое производство". В каникулы в стенах Центра занимаются также дети отдыхающих.

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

Поскольку в рамках образовательного процесса мне потребовался понятный инструмент обучения детей навыкам алгоритмизации, я стал использовать "Дракон" Степана Митькина, как хорошо подходящий. С ним я могу показать примеры реализации одного алгоритма на разных языках, запрограммировать довольно развитые программы на Arduino, или Processing. Также прекрасно получается формировать задачи/загадки/головоломки, силами того же редактора "Дракон". Ребята с удовольствием их решают.

К слову сказать, Дракон не забыт и в Астрахани. Там его используют на занятиях мои бывшие коллеги в Региональном Школьном Технопарке, с которыми мы активно общаемся.
https://vk.com/schooltech

На фото: преподаватель Образовательного центра «Сириус» в городе Сочи Дмитрий Бардынин проводит занятия
Вложение:
сибур-программисты.jpg
сибур-программисты.jpg [ 237.46 КБ | Просмотров: 150 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 08 Ноябрь, 2018 12:18 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 3806
Откуда: Москва
https://sochisirius.ru/news/2267
Цитата:
«Я в составе своей команды работала над звуковым анализатором, который распознает тончайшие колебательные движения и в дальнейшем сможет самообучаться благодаря нейронной сети. Иными словами, писала программу, которая распознает звук, анализирует его и направляет данные на компьютер», – рассказала Лидия Смирнова (17 лет, Краснодар).

При написании комплекта программ для датчика и обслуживающей его информационной системы школьники использовали визуальный алгоритмический язык программирования и моделирования «Дракон» – по сути, язык технических символов, который был разработан учеными в рамках знаменитой космической программы «Буран-Энергия».

«Молодые программисты настроили анализ звуков с помощью библиотек преобразований Фурье и Хартли, изучили механизмы определения и обработки массивов, в том числе отсева максимумов значений; познакомились с механизмом построения нейронных сетей и смогли самостоятельно реализовать программный искусственный нейрон.

Также ребята выступили дизайнерами программы для вывода результатов контроля», – отметил специалист мастерской «Прототипирование» Дмитрий Бардынин.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 08 Ноябрь, 2018 12:24 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 3806
Откуда: Москва
Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 11 Ноябрь, 2018 14:04 

Зарегистрирован: Пятница, 08 Декабрь, 2017 18:24
Сообщения: 26
Откуда: Астрахань
В Сириусе проходят не только тематические смены, но и просто научные, культурные, спортивные смены, на которых ребята параллельно могут знакомиться, например с современными технологиями цифрового производства (в нашей мастерской).
В рамках подобных занятий необходимо порою создавать короткие программы для Arduino, не сильно перегружая детей новым лексиконом, но давая почувствовать мощь информационных технологий.

Подаю ребятам материал в виде схем Дракона, а это совсем другая ситуация, чем новичку разбираться в незнакомых командах. Дети понимают, как это работает, и даже вносят поправки в код, не вникая, как это выглядит на Си.

Вот пример простейшей программы "Blink". Рассказываю про виды икон, и про их наполнение. Ребятам нужно правильно составить алгоритм работы простого маячка. После проверки на правильность схему можно уже использовать. Редактор языка "Дракон" с генератором программ для Arduino позволяет загружать эту схему практически "в четыре клика". "Генерировать код (два клика)" - "Подтвердить открытие проекта" - "Загрузить в плату".


Вложения:
Снимок4.PNG
Снимок4.PNG [ 60.47 КБ | Просмотров: 63 ]
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2018, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB