Différences entre versions de « Senseur PIR »
Sauter à la navigation
Sauter à la recherche
(→Code) |
|||
| Ligne 5 : | Ligne 5 : | ||
== Code == | == Code == | ||
| + | <nowiki> | ||
| + | /* | ||
| + | * PIR sensor tester | ||
| + | */ | ||
| + | |||
| + | int ledPin = 13; // choose the pin for the LED | ||
| + | int inputPin = 2; // choose the input pin (for PIR sensor) | ||
| + | int pirState = LOW; // we start, assuming no motion detected | ||
| + | int val = 0; // variable for reading the pin status | ||
| + | |||
| + | void setup() { | ||
| + | pinMode(ledPin, OUTPUT); // declare LED as output | ||
| + | pinMode(inputPin, INPUT); // declare sensor as input | ||
| + | |||
| + | Serial.begin(9600); | ||
| + | } | ||
| + | |||
| + | void loop(){ | ||
| + | val = digitalRead(inputPin); // read input value | ||
| + | if (val == HIGH) { // check if the input is HIGH | ||
| + | digitalWrite(ledPin, HIGH); // turn LED ON | ||
| + | if (pirState == LOW) { | ||
| + | // we have just turned on | ||
| + | Serial.println("Motion detected!"); | ||
| + | // We only want to print on the output change, not state | ||
| + | pirState = HIGH; | ||
| + | } | ||
| + | } else { | ||
| + | digitalWrite(ledPin, LOW); // turn LED OFF | ||
| + | if (pirState == HIGH){ | ||
| + | // we have just turned of | ||
| + | Serial.println("Motion ended!"); | ||
| + | // We only want to print on the output change, not state | ||
| + | pirState = LOW; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </nowiki> | ||
| + | |||
| + | == Notes == | ||
| + | Don't forget that there are some times when you don't need a microcontroller. A PIR sensor can be connected to a relay (perhaps with a transistor buffer) without a micro! | ||
== Où Acheter == | == Où Acheter == | ||
Version du 30 avril 2012 à 11:07
Introduction
Montage
Code
/*
* PIR sensor tester
*/
int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare sensor as input
Serial.begin(9600);
}
void loop(){
val = digitalRead(inputPin); // read input value
if (val == HIGH) { // check if the input is HIGH
digitalWrite(ledPin, HIGH); // turn LED ON
if (pirState == LOW) {
// we have just turned on
Serial.println("Motion detected!");
// We only want to print on the output change, not state
pirState = HIGH;
}
} else {
digitalWrite(ledPin, LOW); // turn LED OFF
if (pirState == HIGH){
// we have just turned of
Serial.println("Motion ended!");
// We only want to print on the output change, not state
pirState = LOW;
}
}
}
Notes
Don't forget that there are some times when you don't need a microcontroller. A PIR sensor can be connected to a relay (perhaps with a transistor buffer) without a micro!
Où Acheter
Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com
{MCH-Accord}}
