Montage sans potentiomètre





Ce programme permettra de faire afficher un message sur un LCD de 16 caractères sur deux lignes sans potentiomètre et réglage de l'intensité du backlight (Rétroéclairage).

Pour cela il vous faut:

Une carte Arduino Uno.

Un afficheur 16×2 Caractères LCD Display Module HD44780.

Et un condensateur de 100µF.


Le montage:





Télécharger mon programme lcd_pilotage_demo



#include <LiquidCrystal.h>


//configuration des pins de l'afficheur LCD en fonction du câblage

LiquidCrystal lcd(12, 11, 5, 4, 3, 6);

int pincon = 9;        //Pin de pilotage du contraste

int pinbac = 10;       //Pin de pilotage du rétro-éclairage

int valmax1 = 130;     // Valeur max du contraste

int valmax2 = 255;     // Valeur max du contraste

int tempo = 150;       // Valeur de la temporisation


void setup()

{

 lcd.begin(16,2);            // initialisation de l'afficheur

 lcd.setCursor(0, 0);        // Positionnement du curseur en position 1 er ligne 1 er caractère

analogWrite(pincon, 95);      // Sortie contraste à 95 ( valeur entre 0 et 255)

analogWrite(pinbac, 100);     // Sortie du rétro éclairage à 100 (( valeur entre 0 et 255)

lcd.print("Bonjour ! :)");    // Message Bonjour

delay(3000);                 // Tempo de 3 secondes

}


void loop()

{

 //**** Variation du contraste

lcd.clear();                    //Efface le message

analogWrite(pinbac, 100);       // Réglage du backlight

lcd.setCursor(0, 0);            // Positionnement du curseur en position 1 er ligne 1 er caractère

lcd.print("Variation");         // Message Variation

lcd.setCursor(0, 2);            // Positionnement du curseur en position 1 er ligne 2 er caractère

lcd.print("du contraste ");    // Message contraste

 for (int i=0; i <= valmax1; i++){    //Boucle de variation du contraste

     analogWrite(pincon, i);        // Ecriture de la valeur sur la sortie

     lcd.setCursor(13, 2);        // Positionnement du curseur en position 13 er ligne 2 er caractère

     lcd.print(i);                // Affichage de la valeur

     delay(tempo);                // Tempo

  }

 for (int i=0; i <= valmax1; i++){      //Boucle de variation du contraste

     analogWrite(pincon, (valmax1-i)); // Ecriture de la valeur sur la sortie

     lcd.setCursor(13, 2);              // Positionnement du curseur en position 13 er ligne 1 er caractère

     if ((valmax1-i)==99) {lcd.print("   ");} // Effacement chiffre à droite

     lcd.print((valmax1-i));                  // Affichage valeur

     delay(tempo);                            // Tempo

  }

 

//****** variation du rétro éclairage

lcd.clear();                    //Efface le message

analogWrite(pincon, 95);        // Réglage du contraste

lcd.setCursor(0, 0);            // Positionnement du curseur en position 1 er ligne 1 er caractère

lcd.print("Variation");         // Message varaition

lcd.setCursor(0, 2);            // Positionnement du curseur en position 1 er ligne 2 er caractère

lcd.print("Eclairage ");        // Message Eclairage

 for (int i=0; i <= valmax2; i++){    //Boucle de variation du rétroéclairage

     analogWrite(pinbac, i);          //Ecriture de la valeur sur la sortie

     lcd.setCursor(13, 2);            // Positionnement du curseur en position 13 er ligne 2 er caractère

     lcd.print(i);                    // Affichage de la valeur

     delay(tempo);

  }

 for (int i=0; i <= valmax2; i++){      //Boucle de variation du rétroéclairage

     analogWrite(pinbac, (valmax2-i));  // Ecriture de la valeur sur la sortie

     lcd.setCursor(13, 2);              // Positionnement du curseur en position 13 er ligne 1 er caractère

     if ((valmax2-i)==99) {lcd.print("   ");}  // Effacement chiffre à droite

     lcd.print((valmax2-i));                  // Affichage de la valeur

     delay(tempo);                            // Tempo

  }


}



Une fois votre montage effectué bien sur hors tension. Brancher votre carte en USB sur votre ordinateur. Ouvrir le logiciel Arduino et ouvrir le fichier.

Après faire un clique sur l’icône pour faire le transfert vers la carte Arduino Uno.


Faire un reset de la carte.


Voici le résultat:



Une autre solution: C'est de faire un pont diviseur de tension avec deux résistances. Dans mon cas, j'ai pris 1/5 de la tension sous 5Volts cela fait 1Volt. Mes valeurs de résistances sont 4,7KΩ et 1KΩ.





Mise à jour 05/08/2013

Créé avec HelpNDoc Personal Edition: Créer des aides HTML, DOC, PDF et des manuels depuis une même source