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

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

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

Урок 14: Казино

План:

1. Случайные числа

2. Моделирование игр

3. Стратегия беспроигрышной игры в рулетку

 

 


 

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

дизайн

 

1. Случайные числа

В любом исправном компьютере результат исполнения любой программы всегда предопределен. Если не изменяются исходные данные, то результаты любых вычислений будут одинаковыми, сколько бы раз их не повторяли. Но иногда надо получить случайное число. Для этого в языке Arduino есть специальная функция random(). При каждом обращении она возвращает очередное число из очень длинного ряда чисел. Но это всегда будет один и тот же ряд чисел. При каждом новом запуске программы функция random() будет начинать чтение чисел из одного и того же места в ряду.
Функция randomSeed() задает то место, откуда будет начато чтение чисел из ряда.
Чтобы при каждом новом запуске программы начинать чтение со случайного места в ряду надо посылать функции randomSeed() какое-то действительно случайное число. Например, можно использовать значение на аналоговом входе, к которому ничего не подключено:

randomSeed(analogRead(0));

 

У функции random() есть три варианта вызова:

1) Без аргументов: random(). Функция возвращает случайное значение из диапазона [0, 1) (любое число от нуля до единицы, но без самой единицы).

2) С одним аргументом: random(max). Возвращает случайное значение из диапазона [0, max).

3) С двумя аргументами: random(min, max). Возвращает случайное значение из диапазона [min, max).

Например, следующая команда вернет случайное целое число от 0 до 36:

int r = random(37);

 

 

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

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

Урок 13: Игра «Машинки»

План:

1. LCD дисплей

2. Библиотека LiquidCrystal_I2C.h

3. Генерация псевдослучайных чисел

 

 


 

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

дизайн

 

1. LCD дисплей

У человека основной вид восприятия информации - это зрение. С момента зарождения вычислительной техники непрерывно изобретались различные способы визуализации информации, которая находится в ЭВМ. Наибольшее распространение получили экраны LCD. Название LCD расшифровывается как liquid crystal display что значит в переводе жидкокристаллический дисплей. Этот тип дисплеев применяется повсеместно:
Мобильные телефоны
Часы
Телевизоры
Калькуляторы
Приборы
Такой тип дисплеев стал возможным благодаря свойству жидких кристаллов, под воздействием напряжения, упорядочивать свою структуру. Эти кристаллы помещают между двумя стеклами, на которых предварительно нанесен слой прозрачного проводящего покрытия. Когда свет проходит через включенную стеклянную ячейку он меняет поляризацию. Невооруженным взглядом это увидеть невозможно, т.к. глаза не отличают поляризацию света. Чтобы можно было это увидеть, сделали специальные поляризующие пленки, через которые проходит свет только одной поляризации. Таких пленок нужно две: одна находится под стеклом, другая над ним. Когда подают напряжение на элемент, визуально он становится темным. Если к такому элементу прикладывать постоянное напряжение, то он начнет быстро разрушатся из-за явления электролиза, поэтому сигнал прикладывают только переменный, специальной формы.

Структура дисплея

Структура дисплея

 

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

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

Урок 12: Инфракрасный дальномер

План:

1. Принцип действия ИК дальномера

 


 

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

дизайн

 

1. Принцип действия ИК дальномера

 

Инфракрасный дальномер Sharp

Инфракрасный дальномер Sharp

 

У ИК дальномера есть источник и приемник инфракрасного света.

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

 

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

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

Урок 11: Сканер окружности «Sonar»

План:

1. Дальномер

2. Работа с циклами

3. Библиотека Servo

4. Библиотека NewPing

5. Работа с COM-портом

 

 


 

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

дизайн

 

1. Дальномер

Дальномер – это устройство, с помощью которого измеряют расстояние до препятствия. Существуют инфракрасные, ультразвуковые, лазерные дальномеры. Далее рассмотрим ультразвуковой дальномер HC-SR04. Его внешний вид изображен на рисунке.

Дальномер

Дальномер

 

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

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

Урок 10: Назад в будущее!

План:

1. Переменные

2. Функции

3. Основы алгоритмизации

4. Шаговый двигатель

5. Библиотека для работы с шаговым двигателем

 

 


 

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

дизайн

 

1. Переменные

