Проход по ссылкам навигацииГлавная : Статьи :

Инфракрасный датчик движения (PIR сенсор)

Инфракрасный датчик движения (PIR сенсор)

Роботы Ниже представлена Транзистор D13007K даташит схема датчика движения с Бп на lm2576 использованием Arduino. Роботы В качестве датчика, Как прозвонить электрику ваз 2106 мы будем / electronic ballast model plg 602 w 600 использовать PIR-сенсор Роботы (Passive Infrared Транзистор D13007K даташит sensor), т.е. Бп на lm2576 пассивный ИК датчик. PIR-сенсоры Роботы основаны на методике измерения Как прозвонить электрику ваз 2106 инфракрасного излучения от Роботы обьектов.

Роботы


/ electronic ballast model plg 602 w 600 Итак, для создания ИК датчика Роботы движения Роботы нам понадобятся Транзистор D13007K даташит следующие компоненты:
- контроллер Бп на lm2576 Arduino;
- Роботы макетная плата;
- Как прозвонить электрику ваз 2106 1 светодиод;
/ electronic ballast model plg 602 w 600 - PIR Роботы сенсор фирмы Транзистор D13007K даташит Parallax;
- провода.

Бп на lm2576 Схема подключения датчика движения Роботы (PIR) к контроллеру Arduino Как прозвонить электрику ваз 2106 простейшая:



PIR-сенсор имеет 3 / electronic ballast model plg 602 w 600 вывода: плюс, минус и выход. Роботы К Роботы 7-му выводу Транзистор D13007K даташит Arduino подключаем выход PIR-сенсора. Бп на lm2576 Также, присоединим Роботы светодиод к выводу Как прозвонить электрику ваз 2106 8 Arduino / electronic ballast model plg 602 w 600 и GND.

Роботы Исходный код Транзистор D13007K даташит программы взят с Бп на lm2576 официального сайта arduino.cc:

Роботы


Роботы /*
 * //////////////////////////////////////////////////
 * Как прозвонить электрику ваз 2106 //making sense of Роботы the / electronic ballast model plg 602 w 600 Parallax PIR sensor's output
 * Роботы //////////////////////////////////////////////////
 Роботы *
 * Транзистор D13007K даташит Switches a LED according Бп на lm2576 to the Роботы state of the Как прозвонить электрику ваз 2106 sensors output / electronic ballast model plg 602 w 600 pin.
 * Роботы Determines the Транзистор D13007K даташит beginning and end Бп на lm2576 of continuous motion sequences.
 Роботы *
 * @author: Kristian Как прозвонить электрику ваз 2106 Gohlke / krigoo Роботы (_) / electronic ballast model plg 602 w 600 gmail (_) com / http://krx.Роботы at
 Роботы * @date:   Транзистор D13007K даташит 3. September 2006
 Бп на lm2576 *
 * kr1 Роботы (cleft) 2006
 * Как прозвонить электрику ваз 2106 released under / electronic ballast model plg 602 w 600 a creative Роботы commons "Attribution-NonCommercial-ShareAlike Транзистор D13007K даташит 2.0" license
 Бп на lm2576 * http://creativecommons.org/licenses/by-nc-sa/2.0/de/
 Роботы *
 *
 * The Как прозвонить электрику ваз 2106 Parallax PIR Sensor Роботы is / electronic ballast model plg 602 w 600 an easy to use digital Роботы infrared Роботы motion sensor Транзистор D13007K даташит module.
 * (http://www.parallax.Бп на lm2576 com/detail.asp?Роботы product_id=555-28027)
 *
 * Как прозвонить электрику ваз 2106 The sensor's / electronic ballast model plg 602 w 600 output pin Роботы goes to Транзистор D13007K даташит HIGH if motion Бп на lm2576 is present.
 * However, Роботы even if motion is Как прозвонить электрику ваз 2106 present it goes Роботы to / electronic ballast model plg 602 w 600 LOW from time to time,
 Роботы * Роботы which might Транзистор D13007K даташит give the impression no Бп на lm2576 motion is Роботы present.
 * This Как прозвонить электрику ваз 2106 program deals / electronic ballast model plg 602 w 600 with this Роботы issue by Транзистор D13007K даташит ignoring LOW-phases shorter Бп на lm2576 than a given time,
 Роботы * assuming continuous motion Как прозвонить электрику ваз 2106 is present during Роботы these / electronic ballast model plg 602 w 600 phases.
 * 
 */
 
/////////////////////////////
//VARS
Роботы //Время Роботы калибровки датчика Транзистор D13007K даташит (10-60 сек. по даташиту)
Бп на lm2576 int calibrationTime Роботы = 30;       
 
//the Как прозвонить электрику ваз 2106 time when / electronic ballast model plg 602 w 600 the sensor Роботы outputs a Транзистор D13007K даташит low impulse
long Бп на lm2576 unsigned int lowIn;        
 
