Обучающие лекции по Arduino

Иванов Константин Игоревич

Уроки по Arduino: Итоговое занятие №4

Итоговое занятие №4

 

Теоретическая часть

дизайн

  1. Для каких целей может применяться платформа Arduino?
  2. Опишите известные Вам методы шифрования.
  3. Перечислите достоинства и недостатки знакомых Вам сред для работы с данными, которые могут работать с Arduino.
  4. Перечислите известные Вам тулбоксы в среде Scilab. Для чего они предназначены?

 


 

 

Практическая часть

дизайн

 

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

Иванов Константин Игоревич

Уроки по Arduino: Урок 32

Урок 32: Домашняя метеостанция с управлением освещенностью

План:

1. Фильтрация аналогового сигнала.

 

 


 

Теоретическая часть

дизайн

 

1. Фильтрация аналогового сигнала.

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

 

 Принятый аналоговый сигнал

Принятый аналоговый сигнал

 

Иванов Константин Игоревич

Уроки по Arduino: Урок 31

Урок 31: Домашняя метеостанция


 


 

Практическая часть

дизайн

 1. Реализовать систему мониторинга за температурой, влажностью и освещенностью. Внешний вид итоговой системы изображен на рисунке.

Практика

Иванов Константин Игоревич

Уроки по Arduino: Урок 30

Урок 30: Визуальный монитор порта

План:

1. Настройка среды Scilab

2. Serial Communication Toolbox

3. GUI Builder

 

 


 

Теоретическая часть

дизайн

 

1. Настройка среды Scilab

Программный пакет Scilab предоставляет большие возможности в области сбора, обработки и анализа данных.
Для работы мы будем пользоваться модулями для приема-передачи данных через последовательный интерфейс (Serial Communication Toolbox) и построения графического интерфейса пользователя (GUI Builder). Для того, чтобы установить эти модули, необходимо из основного окна программы Scilab, выполнить команду Меню Приложения – Менеджер модулей ATOMS (Applications – Module manager ATOMS). В открывшемся окне найти вышеназванные модули, установить их, нажав кнопку Установить (Install) и перезапустить Scilab.

 

 

2. Serial Communication Toolbox

Модуль содержит следующие функции:
openserial(p, smode, translation, handshake, xchar, blocking, timeout) – открытие последовательного порта.
Имеет параметры:
p – имя порта или номер, если имя имеет вид, совпадающий с указанными в таблице ниже.

 

Р Windows Linux
1 COM1 ttyS0
2 COM2 ttyS1
... ... ...

 

smode – скорость передачи в бодах. Устанавливаем 9600.
Следующие параметры оставляем настроенными по умолчанию (n, 8, 1);
h – дескриптор файла порта (переменная, ассоциируемая с определенным последовательным портом).
Пример использования.
h = openserial(1, "9600, n, 8, 1")
closeserial(h) – закрытие связи по последовательному интерфейсу.
readserial(h) – читает из буфера порта. Возвращает строковое значение.
writeserial(h, ”send_data”) – отправляет строку на порт.

 

 

Иванов Константин Игоревич

Уроки по Arduino: Урок 29

Урок 29: Мониторинг уровня освещенности

План:

1. CuteCom

2. Работа с файлами в JMCAD

 

 


 

Теоретическая часть

дизайн

 

1. CuteCom

Вы уже работали Монитором порта - встроенным в IDE Arduino средством работы с последовательным портом.
Программа CuteCom для Linux дистрибутивов (аналог Hyperterminal для Windows) так же предназначена для работы с портом, но обладает более удобным интерфейсом, и большим количеством функциональных возможностей.

 

Окно программы CuteCom

Окно программы CuteCom

 

Одной из полезных функций является возможность записывать принятые через последовательный порт данные в файл. Для записи принимаемых данных в файл поставьте галочку напротив выпадающего списка Log to (перезапись файла) или Append to (дозапись в файл) и укажите путь к файлу.

 

 

Иванов Константин Игоревич

Уроки по Arduino: Урок 28

Урок 28: Введение в работу с информацией

План:

1. Назначение работы с информацией

2. Обзор средств сбора и визуализации данных.

 

 


 

Теоретическая часть

дизайн

 

1. Назначение работы с информацией

