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:
#include
#include
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 6; // ARDUINO NANO
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#define outputPin 13
#define TempsMax 25
dimmerLamp dimmer(outputPin); //initialise port for dimmer for MEGA, Leonardo, UNO, Arduino M0, Arduino Zero
void setup()
{
Serial.begin(9600);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\n\nToggle Dimmer test");
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Turn off the display:
lcd.noDisplay();
lcd.display();
// Print a message to the LCD.
lcd.setCursor(0, 0);
lcd.print("Toggle Dimmer");
dimmer.begin(NORMAL_MODE, ON); //dimmer initialisation: name.begin(MODE, STATE)
}
int Easing(int i)
{
// (p) puissance 3
return (((float)i/100)*((float)i/100)*((float)i/100))*TempsMax;
}
void allumeLED()
{
int j=20;
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("ON :");
for (int i=0;i<=100;i++)
{
Serial.print(i);
Serial.print(F(" "));
Serial.println(i);
dimmer.setPower(i); // name.setPower(0%-100%)
lcd.setCursor(5, 1);
lcd.print(" ");
lcd.setCursor(5, 1);
lcd.print(i);
lcd.setCursor(9, 1);
lcd.print("%");
Serial.println(Easing(i));
j=Easing(i);
delay(j);
}
}
void eteintLED()
{
int j=20;
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print("OFF :");
for (int i=100;i>=0;i--)
{
Serial.print(i);
Serial.print(F(" "));
Serial.println(i);
dimmer.setPower(i); // name.setPower(0%-100%)
lcd.setCursor(5, 1);
lcd.print(" ");
lcd.setCursor(5, 1);
lcd.print(i);
lcd.setCursor(9, 1);
lcd.print("%");
Serial.println(Easing(i));
j=Easing(i);
delay(j);
}
}
void loop() // run over and over again
{
allumeLED();
delay(2000);
eteintLED();
delay(2000);
}
Voici le code du projet ainsi que la librairie à ajouter:
Voici le projet zippé.