Задачи / примеры

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

Парни, тут такое дело. Пригласили меня хорошие друзья по дружбе (то бишь, за «спасибо») что-нибудь почитать в небольшом частном учебном заведении. Так и сказали – почитай один семестр что хочешь, на свой выбор. Я вообще-то, давненько не преподавал, но здесь отказать не мог. Ввязался. Тем более, они прикрепили ко мне очень толкового парнишку - магистранта, который будет вести практические занятия, моё дело только читать.

Выбрал собственный авторский курс о проектировании автоматов на основе некоторого гибрида питерского курса «Автоматное программирования» профессора А.А. Шалыто (вот здесь подробнее) и старой доброй идеи таблиц решений по Хамби.

Возник вопрос на какой баз делать практические задания. На мой вопрос «из какой суммы исходить при заказе материалов», ректор как-то немного скуксился, но нашёл в себе мужество сказать: «Ты пока купи, не особо шикуя, а мы постараемся найти возможность возместить». В общем, исхожу из того, что вполне вероятно возможности не найдут, и мне ещё и спонсором этого курса придётся быть. Благо, группа совсем небольшая. Заказал по вот такому набору на каждого студента. Почему именно такой набор? Ну, что-то же в нём есть – что-то делать можно, и при этом не три-пять тысяч, как большие наборы.

Теперь, собственно, зачем я всё это пишу. Я, конечно, понимаю, что у каждого свои дела, но если вдруг у кого-то появится время и желание ознакомиться с заказанным набором и предложить одну (или более) идею либо лабораторной работы, либо лекционной демонстрации, я буду чрезвычайно благодарен. Сам-то я, разумеется, тоже буду думать, и парня – ассистента своего напрягу, но … «больше идей хороших и разных!».

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

ЕвгенийП пишет:

Заказал по вот такому набору на каждого студента. Почему именно такой набор? Ну, что-то же в нём есть – что-то делать можно, и при этом не три-пять тысяч, как большие наборы.

расписдят по карманам мелочёвку - ищи платы с запаянным намертво и только отдельными проводами для соединения... хотя и их расписдят, поэтому проводов заказывай много.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

Клапауций 234 пишет:

расписдят по карманам мелочёвку - ищи платы с запаянным намертво и только отдельными проводами для соединения... хотя и их расписдят, поэтому проводов заказывай много.

Не смогут, т.к. им эти набры будут просто подарены!

При этом будут такие слова: на этом добре будете делать лабораторные и домашние задания. Если у кого чего сгорит и/или потеряется, докупите сами. Или не докупите, дело Ваше, но сдавать задания надо.

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

ЕвгенийП пишет:

Не смогут, т.к. им эти набры будут просто подарены!

ты сцуко коварный.

Logik
Offline
Зарегистрирован: 05.08.2014

А зачем в этом курсе по теории програмирования ардуино или вобще "железо". Они пол семестра будут именно железо изучать, а не предмет. Теорию програмирования на хороше известной изучающему базе надо читать. Чтоб вопросы синтаксиса, заливки кода, сборки схем не отвлекали от сути. В идеале это простой известный интерпретируемый язык без заморочек, например JS, комп.класс проектор и возможность оперативно вывести на него экран любого компа. И интерактивненько так, препод пишет - все видят, поясняет, студенты пишут - переключаем на ошибшегося, все видят ошибки исправляем и т.д. 

arduinec
Offline
Зарегистрирован: 01.09.2015

Руководство по освоению Arduino:
http://robot-kit.ru/manual/Arduino_Sketch_Robot-kit.ru.pdf

К набору неплохо бы добавить по одному сдвиговому регистру 595.

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

arduinec пишет:

К набору неплохо бы добавить по одному сдвиговому регистру 595.

