Найти в Дзене
КУЗИНОБИТ

Еще немного светодиодов, и готовы к настоящим проектам на Arduino!

Привет, друзья! В прошлый раз мы заставили мигать светодиод, и это было здорово, но как говорится, "маловато будет!" Поэтому на этот раз давайте попробуем что-то более интересное! Я покопался в своей чудо-коробке и нашел RGB светодиод и ультразвуковой датчик HC-SR04. И вот из этого добра мы сделаем наш новый проект! Смысл проекта такой: с помощью ультразвукового датчика мы будем измерять расстояние до объекта (например, вашей руки 🖐️). А RGB светодиод будет менять цвет в зависимости от того, насколько близко или далеко находится объект! 🔵 Если датчик ничего не видит — светодиод светится синим. 🟢 Если рука на среднем расстоянии — светодиод становится зеленым. 🔴 А если совсем близко — светодиод становится красным. HC-SR04: VCC к 5V на Arduino. GND к GND. Trig к пину 9. Echo к пину 10. RGB светодиод: Общий контакт (катод) к GND. Красный вывод к пину 5 (через резистор 220 Ом). Зеленый вывод к пину 6 (через резистор 220 Ом). Синий вывод к пину 3 (через резистор 220 Ом). // Пины для
Оглавление

Привет, друзья!

В прошлый раз мы заставили мигать светодиод, и это было здорово, но как говорится, "маловато будет!" Поэтому на этот раз давайте попробуем что-то более интересное! Я покопался в своей чудо-коробке и нашел RGB светодиод и ультразвуковой датчик HC-SR04. И вот из этого добра мы сделаем наш новый проект!

Что будем делать?

Смысл проекта такой: с помощью ультразвукового датчика мы будем измерять расстояние до объекта (например, вашей руки 🖐️). А RGB светодиод будет менять цвет в зависимости от того, насколько близко или далеко находится объект!

🔵 Если датчик ничего не видит — светодиод светится синим.

🟢 Если рука на среднем расстоянии — светодиод становится зеленым.

🔴 А если совсем близко — светодиод становится красным.

Что понадобится:

  1. Arduino Uno (или другая плата Arduino)
  2. RGB светодиод Xinda (с общим катодом или анодом)
  3. HC-SR04 (ультразвуковой датчик)
  4. Резисторы (3шт.) (220 Ом для светодиода)
  5. Провода для подключения
  6. Макетная плата

Подключение.

HC-SR04:

VCC к 5V на Arduino.

GND к GND.

Trig к пину 9.

Echo к пину 10.

RGB светодиод:

Общий контакт (катод) к GND.

Красный вывод к пину 5 (через резистор 220 Ом).

Зеленый вывод к пину 6 (через резистор 220 Ом).

Синий вывод к пину 3 (через резистор 220 Ом).

-2

Код.

// Пины для HC-SR04
const int trigPin = 9;  // Пин для сигнала TRIG
const int echoPin = 10; // Пин для сигнала ECHO
// Пины для RGB светодиода
const int redPin = 5;
const int greenPin = 6;
const int bluePin = 3;
// Переменные для времени
long duration;
int distance;
void setup() {
// Настройка пинов для HC-SR04
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Настройка пинов для RGB светодиода
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
// Начало работы с последовательным монитором для отладки
Serial.begin(9600);
}
void loop() {
// Генерация ультразвукового импульса
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Чтение импульса с Echo
duration = pulseIn(echoPin, HIGH);
// Вычисление расстояния в см
distance = duration * 0.034 / 2;
// Отладочный вывод расстояния в монитор
Serial.println(distance);
// Логика выбора цвета в зависимости от расстояния
if (distance > 100) {
// Если датчик ничего не видит — синий цвет
setColor(255, 0, 0);  // Синий
}
else if (distance > 10 && distance <= 100) {
// Если рука на среднем расстоянии — зеленый цвет
setColor(0, 255, 0);  // Зеленый
}
else if (distance <= 10) {
// Если объект очень близко или закрыт — красный цвет
setColor(0, 0, 255);  // Красный
}
delay(200);  // Задержка перед следующим измерением
}
// Функция установки цвета на RGB светодиоде
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}

Запуск и тестирование.

Запускайте проект и тестируйте! Когда ваша рука будет приближаться или отдаляться от датчика, цвет светодиода будет изменяться. Магия технологии в действии!

Домашнее задание.

  1. Измените диапазоны: Попробуйте изменить значения расстояний, при которых меняется цвет светодиода. Например, сделайте его зеленым при большем расстоянии или красным при более коротком. Это поможет вам понять, как работать с измерением расстояний.
  2. Добавьте новый цвет: Если у вас есть возможность добавить еще один цвет (например, фиолетовый для ближнего расстояния), попробуйте это сделать!

Заключение.

Вот и все! Теперь ваш проект стал интерактивным, и RGB светодиод реагирует на расстояние до объектов. 🟢🔵🔴 Это веселый и полезный способ научиться работать с датчиками и светодиодами. Уверен, что у вас получилось! Если есть идеи, как улучшить этот проект, не стесняйтесь экспериментировать и пишите комментарии что придумали вы 😁