Last active
December 11, 2018 22:51
Détecteur de mouvement infrarouge passif (PIR) branché à l'entrée D7 du STM32 Nucleo.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/************************************************************************* | |
Détecteur de mouvement infrarouge passif (PIR) branché à l'entrée D7 | |
du STM32 Nucleo. | |
Lorsque le capteur détecte un mouvement, la LED intégrée à la carte Nucleo | |
s'allume, et un message est envoyé à l'ordinateur par le port série. | |
La LED s'éteint lorsque le signal du capteur PIR redevient bas. | |
Pour plus d'infos: | |
https://electroniqueamateur.blogspot.com/2017/10/capteur-infrarouge-passif-pir-avec-une.html | |
*************************************************************************/ | |
#include "mbed.h" | |
DigitalOut laLED(LED1); // LED intégrée à la carte (associée à la sortie D13) | |
DigitalIn detecteur(D7); // sortie du capteur PIR | |
Serial pc(USBTX, USBRX); // Communication série avec l'ordinateur | |
int etatPrecedent = 0; // 0 si pas de mouvmement, 1 si mouvement | |
int main() | |
{ | |
pc.printf("Demonstration detecteur de mouvement infrarouge passif.\n"); | |
while(1) { | |
if (detecteur == 1) { // mouvement détecté | |
laLED = 1; // LED allumée | |
if (etatPrecedent == 0) { // l'état vient de changer | |
pc.printf("Je detecte un mouvement!\n"); | |
etatPrecedent = 1; | |
} | |
} | |
if (detecteur == 0) { { // pas de mouvement détecté | |
laLED = 0; // LED éteinte | |
etatPrecedent = 0; | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment