Презентация - "Робототехника на Arduino - "Занятие 5. Полицейская Люстра""
- Презентации / Другие презентации
- 0
- 24.12.24
Просмотреть и скачать презентацию на тему "Робототехника на Arduino - "Занятие 5. Полицейская Люстра""
Проверка готовности к занятиям
Тетрадь формата А4, 96 листов в клетку;
Две пишущие ручки (чёрные или синие);
Три заточенных простых карандаша (B, HB, H);
Цветные карандаши или фломастеры;
Две линейки (офицерскую и простую 20-30см.);
Канцелярский клей.
Правила безопасности
на уроках робототехники
1. Тишина – наш лучший друг.
2. Дружеская атмосфера – залог общего успеха.
3. На рабочем месте ничего лишнего.
4. Электроприборы включаются только по команде.
5. Все испытания санкционируются преподавателем.
6. Розетка не для пальцев!
Что мы проходили
на прошлых занятиях?
Что такое язык программирования?
Что такое void setup и void loop?
Для чего нужны функции
pinMode, digitalWrite, и delay?
Проверка домашнего задания
Каких роботов, встречающихся в нашей повседневной жизни, Вы можете назвать?
Расскажите о роботах, которых Вы хотели бы создавать в будущем, на пользу человечества.
Стробоскоп
- прибор, позволяющий быстро воспроизводить повторяющиеся яркие световые импульсы.
Практическая работа
Стробоскоп
Программирование:
// настраиваем пины №3 и №5 в режим выхода,
// т.е. в режим источника напряжения
pinMode(3, OUTPUT);
void setup()
{
}
pinMode(5, OUTPUT);
Практическая работа
Стробоскоп
Программирование:
// подаём на пин 3 «высокий сигнал» (англ. «high»), т.е.
// выдаём 5 вольт. Через светодиод побежит ток.
digitalWrite(3, HIGH);
void loop()
{
// Это заставит его светиться
// замираем в этом состоянии на 50 миллисекунд
delay(50);
Практическая работа
Стробоскоп
Программирование:
// подаём на пин 3 «низкий сигнал» (англ. «low»), т.е.
// выдаём 0 вольт или, точнее, приравниваем пин 3 к земле.
digitalWrite(3, LOW);
// В результате светодиод погаснет
// замираем в этом состоянии на 120 миллисекунд
delay(120);
Практическая работа
Стробоскоп
Программирование:
digitalWrite(3, HIGH);
delay(50);
digitalWrite(3, LOW);
delay(120);
Копируем четыре последние строки кода
(выделяем и нажимаем сочетание клавиш «Ctrl+C»)
Практическая работа
Стробоскоп
Программирование:
Вставляем скопированные строки кода в продолжение
(устанавливаем курсор на новую строку и нажимаем сочетание клавиш «Ctrl+V»)
digitalWrite(3, HIGH);
delay(90);
digitalWrite(3, LOW);
delay(240);
Меняем значение задержки для свечения на 90,
а для затухания - на 240.
Практическая работа
Стробоскоп
Программирование:
Ещё раз вставляем скопированные строки кода
digitalWrite(3, HIGH);
delay(150);
digitalWrite(3, LOW);
delay(50);
И в них меняем значение задержки для свечения на 150,
а для затухания - на 50.
Практическая работа
Стробоскоп
Программирование:
digitalWrite(3, HIGH);
Delay(50);
digitalWrite(3, LOW);
delay(120);
digitalWrite(3, HIGH);
Delay(90);
digitalWrite(3, LOW);
Delay(240);
digitalWrite(3, HIGH);
delay(150);
digitalWrite(3, LOW);
delay(50);
Эта часть кода отвечает за ритмичное зажигание синего светодиода подключённого к 3му пину.
Скопируем эти 12 строк и вставим далее, чтобы настроить такой же ритм зажигания для второго – красного светодиода.
Практическая работа
Стробоскоп
Программирование:
digitalWrite(5, HIGH);
Delay(50);
digitalWrite(5, LOW);
delay(120);
digitalWrite(5, HIGH);
Delay(90);
digitalWrite(5, LOW);
Delay(240);
digitalWrite(5, HIGH);
delay(150);
digitalWrite(5, LOW);
delay(50);
Красный светодиод подключён к 5му пину, по этому в вставленных строках, нужно поменять номер используемого пина.
Практическая работа
Стробоскоп
Программирование:
void setup()
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
}
void loop()
{
digitalWrite(3, HIGH);
Delay(50);
digitalWrite(3, LOW);
delay(120);
digitalWrite(3, HIGH);
Delay(90);
digitalWrite(3, LOW);
Delay(240);
digitalWrite(3, HIGH);
delay(150);
digitalWrite(3, LOW);
delay(50);
digitalWrite(5, HIGH);
Delay(50);
digitalWrite(5, LOW);
delay(120);
digitalWrite(5, HIGH);
Delay(90);
digitalWrite(5, LOW);
Delay(240);
digitalWrite(5, HIGH);
delay(150);
digitalWrite(5, LOW);
delay(50);
}
Не забудьте в конце кода закрыть void loop фигурной скобкой.
Практическая работа
Мигалка
Программирование:
void setup()
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
}
Практическая работа
Мигалка
Программирование:
void loop()
{
// подаём на пин 3 значение ШИМ (64), аналогичное
// четверти напряжения.
analogWrite(3, 64);
// замираем в этом состоянии на 200 миллисекунд
delay(200);
Практическая работа
Мигалка
Программирование:
// поднимаем значение ШИМ на третьем пине до 127,
// что соответствует половине напряжения.
analogWrite(3, 127);
// замираем в этом состоянии на 200 миллисекунд
delay(200);
Практическая работа
Мигалка
Программирование:
// поднимаем значение ШИМ на третьем пине до 191,
// что соответствует двум третям напряжения.
analogWrite(3, 191);
// замираем в этом состоянии на 200 миллисекунд
delay(200);
Практическая работа
Мигалка
Программирование:
// поднимаем значение ШИМ на третьем пине до 255,
// что соответствует полному напряжению.
analogWrite(3, 255);
// замираем в этом состоянии на 200 миллисекунд
delay(200);
Практическая работа
Мигалка
Программирование:
// выключаем светодиод на 3 пине.
analogWrite(3, 0);
// затем сразу включаем светодиод на 5 пине,
delay(200);
// начиная так же с четверти напряжения
analogWrite(5, 64);
// замираем в этом состоянии на 200 миллисекунд
Практическая работа
Мигалка
Программирование:
// поднимаем значение ШИМ на пятом пине до 127,
// что соответствует половине напряжения.
analogWrite(5, 127);
// замираем в этом состоянии на 200 миллисекунд
delay(200);
Практическая работа
Мигалка
Программирование:
// поднимаем значение ШИМ на пятом пине до 191,
// что соответствует двум третям напряжения.
analogWrite(5, 191);
// замираем в этом состоянии на 200 миллисекунд
delay(200);
Практическая работа
Мигалка
Программирование:
// поднимаем значение ШИМ на пятом пине до 255,
// что соответствует полному напряжению
analogWrite(5, 255);
// замираем в этом состоянии на 200 миллисекунд
delay(200);
// выключаем светодиод на пятом пине
analogWrite(5, 0);
Практическая работа
Мигалка
Программирование:
void setup()
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
}
void loop()
{
analogWrite(3, 64);
Delay(200);
analogWrite(3, 127);
Delay(200);
analogWrite(3, 191);
Delay(200);
analogWrite(3, 255);
Delay(200);
analogWrite(3, 0);
analogWrite(5, 64);
Delay(200);
analogWrite(5, 127);
Delay(200);
analogWrite(5, 191);
Delay(200);
analogWrite(5, 255);
Delay(200);
analogWrite(5, 0);
}
Не забудьте в конце кода закрыть void loop фигурной скобкой.
Что Вы сегодня узнали?
У спецсигнального маяка на полицейской машине могут быть два режима – Стробоскоп и Мигалка
Яркость лампы или светодиода, а также скорость вращения двигателя зависят от напряжения.
В микроконтроллерах вариация напряжения заменяется шитротно-импульсной модуляцией.
Чему Вы сегодня научились?
Использовать функцию analogWrite при программировании выходного сигнала
на пинах с широтно-импульсной модуляцией.
Домашнее задание
Понаблюдайте за светофором на Вашем пути.
Определите алгоритм зажигания сигналов
для пешеходов и для водителей.
Найдите взаимосвязь в этих сигналах.