Je voudrais allumer un détecteur de mouvement à l'aide d'un bouton.
Après le code et les branchements du PIR ne me posent pas de problème.
Actuellement, malgré le bouton le PIR continue d'envoyer des données.
Merci pour votre éventuelle aide
Voici mon code:
> #define PIRPIN 2
#define BUTTONPIN 3
#define LEDPIN A1
// Declare and initialize the PIR_State variable
int PIR_State = 0;
int BUTTON_State = 0; // variable for reading the pushbutton status
int iCount;
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
pinMode(BUTTONPIN, INPUT);
pinMode(LEDPIN, OUTPUT);
Serial.begin(9600);
iCount = 0 ;
}
void loop()
{
char szTmp[128];
BUTTON_State = digitalRead(BUTTONPIN);
if (BUTTON_State == HIGH)
{
pinMode(PIRPIN, INPUT);
iCount = 0;
digitalWrite(LEDPIN, HIGH);
PIR_State = digitalRead(PIRPIN); // Read the PIR_State of the PIR sensor
if (PIR_State == HIGH)
{
// If the PIR sensor detects movement (PIR_State = HIGH)
iCount++;
sprintf(szTmp,"Chat en vue (%d)",iCount);
Serial.println(szTmp);
digitalWrite(LEDPIN, HIGH); // Turn the LED on
delay(1000); // Pause for 500 milliseconds (half a second)
digitalWrite(LEDPIN, LOW); // Turn the LED off
delay(1000); // Wait for one second
}
else
{
Serial.println("Monitoring...");
delay(100);
}
}
else
{
digitalWrite(LEDPIN, LOW);
}
}
Pouvez vous nous en dire plus sur la façon dont le bouton est brancher sur le PIR ?
Quel est son modèle (1RT, 2RT, 3RT) ?
Sur quels fil intervient il (VCC, GND, OUT) ?
J'utilise le HC-SR50
Le bouton est un bpetit bouton poussoir (bornes 1 & 3 conectées).
Un fil va de la borne 3 du bouton à la borne 2 de la carte UNO R4
Euh oui, ça s'est normal :
Tant que le PIR est alimenté, il renvoie des donnée.
Si vous ne voulez pas que les PIR envoie des donnée, il faut le débrancher.
Si vous ne voulez pas que l'Arduino reçoive des données, il faut couper le fil.
Ces deux solution peuvent êtres obtenue en utilisant un ou plusieurs relai.
Au bout de combien de temps la pile 9 Volts se viderait.
Je fait cela pour une absence de deux semaines. J'ai peur qu'il n'y ait plus de jus rapidement.
Le BISS0001 que l'on trouve sur tous les détecteur PIR ne consomme pratiquement rien, de ce que j'ai trouvé il consommerait 1mA. L'Arduino (lequel d'ailleurs??) va consommer 10x plus.
Dans le code donné au #1, le code tourne en boucle la consommation va être maximum.
Et je ne comprends pas très bien ce que le bouton vient faire là-dedans. Si tu es absent, qui va appuyer sur le bouton???
A la limite, ce serait plus logique si le PIR était toujours sous tension et qu'il alimente l'Arduino temporairement lorsqu'il détecte quelque chose.
S'est le plus simple.
Si vous avez la possibilité, mettez une alimentation CC entre 7V et 12V sur la broche VIN de la carte Arduino, ou sur la prise Jack (le + est au centre).
Ce que je veux dire c'est que c'est une fonction inutile si tu dois l'activer avant de partir autant tout simplement allumer le module lorsque tu pars.
Bien évidemment, mais elle peut l'activer un relais, un transistor qui alimentera l'Arduino le temps nécessaire. De nombreux modules PIR ont une sortie collecteur ouvert qui peut parfaitement alimenter un circuit externe comme une carte Arduino.