Arduino


Variateur de lumière (AC Light Dimmer) pour ampoule à incandescence 220v

Publié le 11/05/2019



ATTENTION, dans cette publication nous manipulons du 220V ce qui peut être mortel !!! Les risques sont réels ! Vous le faites sous votre responsabilité.

Débranchez avant toute manipulation, rendez impossible l'accès aux contacts (boîte étanche)...



Un gradateur de lumière est un appareil que l'on utilise pour faire varier l'intensité lumineuse d'une lampe par exemple.

On peut ainsi créer une lumière d'ambiance avec des ampoules à incandescences uniquement (ne fonctionne pas avec les autres types d'ampoules).



Mais ce composant peut également être utilisé avec d'autres objets, un ventilateur par exemple.



Pour faire fonctionner ce variateur, il faudra installer la bibliothèque fournit dans le projet zippé.



L'écran LCD affiche en temps réelle la puissance d'éclairage demandée (en pourcentage). 100% étant complètement allumé, et 0% étant complètement éteint.

Liste des composants nécessaires pour la réalisation du circuit :

  • Résistance 47 ohms1
  • Potentiomètre1
  • LCD1
  • AC Light Dimmer1
  • Arduino Nano1


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é.


Nombre de vue(s): 3816

Forum


Vos avis/remarques...


Veuillez vous connecter pour laisser vos commentaires...