В этом уроке мы покажем вам как можно сделать датчик движения с помощью ультразвукового датчика (HC-SR04), который будет включать каждый раз светодиод. Комплектующие к данному уроку можно заказать в любом удобном магазине, а со временем и у нас на сайте. Урок подойдет начинающим, но будет интересен и более опытным инженерам.
Шаг 1: Необходимые детали
Ниже весь список комплектующих, которые нам пригодятся для нашего урока.
- 1 x Плата Arduino (мы использовали Arduino Uno)
- 1 x Светодиод (LED, цвет не имеет значения)
- 1 x Резистор/сопротивление 220 Ом
- 1 x Макетная плата
- 1 x USB-кабель Arduino
- 1 x Батарейка 9 В с зажимом (опционально)
- 6 x Проводов
Шаг 2: Позиционирование деталей
Сначала подключите ультразвуковой датчик и светодиод на макетной плате. Подключите короткий кабель светодиода (катод) к контакту GND (земля) датчика. Затем установите резистор в том же ряду, что и более длинный провод светодиода (анод), чтобы они были соединены.
Шаг 3: Подключение частей
Теперь вам нужно подключить несколько проводов на задней панели датчика. Есть четыре контакта - VCC, TRIG, ECHO и GND. После вставки проводов вам необходимо выполнить следующие подключения:
Конец резистора на цифровой вывод по вашему выбору, просто не забудьте изменить его позже в коде.
- Датчик -> Arduino
- VCC -> 5V (питание)
- TRIG -> 5*
- ECHO -> 4*
- GND -> GND (земля)
* - может быть подключен к любым двум цифровым выводам Arduino, просто убедитесь, что вы изменили их в коде позже.
Шаг 4: Загрузка кода
Теперь вы можете подключить Arduino к компьютеру с помощью USB-кабеля. Откройте программное обеспечение Arduino и загрузите код, который вы можете найти ниже. Константы прокомментированы, поэтому вы точно знаете, что они делают и, возможно, поменяете их.
const int ledPin = 6; // Цифровой выход светодиода const int trigPin = 5; // Цифровой выход для подключения TRIG const int echoPin = 4; // Цифровой выход для подключения ECHO const int ledOnTime = 1000; // Время, в течение которого светодиод остается включенным, после обнаружения движения (в миллисекундах, 1000 мс = 1 с) const int trigDistance = 20; // Расстояние (и меньшее значение) при котором срабатывает датчик (в сантиметрах) int duration; int distance; void setup() { pinMode(ledPin, OUTPUT); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { digitalWrite(trigPin, LOW); digitalWrite(trigPin, HIGH); delay(1); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; if (distance <= trigDistance) { digitalWrite(ledPin, HIGH); delay(ledOnTime); digitalWrite(ledPin, LOW); } delay(100); }
Шаг 5: Конечный результат (видео)
Итоговый результат датчика движения и его работы можно посмотреть на видео ниже.
Всем хороших проектов!
8 декабря 2019 в 14:07
а где батарея? как она выглядит?
3 мая 2020 в 02:15
Батарейка по желанию. Ардуино работает и от USB.