Liste des composants nécessaires pour la réalisation du circuit :
Schéma du montage électronique :
Pour les amateurs d'impression 3D, j'ai fait quelques templates qui permettent d'imprimer divers boitiers pouvant accueillir les divers composants utilisés dans mes tutoriels.
- Pour un composant PIR, vous trouverez le boitier à imprimer ici.
Il faut compter environ 4h pour imprimer les composants de ce boitier.
- Pour un relais, vous trouverez le boitier à imprimer ici.
Il faut compter environ 2h pour imprimer les composants de ce boitier.
L'ensemble des impressions 3D a été réalisé sur une imprimante Creality3D Ender-3 pro avec les réglages standards suivants:
Pour les personnes possédant Fritzing, voici le schéma électronique.
Voici le code à télécharger dans votre Arduino:
#define pinPIR 2 // Pin pour le capteur PIR
void setup()
{
Serial.println(F("************"));
Serial.println(F("Arduino Nano"));
Serial.println(F("************"));
Serial.println(F(""));
Serial.println(F("\nInitialisation..."));
Serial.println(F(""));
Serial.println(F("Connection du capteur PIR"));
Serial.println(F(""));
Serial.println(F("************************"));
Serial.println(F(" 3.3v 5v *"));
Serial.println(F("* GND DATA VCC *"));
Serial.println(F("* . . . *"));
Serial.println(F("* *"));
Serial.println(F("* *"));
Serial.println(F("* O O *"));
Serial.println(F("* Timer Sensi *"));
Serial.println(F("************************"));
Serial.println(F(""));
Serial.print(F("On calibre le capteur PIR (7s)"));
for(int i = 0; i < 7; i++)
{
Serial.print(F("."));
delay(1000);
}
Serial.println(F(""));
pinMode(pinPIR, INPUT_PULLUP);
}
//*****************************************************************************************//
// MAIN LOOP
//*****************************************************************************************//
void loop()
{
int val = digitalRead(pinPIR);
Serial.print("val=");
Serial.print(val);
Serial.println("");
// A chaque nouveau mouvement on retarde le chrono
if (val == HIGH)
{
Serial.println(F(" Mouvement"));
Serial.println(F(" Pause 1s"));
delay(1000);
}
}