Да там до хрена чего можно добавить, но бюджет исчерпан :(

arduinec
Offline
Зарегистрирован: 01.09.2015

ЕвгенийП пишет:

arduinec пишет:

К набору неплохо бы добавить по одному сдвиговому регистру 595.

Да там до хрена чего можно добавить, но бюджет исчерпан :(

Сдвиговые регистры 595 стоят копейки (http://ru.aliexpress.com/item/10PCS-SN74HC595N-74HC595N-74HC595-DIP-16/3...), а управлять 7-сегментным индикатором (и другим индикатором в комплекте) с помощью них удобнее.

Впрочем, как говорится: "хозяин - барин". Сам же просил совет.

arduino328
Offline
Зарегистрирован: 01.09.2016

А когда ЕвгенийП опубликует давно обещанный третий этюд про память?

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

arduino328 пишет:

А когда ЕвгенийП опубликует давно обещанный третий этюд про память?

никогда - я запретил.

arduino328
Offline
Зарегистрирован: 01.09.2016

Про BrainFuck нужно студентам рассказать:
http://arduino.ru/forum/programmirovanie/razrabotka-sketchei-na-yazyke-b...

arduino328
Offline
Зарегистрирован: 01.09.2016

Так как ЕвгенийП обратился за советом к форумчанам, то теперь он просто обязан сначала публиковать свои лекции здесь. А то вдруг какую-нибудь секретную информацию разболтает. Или неосторожными высказываниями разрушит внутренний мир студентов. Только после одобрения старожилов форума, он сможет заливать информацию в мозг слушателей. :)

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

arduinec пишет:

Сам же просил совет.

Так я ж просил совет "что делать с этим набором", а не что ещё докупить. Понимаете, никакой уверенности, что мне это кто-то оплатит нет, а покпать надо на каждого студента - нет, бюджет исчерпан :(

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

arduino328 пишет:

А то вдруг какую-нибудь секретную информацию разболтает. 

особенно про искусственный интеллект из соседней ветки :)

Кстати, про ИИ, по молодости как-то троллил Г.С. Осипова (от тогда ещё не был президентом Российской ассоциации искусственного интеллекта, но Г.С. Осиповым уже вполне был). Троллинг был типа:

- Геннадий Семёнович, а чё это тебя так на искусственный интеллект понесло, ощущается недостаток естественного?

- Да, как тебе сказать, Женя, в общем, да, есть серьёзное беспокойство насчёт недостатка естественного у некоторых коллег.

Так, что, блин, "тролль на тьролля нарвался".

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

ЕвгенийП пишет:

Так я ж просил совет "что делать с этим набором", а не что ещё докупить.

это же очевидно - Разработка скетчей на языке BrainFuck

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Евгений, доброго дня!

Я могу предложить некий список задач, с классификацией по сложности способу исполнения.

Сложность от начальных до отчетных и способ исполнения: индивидуальные парные и групповые.

Вступление.

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

Но нет - так нет.

(самостоятельные задания - так и подписаны, остальные - в классе, под контролем преподавателя)

I. начальные индивидуальные.

1. блинк;

2. функции сенсоров. Примеры работы с сенсорами из библиотек (тут еще капазитив-сенсор самодельный добавить можно, но лучше - позже);

3. самостоятельная работа с сенсорами - зажигание диода на срабатывание4;

5. блинк, останавливаемый и запускаемый в любой момент времени, по кнопке;

6. то же, но для самостоятельной работы: по студентам, использовать для пуска/останова - сенсоры, каждому - свой;

7. блинк с изменяющейся по времени частотой/скважностью;

8. то же, но изменение по кнопке;

9. самостоятельно - то же, но вместо кнопки тот или  иной датчик.

---------------------------------------

II. самостоятельные усложненные. (жаль, что баззер, а не динамик, можно было бы мелодии играть через tone())

1. два блинка одновременно с разной частотой/скважностью, разными цветами;

2. блинк и баззер, одновременно.

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

3. самостоятельно - каждому свое задание - сигнализация на несколько контуров, каждый контур реагирует своим способом - блинком разных цветов и/или  баззером. Для датчиков с аналоговым выходом возможна зависимость способа реакции на уровень воздействия (у каждого студента должна быть одна такая цепь - от тилта, температуры или освещенности).

======================

III. парные задачи.

лекция о протоколах обмена.

Протокол - как типичная задача автоматного программирования.

1. соединяем две платы по софт-сериал и просто передаем в обе стороны символы с отображением на мониторе.

2. Самостоятельно - потенциометр у одного студента, блинк с изменяемой частотой/скважностью у другого.

3.Лекция про таймеры и прерывания. Измерение интервала времени через прерывания.

4. самостоятельно парное задание - один пишет генератор - другой частотомер и наоборот.

5. самостоятельно попарно - игра: один мигает в любом ритме двумя диодами или диодом и баззером, а другой должен нажать соответствующую кнопку вовремя, Кнопок две (одна в наборе, на задача парная) - под левую и правую руку.

6. самостоятельно попарно отчетное задание: у одного аналоговый датчик датчик (тилт, температура, освещенность или просто потенциометр) - другой должен запросить/принять данные и отобразить их (чередующимися цифрами) на сегментном дисплее.

-------------------

IV. Групповая задача, она же финал обучения

а. принципы многоточечных соединений, разрешение коллизий, избежание коллизий, распределение времени и т.д.

б. основные принципы групповой разработки. Структура команды разработчиков;

Постановка дипломной задачи: распределенная сигнализация, с дублированием и самодиагностикой.

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

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

Задания разделяются, как в настоящей группе:

 - протокол обмена;

 - протокол диагностики;

 - протокол дублирования (если есть в ТЗ);

 - система настройки параметров;

 - система связи с ПК;

 - контроллер датчиков;

 - контроллер оповещения.

-----------

ясно, что можно объединять/разделять и менять задания, по  желанию преподавателя.

=======================================

Я сам - не любитель сигнализаций, и, если бы Евгений выбрал набор с моторчиками, то написал бы практику для роботов (хотя тоже не особый любитель), мне по душе автоматика, но тут, в наборе, тоже не хватает исполнительных механизмов (моторы, клапаны, концевики). Но можно написать группу задач и для автоматики, если будет другой набор.

arduino328
Offline
Зарегистрирован: 01.09.2016

ЕвгенийП пишет:

бюджет исчерпан :(

Нужно было брать наборы подешевле (https://ru.aliexpress.com/item/new-Starter-Kit-for-UNO-R3-mini-Breadboar...) + Ардуина Нано (https://ru.aliexpress.com/item/Nano-CH340-ATmega328P-MicroUSB-Compatible...).

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

arduino328 пишет:

Нужно было брать наборы подешевле

:)))

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

ЕвгенийП пишет:

arduino328 пишет:

Нужно было брать наборы подешевле

:)))

нужно пивом торговать, неудачники.

arduino328
Offline
Зарегистрирован: 01.09.2016

Клапауций 234 пишет:

нужно пивом торговать

Для торговли пивом можешь взять себе в помощники Искусственный Интеллект из другой темы :)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

arduino328 пишет:

Клапауций 234 пишет:

нужно пивом торговать

Для торговли пивом можешь взять себе в помощники Искусственный Интеллект из другой темы :)

Тогда торговать не получится - он все пиво выпьет. Если, конечно, Интеллект.