Цепь светодиода с двойной кнопкой: 5 шагов
Цепь светодиода с двойной кнопкой: 5 шагов

Видео: Цепь светодиода с двойной кнопкой: 5 шагов

Видео: Цепь светодиода с двойной кнопкой: 5 шагов
Видео: Уроки Arduino #7 - подключение светодиода 2025, Январь
Anonim
Цепь светодиода с двойной кнопкой
Цепь светодиода с двойной кнопкой

Я собираюсь изо всех сил стараться казаться старым в программировании и работе с 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 бод - это просто стандартная скорость]