Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом проекте мы создадим красный, белый и синий светодиодный дисплей с потенциометром и кнопкой. Звучит просто, но для этого мы будем использовать прерывания. Таким образом, когда кнопка нажата, значение потенциометра будет устанавливать яркость светодиодов. Необходимые материалы включают:
-Arduino Uno R3
макетная плата
-проводы между мужчинами и женщинами
-три светодиода (красный, белый, синий)
-потенциометр
-нажать кнопку
-220 Ом резистор
Шаг 1: питание и заземление
Сначала подключите заземление и питание 5 В к макетной плате.
Шаг 2: Подключение светодиодов
Поместите все три светодиода на макетную плату. Подключите катод к земле для каждого. Подключите резистор 220 Ом к аноду, а затем подключите его к Arduino, контакты 9-11.
Шаг 3: нажмите кнопку
Что касается кнопки, убедитесь, что вы подключили ее точно, как показано на рисунке. Питание к питанию, резистор 220 Ом к земле, а затем противоположный конец к контакту 3. Это будет использоваться в качестве прерывания.
Шаг 4: потенциометр
Так же, как кнопка, подключите потенциометр, как показано на рисунке. Это будет служить для регулировки яркости.
Шаг 5: возможные ошибки
Убедитесь, что контакты подключены, как показано на рисунке и изображении, и что они совпадают. Также убедитесь, что анод и катод подключены соответствующим образом.
Шаг 6: Код
константный байт ledBlue = 11; // устанавливает синий светодиод на выводе 11const byte ledRed = 10; // устанавливает красный светодиод на выводе 10
const byte ledWhite = 9; // устанавливает белый светодиод на вывод 9
const byte interruptPin = 3; // кнопка как прерывание
const byte potPin = 1; // потенциометр - вывод A1
volatile int яркий; // Яркость светодиода
void setup () {
pinMode (ledBlue, ВЫХОД); // синий светодиод как ВЫХОД
pinMode (ledRed, ВЫХОД); // красный светодиод как ВЫХОД
pinMode (ledWhite, ВЫХОД); // белый светодиод как ВЫХОД
pinMode (interruptPin, INPUT_PULLUP); // вывод кнопки как INPUT_PULLUP
pinMode (potPin, ВХОД); // вывод потенциометра как ВХОД
// устанавливает прерывание с входным контактом и яркостью на RISING
attachInterrupt (digitalPinToInterrupt (interruptPin), свет, RISING);
} // завершаем настройку
void loop () {
analogWrite (ledBlue, яркий); // Устанавливает синий светодиод на заданный уровень яркости
analogWrite (ledRed, яркий); // Устанавливает красный светодиод на заданный уровень яркости
analogWrite (ledWhite, яркий); // Устанавливает белый светодиод на заданный уровень яркости
} // конец цикла
void light () {
яркий = analogRead (potPin); // Считывает значение с потенциометра
яркий = карта (яркий, 0, 1023, 0, 255); // Отображает значения яркости светодиода
} // заканчиваем ярче