Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PeguinoheroPeguino Body Sensor Brick (Bewegungssensor)
#1
Peguino Body Sensor Brick (Bewegungssensor)

Dieser Peguino Baustein beinhaltet einen passiven Infrarotsensor. Mit ihm kann die Bewegung von Personen registriert werden und z.B. für eine automatische Begrüßungsfunktion genutzt werden wenn sich jemand in die Nähe des Sensors bewegt.

[Image: Brick_Bodysensor_01b.png]


Anmerkung: Der Body Sensor Brick hat zwei interne Potentiometer zur Einstellung der Charakteristika des Sensors. Diese können mit einem kleinen Schraubendreher justiert werden. Es kann die Verzögerungszeit und der Sensor-Bereich eingestellt werden. Werden beide ganz nach links gedreht befindet sich der Sensor in der Grundeinstellung.


Charakteristik des Sensors:
Wird das Projekt mit Strom verbunden benötigt der Sensor bis zu einer Minute um korrekt zu arbeiten. In dieser Zeit kann der Sensor falsche ergebnisse liefern. Für eigene Anwendungen ist es also sinnvoll diese Wartezeit per entsprechender Programmfunktion zu berücksichtigen - um ein Falschauslösen zu verhindern.

Die "Blickrichtung" des Sensors ist mit in etwa 110 Grad Weitwinkel nach oben gerichtet.

Nach einer Auslösung des Sensors kann für mindestens drei Sekunden keine weitere Auslösung stattfinden. In dieser Zeit ist der Signalpegel auf "HIGH" gesetzt, d.h. +5V. Siehe auch "Delay" unten in der Grafik.
Die Empfindlichkeit kann in einem Erfassungsbereich von ca. 3 - 7 Meter eingestellt werden.

[Image: Body_Sensor_01b.png]

Beispiel:

Code:
/*
  Body Sensor Brick
  (C) 2018 by Peguino LTD
  Connect the Body Sensor Brick to port C2
  Connect the RGB LED Brick to port F
  Version 1
 
  Note: Use the Serial Plotter to see the values

  Peguino Uno ESP 32 Development Board Pinout
            ┌─╥─┐
  3.3     1 │     │ 30  5V
  GND     2 │     │ 29  GND
  GPIO15  3 │     │ 28  GPIO13
  GPIO2   4 │     │ 27  GPIO12
  GPIO4   5 │     │ 26  GPIO14
  GPIO16  6 │     │ 25  GPIO27
  GPIO17  7 │     │ 24  GPIO26
  GPIO5   8 │     │ 23  GPIO25
  GPIO18  9 │     │ 22  GPIO33
  GPIO19 10 │     │ 21  GPIO32
  GPIO21 11 │     │ 20  GPIO35
  GPIO3  12 │     │ 19  GPIO34
  GPIO1  13 │     │ 18  GPIO39
  GPIO22 14 │     │ 17  GPIO36
  GPIO23 15 │     │ 16  Chip enable
            └───┘
  Visit https://www.peguino.com          
*/

const int buttonPin = 23;       // GPIO 23 Pin

// ledPin refers 1:1 to ESP32 GPIO 12, 13 and 14
const int ledPin1 = 13; // red
const int ledPin2 = 12; // green
const int ledPin3 = 14; // blue
int buttonState = LOW;              // variable for reading the microphone status

void setup(){
  // initialize digital pin ledPin as an output.
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  digitalWrite(ledPin1, HIGH);
  digitalWrite(ledPin2, HIGH);
  digitalWrite(ledPin3, HIGH);

  pinMode(buttonPin, INPUT);        // initialize the Button Brick pin as an input
  Serial.begin (115200);            // Press Ctrl+Shift+M and set the serial monitor to the same baud rate!
  Serial.println("Peguino Body Sensor trigger monitor");
}

void loop(){
  // read the state of the microphone value:
  buttonState = digitalRead(buttonPin);

  // now check if the Body Sensor triggers on movement.
  if (buttonState != HIGH) {
   digitalWrite(ledPin1, LOW);      // Red light on
   digitalWrite(ledPin2, HIGH);     // Green light off
   delay (500);
  } else {
   digitalWrite(ledPin2, LOW);      // Green light on because the sensor has triggered on movement!
   digitalWrite(ledPin1, HIGH);     // Red light off
   delay (500);                     
  }
  Serial.println(buttonState);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)