//the Роботы amount of milliseconds the Как прозвонить электрику ваз 2106 sensor has to Роботы be / electronic ballast model plg 602 w 600 low
//before we assume all Роботы motion Роботы has stopped
Транзистор D13007K даташит long unsigned int pause Бп на lm2576 = 5000; 
 
Роботы boolean lockLow = Как прозвонить электрику ваз 2106 true;
boolean / electronic ballast model plg 602 w 600 takeLowTime; 
 
int Роботы pirPin = Транзистор D13007K даташит 7;    //вывод подключения Бп на lm2576 PIR сенсора
int ledPin Роботы = 8;
 
 
/////////////////////////////
//SETUP
Как прозвонить электрику ваз 2106 void setup(){
  Serial.Роботы begin(9600);
  / electronic ballast model plg 602 w 600 pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(pirPin, Роботы LOW);
 
  Роботы //дадим датчику Транзистор D13007K даташит время на калибровку
  Serial.Бп на lm2576 print("calibrating sensor Роботы ");
    for(int i Как прозвонить электрику ваз 2106 = 0; / electronic ballast model plg 602 w 600 i < Роботы calibrationTime; i++){
      Транзистор D13007K даташит Serial.print(".");
      Бп на lm2576 delay(1000);
      }
    Serial.println(" Роботы done");
    Serial.println("SENSOR ACTIVE");
    Как прозвонить электрику ваз 2106 delay(50);
  }
 
////////////////////////////
Роботы //LOOP
/ electronic ballast model plg 602 w 600 void loop(){
 
     if(digitalRead(pirPin) == HIGH){
       Роботы digitalWrite(ledPin, Роботы HIGH);   //the Транзистор D13007K даташит led visualizes the sensors Бп на lm2576 output pin Роботы state
       if(lockLow){ 
         //makes Как прозвонить электрику ваз 2106 sure we / electronic ballast model plg 602 w 600 wait for Роботы a transition Транзистор D13007K даташит to LOW before Бп на lm2576 any further output is Роботы made:
         lockLow = false;           
         Как прозвонить электрику ваз 2106 Serial.println("---");
         Serial.Роботы print("motion / electronic ballast model plg 602 w 600 detected at ");
         Роботы Serial.print(millis()/1000);
         Serial.Роботы println(" sec");
         Транзистор D13007K даташит delay(50);
         }        
         takeLowTime = Бп на lm2576 true;
       }
 
     Роботы if(digitalRead(pirPin) == LOW){      
       Как прозвонить электрику ваз 2106 digitalWrite(ledPin, LOW);  / electronic ballast model plg 602 w 600 //the led Роботы visualizes the Транзистор D13007K даташит sensors output pin Бп на lm2576 state
 
       if(takeLowTime){
        lowIn = Роботы millis();          //save the time Как прозвонить электрику ваз 2106 of the transition Роботы from / electronic ballast model plg 602 w 600 high to LOW
        takeLowTime = Роботы false;       Роботы //make sure Транзистор D13007K даташит this is only done Бп на lm2576 at the Роботы start of a Как прозвонить электрику ваз 2106 LOW phase
        / electronic ballast model plg 602 w 600 }
       //if Роботы the sensor Транзистор D13007K даташит is low for Бп на lm2576 more than the given Роботы pause,
       //we assume that Как прозвонить электрику ваз 2106 no more motion Роботы is / electronic ballast model plg 602 w 600 going to happen
       if(!lockLow && Роботы millis() - Транзистор D13007K даташит lowIn > pause){ 
           //makes Бп на lm2576 sure this Роботы block of code Как прозвонить электрику ваз 2106 is only / electronic ballast model plg 602 w 600 executed again Роботы after
           //a Транзистор D13007K даташит new motion sequence Бп на lm2576 has been detected
           lockLow Роботы = true;                       
           Serial.print("motion Как прозвонить электрику ваз 2106 ended at ");      Роботы //output
           / electronic ballast model plg 602 w 600 Serial.print((millis() - pause)/1000);
           Serial.Роботы println(" Роботы sec");
           delay(50);
           Транзистор D13007K даташит }
       }
  }


В Бп на lm2576 скетче Arduino Роботы видно, что датчик Как прозвонить электрику ваз 2106 проводит с/ electronic ballast model plg 602 w 600 амодиагностику, а затем Роботы переходит в Транзистор D13007K даташит режим отслеживания движений. Бп на lm2576 Когда движение обнаружено, то Роботы загорается светодиод. По Serial Как прозвонить электрику ваз 2106 Monitor вы можете Роботы отслеживать / electronic ballast model plg 602 w 600 сколько по времени длилось движение.

Роботы Данный Роботы проект можно Транзистор D13007K даташит использовать как основу для Бп на lm2576 обнаружения дРоботы вижения в охранных сигнализациях, Как прозвонить электрику ваз 2106 для включения / electronic ballast model plg 602 w 600 освещения, в Роботы робототехнике и Транзистор D13007K даташит т.п.