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:
// ##################################
// Broches utilisées par les capteurs
// ##################################
const byte DETECTEUR_EAU_PIN = 0; // Broche "DATA" du détecteur niveau eau
/****************************************************************/
/* INIT */
/****************************************************************/
void setup()
{
Serial.begin(9600);
delay(10);
Serial.println();
Serial.println();
Serial.println(F("Detection niveau eau"));
Serial.println();
pinMode(DETECTEUR_EAU_PIN, INPUT);
}
/****************************************************************/
/* BOUCLE INFINIE */
/****************************************************************/
void loop()
{
RecupereDonnees();
delay(1000);
}
/****************************************************************/
/* TRAITEMENT DES DONNEES */
/****************************************************************/
void RecupereDonnees()
{
int li_TensionNiveauEauInput = (analogRead(DETECTEUR_EAU_PIN));
Serial.print(F("Tension = "));
Serial.print(li_TensionNiveauEauInput);
Serial.print(F(" ### Hauteur= "));
if (li_TensionNiveauEauInput<=60)
{
Serial.print(F("Plus d'eau !!!"));
}
else
if (li_TensionNiveauEauInput>60 && li_TensionNiveauEauInput<=100)
{
Serial.print(F("0 - 1 cm"));
}
else
if (li_TensionNiveauEauInput>100 && li_TensionNiveauEauInput<=116)
{
Serial.print(F("1 - 2 cm"));
}
else
if (li_TensionNiveauEauInput>116 && li_TensionNiveauEauInput<=140)
{
Serial.print(F("2 - 4 cm"));
}
else
if (li_TensionNiveauEauInput>140 && li_TensionNiveauEauInput<=177)
{
Serial.print(F("4 - 6 cm"));
}
else
if (li_TensionNiveauEauInput>177 && li_TensionNiveauEauInput<=217)
{
Serial.print(F("6 - 8 cm"));
}
else
if (li_TensionNiveauEauInput>217 && li_TensionNiveauEauInput<=300)
{
Serial.print(F("8 - 10 cm"));
}
else
if (li_TensionNiveauEauInput>300 && li_TensionNiveauEauInput<=500)
{
Serial.print(F("10 - 12 cm"));
}
else
if (li_TensionNiveauEauInput>500 && li_TensionNiveauEauInput<=650)
{
Serial.print(F("12 - 13 cm"));
}
else
{
Serial.print(F("> 13 cm"));
}
Serial.println();
}