Se afișează postările cu eticheta HC-SR501. Afișați toate postările
Se afișează postările cu eticheta HC-SR501. Afișați toate postările

joi, 6 martie 2014

Senzorul de prezenta HC-SR501 si Arduino (II)

   In primul articol am facut o scurte prezentare si am dat niste adrese unde pot fi gasite informatii despre acest senzor...
   Acum am luat primele 2 articole de acolo si am facut mici teste, folosind intrarea analogica A0 ca una analogica sau ca una.. digitala, adica D14... ce primeste placa Arduino fiind evidentiat de LED-ul conectat la pinul D13 si/sau pe ecranul de monitorizare seriala...
   Primul sketch folosit de mine este:
// http://blog.roman-mueller.ch/index.php/2013/01/26/hc-sr501-passive-infrared-sensor-with-arduino/
#define pir A0
#define led 13

void setup() {
  pinMode(pir, INPUT);
  pinMode(led, OUTPUT);
}
void loop() {
  digitalWrite(led, digitalRead(pir));
  delay(100);
}
   Apoi am incercat pe cel prezentat in celalalt articole:
// http://robotic-controls.com/learn/sensors/pir-sensor-hc-sr501

int pirPin = 14; //is A0 :P
int val;

void setup() {
  Serial.begin(9600);
}

void loop() {
  val = digitalRead(pirPin); //read state of the PIR
  
  if (val == LOW) {
    Serial.println("No motion"); //if the value read is low, there was no motion
  }
  else {
    Serial.println("Motion!"); //if the value read was high, there was motion
  }
  
  delay(1000);
}
   Am "mixat" cele 2 sketch-uri, cand A0 este intrare digitala si a rezultat sketch-ul:
// http://robotic-controls.com/learn/sensors/pir-sensor-hc-sr501
// http://blog.roman-mueller.ch/index.php/2013/01/26/hc-sr501-passive-infrared-sensor-with-arduino/
// http://nicuflorica.blogspot.ro/2014/02/senzorul-de-prezenta-hc-sr501-si-arduino.html

int pirPin = 14;  //is A0
int val;
#define led 13

void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop() {
  val = digitalRead(pirPin); //read state of the PIR
  
  if (val == LOW) {
    Serial.println("No motion"); //if the value read is low, there was no motion
    digitalWrite(led, digitalRead(pirPin));
  }
  else {
    Serial.println("Motion!"); //if the value read was high, there was motion
    digitalWrite(led, digitalRead(pirPin));
  }
  
  delay(1000);
}
   Apoi am folosit intrarea analogica 0 ca intrare analogica...
// http://blog.roman-mueller.ch/index.php/2013/01/26/hc-sr501-passive-infrared-sensor-with-arduino/
// http://robotic-controls.com/learn/sensors/pir-sensor-hc-sr501
// http://nicuflorica.blogspot.ro/2014/02/senzorul-de-prezenta-hc-sr501-si-arduino.html

#define pir A0
#define led 13

void setup() {
  Serial.begin(9600);
  pinMode(pir, INPUT);
  pinMode(led, OUTPUT);
}

void loop() {
  int val = analogRead(pir);
  float val1 = val*5.00/1023.00;
  digitalWrite(led, LOW);
  if (val <650) {
    Serial.print(val);
    Serial.print("/1023 = ");
    Serial.print(val1);
    Serial.println("V - No motion"); //if the value read is low, there was no motion
    
  }
  else {
    Serial.print(val);
    Serial.print("/1023 = ");
    Serial.print(val1);
    Serial.println("V - Motion!"); //if the value read was high, there was motion
    digitalWrite(led, HIGH);
  }
  delay(500);
}
    Am realizat si un filmulet numit HC-SR501 PIR sensor (4)

vineri, 21 februarie 2014

Senzorul de prezenta HC-SR501 si Arduino

  La sfarsitul anului 2011, am prezentat un senzor de miscare alimentat direct la retea, care se foloseste pentru comanda unui bec (sau alt consumator). Articolul despre care fac referire se numeste senzor miscare PIR.
  Un senzor de prezenta PIR, la care se poate regla sensibilitatea si timpul de actionare, care poate fi folosit si cu placa de dezvoltare Arduino este modelul HC-SR501, care intern are alt cod (DSN-FIR800):
 
 
 
   Pe ebay.com am gasit o prezentare a principalelor componente de pe placa senzorului de miscare:
   Am gasit si o fisa tehnica unde este si schema interna, unde apare integratul BISS0001, pe care l-am gasit si in articolul Hacer sensores de movimiento con PIR:
   De mentionat, ca acest modul nu are fotorezistenta folosita la senzorii alimentati la retea, care avea rolul de a detecta starea zi/noapte si a nu aprinde becurile conectate la senzor pe timpul zilei...dar s-ar putea adauga la pinul 9, o fotorezistenta si o rezistenta de 100k(nu merge, cel putin la modulul meu).
   Pe alte site-uri am gasit aplicatii simple fara Arduino:
   Pe net sunt cateva articole, unde este prezentat acest senzor impreuna cu Arduino:
http://www.roroid.ro/senzori-pir/ (articol in romana)
datasheet-ul integratului BIS0001

1.martie.2014
   Am facut si un filmulet, numit HC-SR501 PIR sensor (1) unde am conectat la senzor un LED alb inseriat cu o rezistenta de 680 ohmi si un voltmetru de panou, pentru a vedea mai usor starile...

3.martie.2014
   Schema de testare, folosita in filmulet, este:
5.martie.2014
   Am mai pus 2 filmulete, in care am testat sensibilitatea fara lentina Fresnel:
NC-SR501 PIR sensor (2)
HC-SR501 PIR sensor (3)