Все для STEM!

Основы подключения светодиодов к Arduino

В этом руководстве вы узнаете, как подключить светодиоды к плате Arduino. Мы подробно опишем необходимые компоненты и материалы, а также предоставим понятные инструкции.
Blink - это базовая программа для Arduino, которая демонстрирует управление светодиодом. Алгоритм включает следующие шаги:
  1. Настройка пина светодиода в режим выхода.
  2. Включение светодиода (HIGH) на заданный промежуток времени.
  3. Выключение светодиода (LOW) на такой же промежуток времени.
  4. Повтор действий в цикле.

void setup() {
pinMode(13, OUTPUT); // Установка пина 13 в режим выхода
}
void loop() {
digitalWrite(13, HIGH); // Включить светодиод
delay(1000); // Задержка 1 секунда
digitalWrite(13, LOW); // Выключить светодиод
delay(1000); // Задержка 1 секунда
}

const int ledPin = 13; // Пин, к которому подключён светодиод
const int delayTime = 500; // Задержка в миллисекундах
void setup() {
pinMode(ledPin, OUTPUT); // Настройка пина
}
void loop() {
digitalWrite(ledPin, HIGH); // Включить
delay(delayTime);
digitalWrite(ledPin, LOW); // Выключить
delay(delayTime);
}

const int ledPin = 13; // Пин светодиода
unsigned long previousMillis = 0; // Сохранение времени
const long interval = 1000; // Интервал мигания
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; // Обновление времени
digitalWrite(ledPin, !digitalRead(ledPin)); // Переключение состояния
}
}

void setup() {
DDRB |= (1 << DDB5); // Установить пин 13 (PB5) как выход
}
void loop() {
PORTB |= (1 << PORTB5); // Включить светодиод (установить бит 5 в порту B)
delay(1000); // Задержка 1 секунда
PORTB &= ~(1 << PORTB5); // Выключить светодиод (сбросить бит 5 в порту B)
delay(1000); // Задержка 1 секунда
}
Пример кода 1: Классический Blink
Пример кода 2: Blink с использованием переменных
Пример кода 3: Blink с использованием millis()
Пример кода 4: Blink с использованием прямого управления регистрами
Объяснение:
  1. DDRB (Data Direction Register B): Определяет направление пинов (вход или выход).
  • DDB5 — бит, связанный с пином 13 (PB5 на Arduino Uno).
  • DDRB |= (1 << DDB5) — устанавливает 5-й бит в DDRB, делая пин 13 выходом.
  1. PORTB (Port B Data Register): Управляет состоянием пинов.
  • PORTB |= (1 << PORTB5) — устанавливает 5-й бит в PORTB, включая пин 13.
  • PORTB &= ~(1 << PORTB5) — сбрасывает 5-й бит в PORTB, выключая пин 13.
Краткое объяснение различий:
  1. Классический Blink: Простой код для начинающих, использует delay.
  2. Blink с переменными: Более гибкий, позволяет легко менять настройки.
  3. Blink с millis(): Подходит для проектов, где нужно избегать блокирующих задержек (delay).
Все для STEM
Бишкек, Кыргызская Республика
Phone: +996 995 603 503
Email: knowhowbishkek@gmail.com