Оглавление:
Видео: Цепь светодиода с двойной кнопкой: 5 шагов
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я собираюсь изо всех сил стараться казаться старым в программировании и работе с Arduinos, но, по правде говоря, на самом деле я познакомился с этими вещами только несколько дней назад, поэтому моя огромная радость от успешного создания и программирования моих собственный проект так скоро.
Этот проект на самом деле начался с решимости инженера, друга моих родителей, в течение которого я был стажером в течение нескольких дней. Я люблю вызовы, в том, что бросают вызов, есть что-то, что меня волнует и доставляет мне огромное чувство удовлетворения, когда я добиваюсь успеха, и я надеюсь, что вы тоже.
В этом руководстве, моем первом: D, я покажу вам, как подключить схему для того, что я назвал своим проектом Mark One, схемы, в которой две кнопки управляют яркостью светодиода (одна увеличивает яркость, а вторая уменьшит его), а также как его запрограммировать и спроецировать результаты на инструмент серийного монитора. Я покажу вам, что именно вам нужно, а также пошаговое руководство по его созданию. Мой проект включает в себя элементы урока как по нажатию кнопки, так и по затуханию на веб-сайте Instructables, и в нем много комментариев, как для моего, так и для вашего удобства. Если вы еще не знакомы с языком программирования, не торопитесь, оно того стоит.
Наслаждаться!
Шаг 1: материалы + инструменты:
Материалы:
1. Плата Arduino (я использовал Mega 2560)
2. Макет (не менее 60 рядов).
3. Один светодиод (любого цвета, я использовал красный)
4. Две стандартные кнопки
5. Пять синих проводов (для обозначения отрицательного тока)
6. Три красных провода (для обозначения положительного тока)
7. Один оранжевый, зеленый и желтый провод (провода управления ШИМ для различения трех основных компонентов)
8. Четыре белых провода (для подключения цепи)
9. Три резистора 10 кОм (коричневый, черный, оранжевый, золотой)
Инструменты:
1. Ноутбук
2. Приложение Arduino IDE (загружается из магазина Microsoft Play.
ИЛИ
2. Arduino создает онлайн-сайт (если вы так предпочитаете)
3. Шустрые руки
4. Google (мне очень помог сайт Instructables)
5. Много терпения; D
Шаг 2: Настройте аналоговую схему:
Разница между аналоговыми и цифровыми системами заключается в том, что аналоговые системы кодируют разные состояния, такие как разная яркость светодиода, в то время как цифровые кодируют только два состояния (ВКЛ или ВЫКЛ).
Эта схема является аналоговой, потому что целью было заставить свет изменять яркость, а не просто включаться или выключаться.
Для его настройки:
1. Возьмите один синий (отрицательный) провод и подключите его (на Arduino) к одному из портов GND (заземления) на портах питания и подключите его в любом месте макета в рядах рядом с синим отрицательным заземлением.
2. Возьмите один красный (положительный) провод и подключите его (на Arduino) к порту 5 В на портах питания и подключите его к ряду на макете рядом с красной положительной линией заземления. макет настроен и какие строки связаны и т. д. Instructables и веб-сайт Arduino содержат очень полезные уроки для этого]
3. На противоположном конце макета вы используете один синий и один красный провод для соединения линий заземления.
4. Затем с помощью четырех белых проводов подключите заземляющие ряды положительного и отрицательного полюсов к любой стороне 30-го ряда в середине (они должны перекрыть небольшой зазор).
Шаг 3: Настройте кнопки:
1. Теперь возьмите свои кнопки и соедините их так, чтобы они охватывали средний зазор на макетной плате в любой точке (мне нравится немного растягивать свои вещи, чтобы мне было легче что-то менять и исправлять.
2. Возьмите два красных провода и соедините правую ногу кнопок, обращенную к вам, с положительной линией заземления.
3. Возьмите два синих провода и соедините синюю отрицательную линию заземления с центральными рядами в нескольких рядах слева от левых ножек кнопок, оставив место для резисторов.
4. Теперь подключите резисторы 10 кОм (коричневый, черный, оранжевый, золотой) с одной ножкой в том же центральном ряду, что и отрицательный синий провод, и другой ножкой в том же ряду, что и левая ножка кнопки.
[Все это по-прежнему подключено к одной стороне перегородки в середине макета, за исключением кнопок, охватывающих перегородку, и белого, красного и синего проводов для аналоговой схемы)
5. Теперь возьмите желтый и зеленый провод и соедините левую ногу на противоположной стороне центральной перегородки с контактами 9 и 11 [NB: аналоговый работает только на контактах 3, 5, 6, 9, 10 и 11]. Эти провода предназначены для связи с Arduino.
Шаг 4: Настройте светодиод:
1. Возьмите светодиод (цвет по вашему выбору) и поместите его сбоку от перегородки, где находится большинство ваших подключений.
2. Возьмите один синий провод и соедините отрицательную синюю линию заземления с тем же рядом, что и короткая ножка (анод) светодиода. [Схема будет работать, только если отрицательная синяя линия подключена к правой ножке светодиода i.o.w. анод.
3. Возьмите еще один резистор 10 кОм и соедините ряд, к которому подключен катод (положительная длинная ножка светодиода), с соседним рядом на той же стороне от центрального разделения.
4. Теперь возьмите оранжевый провод и подключите резистор к контакту 3 на Arduino.
Теперь ваша схема завершена, все, что осталось, это все запрограммировать
Шаг 5: Программирование схемы:
Я немного новичок во всем этом, поэтому, пожалуйста, извините меня за то, что я просто копирую код, а не создаю видео …
Вот код схемы:
// Мой (Altus Lourens) первый собственный проект: // Создан с 29 по 30 июня 2018 г.
// NB для себя: AnalogWrite работает только на 3, 5, 6, 9, 10 и 11
// NB: аналоговый имеет отношение к разным состояниям, цифровой работает только для включения (HIGH) или выключения (LOW)
// светодиод будет выводиться
// кнопки будут входами
// pushButton1 будет увеличивать яркость на один fadeAmount при каждом нажатии
// pushButton2 будет уменьшать яркость на один fadeAmount при каждом нажатии
// константы не изменятся, устанавливаем номера выводов ШИМ
const int ledPin = 3; // номер вывода светодиода PWM
const int fadeAmount = 50; // изменение яркости при каждом нажатии кнопки
const int buttonPin1 = 11;
const int buttonPin2 = 9; // номер контакта кнопки
// переменная, которая изменится:
int яркость = 5; // начальная яркость светодиодов
int buttonState1 = 0; // указываем начало кнопки как LOW
int buttonState2 = 0; // указываем начало кнопки как LOW
void setup () {
// поместите сюда свой установочный код, чтобы запустить его один раз:
// инициализируем вывод светодиода как выход:
pinMode (ledPin, ВЫХОД);
// инициализируем кнопки как входы:
pinMode (buttonPin1, ВХОД);
pinMode (buttonPin2, ВХОД);
Serial.begin (9600); // скорость связи в цепи
}
// buttonPin1 увеличит яркость светодиода
// buttonPin2 уменьшит яркость светодиода
void loop () {
// поместите сюда свой основной код, чтобы запускать его повторно:
// устанавливаем яркость пина 9:
analogWrite (ledPin, яркость); // яркость = 5, светодиод горит
яркость = ограничение (яркость, 0, 255); // ограничиваем яркость от 0 до 255
// считываем состояние значения кнопки:
buttonState1 = digitalRead (buttonPin1);
buttonState2 = digitalRead (buttonPin2);
// проверяем, были ли нажаты кнопки:
// если это так -> buttonState = HIGH:
// кнопка 1:
if (buttonState1 == HIGH) {
яркость = яркость + fadeAmount; // увеличиваем яркость:
analogWrite (ledPin, яркость + fadeAmount);
}
else {// яркость остается на том же уровне, а светодиод по-прежнему не горит:
analogWrite (ledPin, яркость);
}
// кнопка 2:
if (buttonState2 == HIGH) {
яркость = яркость - fadeAmount; // уменьшаем яркость:
analogWrite (ledPin, яркость - fadeAmount);
}
еще {
// яркость остается на том же уровне, никаких изменений не происходит:
analogWrite (ledPin, яркость);
}
Serial.print («яркость»);
Serial.println (яркость); }
Теперь вы можете отрегулировать скорость связи и немного поэкспериментировать с ней, пока не найдете скорость, которая идеально подходит для инструмента последовательного мониторинга [9600 бод - это просто стандартная скорость]