23. Infrared motion sensor

Mål: Att kunna känna av rörelse i ett rum

Teori: Då man startar den sensorn kommer den att mäta den infraröda strålningen i ett rum genom att ta ett “infrarött foto” av rummet. Då en person (som avger infraröd strålning) kommer in i rummet märker sensorn av förändringen och ändrar pin2 från LOW till HIGH. Denna förändring i pin2 kan man använda i koden t.ex. till att sätta på lampor eller alarm.

Koppling: Färgerna på bilden stämmer inte helt med bilden. (svart =  GND, röd = 5V, grön = pin2).


Fritzing kopplingsschema

23 digital infrared motion sensor


Arduino koden

const int sensorPin = 2;    
 
void setup() 
  {    
   pinMode(sensorPin, INPUT);
   Serial.begin(9600);
   delay(3000);     
  }
 
void loop()
 {
    if (digitalRead(sensorPin) == HIGH) 
    {     
      Serial.println("motion detected");
      delay(3000);
    }    
    else    
    { 
    } 
    }

Kod 2 (utan delay)

const int sensorPin = 2;  
unsigned long timer1 = 0;
unsigned long timer2;  
void setup() 
  {    
   pinMode(sensorPin, INPUT);
   Serial.begin(9600);
   delay(3000);     
  }
 
void loop()
 {
    timer2 = millis();
    if (timer2 - timer1 > 6000)
      {
      if (digitalRead(sensorPin) == HIGH) 
        {       
        Serial.println("motion detected");
        timer1 = timer2;
        } 
      }
 }

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s