Как и в Skretch, переменные в С++ представляют собой некоторые области памяти, которые имеют имя и могут принимать различные значения. В Skretch все переменные создаются одинаково, не учитывая какие данные будут храниться в этой переменной: целое значение, дробное значение, true/false, текст. В С++ при создании переменной так же указывается и тип данных, которые будут храниться в этой переменной. В общем виде объявление переменной выглядит следующим образом:

тип_данных имя_переменной;

Основные типы данных перечислены ниже:
int – целые значения
bool - false/true
double - вещественные числа (с дробной частью после запятой, например 3.14)
char - символьный тип.


Таким образом, объявление (создание) целочисленной переменной с именем a будет выглядеть так: int a;
Задать (присвоить) значение можно при объявлении: int a = 10;
Или в любом месте программы после объявления: а = 10;

 

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

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

Урок 9: Электронное пианино

План:

1. Переход с S4A на С++

2. Внешний вид программы IDE Arduino

3. Основные функции

4. Управление пьезоизлучателем

 

 


 

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

дизайн

 

1. Переход с S4A на С++

Программировать Arduino можно не только в визуальной среде S4A, но и написанием кода на языке программирования Processing/Wiring. Этот язык программирования основан на языке. С++, с добавлением некоторых функций, которые облегчают работу с Arduino.
Программирование на языке С++ позволяет использовать больше возможностей Arduino. Например, любой порт можно настроить как вход и как выход, а количество используемых портов ограничивается только их наличием на плате.

 

 

2. Внешний вид программы IDE Arduino

 

Для программирования плат Arduino существует специальная интегрированная среда разработки IDE Arduino. Рассмотрим внешний вид программы.

Arduino

IDE Arduino

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

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

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

 

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

дизайн

 

  1. Расскажите, какие виды портов и их режимы работы Вы знаете?
  2. Какие Вы знаете датчики, имеющие на выходе аналоговое значение?
  3. Перечислите блоки, которыми Вы пользовались для работы с портами.
  4. Опишите принцип работы сервопривода.

 


 

 

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

дизайн

 

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

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

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

Урок 8: Игра «Кроты» на 5 объектах

 


 

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

дизайн

 1. На данном занятии завершаем игру «Кроты», начатую на прошлом занятии.

Смысл игры «Кроты» заключается в том, что через случайный промежуток времени (от 0.5с до 1с) зажигается случайный светодиод и горит секунду. За это время нужно успеть нажать находящуюся под ним кнопку. Когда кнопка была нажата, светодиод гаснет и загорается зеленый светодиод, который сигнализирует о попадании. Установка состоит из пяти кнопок, которые управляют пятью светодиодами и одного зеленого сигнального светодиода. Расположение элементов изображено на рисунке.

Практика

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

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

Урок 7: Создание игры «Кроты»

 


 

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

дизайн

 

Смысл игры «Кроты» заключается в том, что через случайный промежуток времени (от 0.5с до 1с) зажигается случайный светодиод и горит секунду. За это время нужно успеть нажать находящуюся под ним кнопку. Когда кнопка была нажата, светодиод гаснет и загорается зеленый светодиод, который сигнализирует о попадании. Установка состоит из пяти кнопок, которые управляют пятью светодиодами и одного зеленого сигнального светодиода. Расположение элементов изображено на рисунке.

Практика

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

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

Урок 6: Система охраны периметра «Барьер»

План:

1. Инфракрасная связь.

 

 


 

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

дизайн

 

1. Инфракрасная связь

На данный момент очень широко используется удаленное управление устройствами с помощью инфракрасного излучения. Таким образом, управляются кондиционеры, телевизоры, музыкальные центры и другая техника. Человеческий глаз не может видеть ИК излучение, т.к. оно находится выше видимого спектра, т.е. имеет слишком большую длину волны более 700нм (человек видит цвета в диапазоне от 400нм до 700нм). Но ИК излучение можно сделать видимым, например, с помощью обыкновенной фотокамеры. Если навести камеру на ИК пульт и нажать на нем кнопку, то на камере можно увидеть светодиодные мерцания.
Для организации простейшей ИК связи необходимы ИК приемник и излучатель. Приемник имеет три вывода, слева направо: цифровой выход, земля, питание +5В.

Инфракрасный датчик

Рис. 6.1 - Инфракрасный датчик

 

 

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