• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

Как настроить датчик движения Arduino

 

 

Эту простую схему можно расширить, чтобы делать довольно интересные вещи, например, включать свет, динамик и многое другое.

В этом конкретном уроке мы будем использовать как светодиод, так и пьезо-зуммер, чтобы предупреждать нас, когда движение было обнаружено через датчик движения PIR.

Вы можете адаптировать и изменить этот проект, чтобы сценарий Python выполнял другие действия при обнаружении движения. Например, включить камеру, чтобы сделать снимок, и многое другое.

 

Сборка схемы Arduino датчика движения PIR

Наша схема, как и большинство проектов, которые мы построили на сегодняшний день, проста. Вам не потребуется огромное количество деталей, чтобы это заработало.

Датчик PIR , вероятно, самая сложная часть , которую мы имеем в нашей цепи. На датчике PIR вы можете настроить чувствительность и время обнаружения движения. Это устройство имеет 3 провода, идущие от него.

 

 

Красный провод предназначен для положительного источника питания (5 В).

Черный провод предназначен для заземления.

Наконец, наш желтый провод является выходом и становится высоким при обнаружении движения.

Вы обнаружите, что пьезозуммер - это супер простой динамик. Он имеет провод заземления и положительный провод. Мы подключим положительный провод к контакту на Arduino. Всякий раз, когда пин поднимается на высокий уровень, динамик издает звук.

Остальная часть нашего оборудования для этого датчика движения цепи очень просты и указан выше.

Ниже представлена ​​принципиальная схема PIR-датчика движения Arduino, а под ней я пошагово рассказываю, как собрать это устройство.

 

 

1. Сначала протяните провод от вывода 5V к плюсовой шине на макетной плате.

2. Теперь протяните провод от контакта заземления к шине заземления на макетной плате.

3. Для датчика PIR выполните следующие действия:

Подведите черный провод к шине заземления.

Подведите красный провод к шине 5 В.

Поместите резистор на 100 Ом на макетную плату.

Подведите желтый провод к одному концу резистора, а затем другой провод от другого конца резистора к контакту 2.

4. Теперь для пьезо-зуммера сделайте следующее:

Подключите красный провод к контакту 3 на Arduino.

Теперь черный провод к шине заземления на макете.

5. Теперь для красного светодиода сделайте следующее:

Подключите резистор 100 Ом от шины заземления к месту на макетной плате.

Подключите отрицательный конец светодиода к резистору, а другой положительный конец - к другому месту на макетной плате.

Проложите провод от контакта 4 к положительному контакту красного светодиода.

Прежде чем мы продолжим, вы можете дважды проверить свои соединения, чтобы убедиться, что все они выполнены правильно. На приведенную выше принципиальную схему, вероятно, лучше всего сослаться.

Код датчика движения Arduino

Опять же, как и в большинстве наших проектов для начинающих, код датчика движения Arduino будет очень простым. Это замечательно, если вы только начинаете и хотите больше узнать о языке кодирования Arduino.

Если вы просто хотите загрузить код датчика движения PIR, вы можете найти его  на нашем GitHub . После загрузки просто откройте приложение Arduino и загрузите его в Arduino, когда схема будет завершена.

В этом первом блоке кода мы устанавливаем четыре разные переменные. Первые 3 устанавливают номера контактов для переменной. Это сделано для того, чтобы мы могли легко ссылаться на эту булавку в коде и распознать ее.

Четвертая переменная (motionDetected) - это то место, где мы храним состояние нашего датчика PIR. Низкий означает, что движения не обнаружено, а высокий означает, что оно было обнаружено. В начале нашего скрипта мы сохраним эту переменную на низком уровне .

int ledPin = 4;                // Pin LED is connected to

int piezoBuzzerPin = 3;     // Pin Piezo Buzzer is connected to

int pirSensorPin = 2;               // PIN PIR Sensor is connected to

 

int motionDetected = LOW;             // Start MotionDetected as low (No motion detected)

В следующем блоке кода мы настраиваем все наши контакты и все остальное, что нам может понадобиться для инициализации.

И для пьезозуммера, и для светодиода мы устанавливаем их в качестве выходов, так как мы хотим их включать и выключать.

Теперь, что касается датчика PIR, мы хотим прослушивать его, когда обнаруживается движение, поэтому мы настроим его на вход.

Затем мы устанавливаем Serial.begin (9600) , чтобы при необходимости мы могли отлаживать наш код. 9600 является скорость передачи данных, изменить это , если у вас есть различные настройки на вашем компьютере. Serial.println("hello")позволит вам выводить сообщения отладки на консоль.

Наконец, у нас есть задержка на 5 секунд, чтобы позволить датчику PIR инициализироваться. Вы можете повозиться с этим значением, чтобы получить самую короткую задержку, чтобы датчик не выдавал ложных срабатываний.

void setup() {

  pinMode(ledPin, OUTPUT);      // declare LED as output

  pinMode(pirSensorPin, INPUT);     // declare the PIR sensor as input

  pinMode(piezoBuzzerPin, OUTPUT); //declare buzzer as output

  Serial.begin(9600); //Set serial out if we want debugging

  delay(5000); //Allow time for the PIR Sensor to calibrate

}

Теперь у нас есть ядро ​​нашей программы. Функция цикла будет продолжать выполняться до тех пор, пока питание не будет отключено от Arduino или пока не будет загружена новая программа.

Во-первых, мы проверяем, высокий ли датчик PIR. Если он высокий, мы вводим оператор if, в противном случае мы отключаем светодиод и пьезозуммер.

Если датчик высокий, мы включаем светодиод и устанавливаем зуммер на определенную высоту, используя аналоговый выход. Затем мы ждем 100 мс, затем выключаем светодиод и меняем высоту звука пьезозуммера. Мы повторяем это, пока датчик PIR не вернется к низкому уровню (движение не обнаружено).

void loop(){

  motionDetected = digitalRead(pirSensorPin);  // Read the PIR sensor

  if(motionDetected == HIGH) //If motion detected

  {           

    digitalWrite(ledPin, HIGH);

    analogWrite(piezoBuzzerPin, 200);

    delay(100);

    analogWrite(ledPin, LOW);

    analogWrite(piezoBuzzerPin, 25);

    delay(100);

  }

  digitalWrite(ledPin, LOW);

  digitalWrite(piezoBuzzerPin,LOW);

}

Когда у вас есть код в программе Arduino, просто загрузите его в Arduino, и ваша схема должна ожить. Если это не так, перепроверьте все свои соединения и убедитесь, что правильные провода подключены к правильным контактам на Arduino.

 




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024