Работа с данными включает в себя сбор, визуализацию, обработку данных и их анализ.
Множество современных областей науки и техники имеют дело с большими объемами данных, которые нуждаются в систематизации и анализе. К таким областям относятся:

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

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

 

 

Иванов Константин Игоревич

Уроки по Arduino: Урок 27

Урок 27: Шифр Виженера

План:

1. Тайна переписки

2. Код Виженера

3. Раскодирование кода Виженера

4. Взлом кода Виженера

 

 


 

Теоретическая часть

дизайн

 

1. Тайна переписки

И опять встает вопрос о тайне переписки. Как мы видели в предыдущей главе, код Цезаря слишком прост. Для латинского алфавита, в котором 26 букв, код Цезаря имеет всего 25 уникальных ключей. Все эти ключи можно перепробовать и тогда шифр будет взломан. Надо как-то немного усложнить шифрование (и тем самым очень сильно усложнить работу возможных взломщиков).
Ключ в шифре Цезаря это число. Для латинского алфавита (в котором 26 букв) это число от 1 до 25. Вместо самого числа-ключа можно тайно передавать адресату букву, которая имеет в алфавите порядковый номер, совпадающий со значением ключа. Так вместо ключа «1» можно передать ключ «A». Вместо «2» - «B». Вместо «3» - «C». И т.д. А можно ли вместо одной единственной буквы-ключа использовать и передавать целое слово? Всевозможных слов огромное количество. Для взломщика подобрать одну букву легко. А вот подобрать неизвестное слово – задача огромной сложности.

 

 

Иванов Константин Игоревич

Уроки по Arduino: Урок 26

Урок 26: Шифр Цезаря

План:

1. Тайна переписки

2. Шифр цезаря

3. Расшифровка шифра Цезаря

4. Взлом шифра Цезаря

 

 


 

Теоретическая часть

дизайн

 

1. Тайна переписки

Представьте, что вы командуете большой армией. Вы находитесь в штабе и планируете большое наступление. Ваши войска растянуты по всей линии фронта. Вам надо разослать приказы командирам всех ваших подразделений. Какие есть варианты? Всем позвонить. А если враг прослушивает телефоны? Отправить к каждому посыльного с письмом? А если враг перехватит посыльного и прочтет письмо? Одного единственного перехваченного сообщения будет достаточно врагу, чтобы раскрыть ваши планы. Как же сохранить тайну переписки? Это проблема.

 

 

Иванов Константин Игоревич

Уроки по Arduino: Урок 25

Урок 25: Азбука Морзе

План:

1. Краткая история передачи сигналов

2. Азбука Морзе

 

 


 

Теоретическая часть

дизайн

 

1. Краткая история передачи сигналов

С древних времен существовала проблема быстрой передачи сигналов и сообщений на большие расстояния. Сначала использовали гонцов. Гонцы бежали или ехали верхом, чтобы лично передать сообщение. А до появления письменности гонцам еще приходилось запоминать сообщение, чтобы передать его слово в слово, без искажений. Использовали и более быстрый способ передачи – цепочку из сигнальных костров. Но таким способом можно было передать только один единственный сигнал, и только при хорошей погоде. Но как быстро передавать сигналы между военными кораблями флотилии? Для победы надо действовать слажено. Можно кричать с одного корабля на другой, но будет мешать шум волн. Можно послать посыльного в шлюпке. Но у шлюпки низкая скорость. В таких условиях обычно поднимали сигнальные флаги. Их можно рассмотреть издали в подзорную трубу. А как передать срочное сообщение в сумерках или ночью?
Хорошим решением стала азбука Морзе.

 

 

Иванов Константин Игоревич

Уроки по Arduino: Урок 24

Урок 24: Сейф с двойной защитой

 


 

Практическая часть

дизайн

 1. Создать защитную систему сейфа с двойной защитой: введение пароля с помощью матричной клавиатуры и доступ к введению пароля с помощью RFID метки.

Шаг 1. Собрать схему, состоящую из матричной клавиатуры, RFID метки и сервопривода. Физически, в состоянии «закрыто», сервопривод своим коромыслом прижимает крышку «сейфа», а в состоянии «открыто» перестает ее фиксировать, и крышку становится возможным открыть руками.

 

Страницы:
1
2 3 4