Схемотехника с Arduino (индивидуальная самостоятельная работа)
Этап 1. "Autodesk Circuits - собираем устройства онлайн":
- регистрация на сервисе, изучение его интерфейса;
- изучение информации по ссылке.
Этап 2. Мини-проект "Радуга"
- изучение информации по ссылке;
- собрать схему с RGB-светодиодом и запрограммировать переключение семи цветов радуги в его работе;
добавить на схему еще один RGB-светодиод и запрограммировать работу всех светодиодов таким образом, чтобы они работали одновременно, но смена цветов шла с разницей в два цвета.

Cсылка на проект
Этап 3. Мини-проект "НЕ Умный светильник"
- изучение информации по ссылке;
- собрать схему "НЕ Умный светильник" по предложенной инструкции в теоретическом материале; изменить код программы таким образом, чтобы при ярком свете светодиод горел ровно, при среднем освещении - мигал, в темноте - не горел.

Ссылка на проект
Этап 4. "Разработка мини-проекта для учеников"
- изучение информации по ссылке;
- придумать мини-проект для учащихся и оформить его по следующей схеме:
Теоретический материал
Скринкаст по сборке первоначальной схемы
Подготовка задания практического характера (добавление новых элементов на схему и программирование их работы или доработка программы).
Схема "Кнопочный переключатель"
Работа данной схемы заключается в том, что светодиод, при нажатии кнопки, будет добавлять яркость, убавлять яркость выключаться и так по кругу.
Готовая схема выглядит следующим образом:

При помощи следующего видео вы сможете cамостоятельно разобраться и составить такую схему.
Для работы нашей схемы потребуется следующий скетч:
#define BUTTON_PIN 3
#define LED_PIN 13
boolean buttonWasUp = true; // была ли кнопка отпущена?
boolean ledEnabled = false; // включен ли свет?
void setup()
{
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop()
{
// определить момент «клика» несколько сложнее, чем факт того,
// что кнопка сейчас просто нажата. Для определения клика мы
// сначала понимаем, отпущена ли кнопка прямо сейчас...
boolean buttonIsUp = digitalRead(BUTTON_PIN);
// ...если «кнопка была отпущена и (&&) не отпущена сейчас»...
if (buttonWasUp && !buttonIsUp) {
// ...может это «клик», а может и ложный сигнал (дребезг),
// возникающий в момент замыкания/размыкания пластин кнопки,
// поэтому даём кнопке полностью «успокоиться»...
delay(10);
// ...и считываем сигнал снова
buttonIsUp = digitalRead(BUTTON_PIN);
if (!buttonIsUp) { // если она всё ещё нажата...
// ...это клик! Переворачиваем сигнал светодиода
ledEnabled = !ledEnabled;
digitalWrite(LED_PIN, ledEnabled);
}
}
// запоминаем последнее состояние кнопки для новой итерации
buttonWasUp = buttonIsUp;
}
Задание для самостоятельной работы:
Попробуйте добавить еще одну кнопку в схему так, чтобы одна кнопка включала диод, а вторая
выключала. Подумайте, какие для этого потребуются элементы и что изменить в коде.
Комментарии
Отправить комментарий