Pour ne plus utiliser cette résistance R4 ainsi que le potentiomètre voici un petit montage qui utilise 2 sorties PWM ainsi qu'un exemple de programme de test.
Un transistor économique NPN 2N2222 branché en émetteur commun pilote la broche 12 (ou K) du circuit LCD 1602.
Un autre transistor économique PNP 2N2907 branché en collecteur commun pilote la broche 3 (ou VEE / Vo) du circuit LCD 1602.
Programme de test :
/*
lcd1602 avec vatiations de luminosité de l'affichage et du fond.
samj le 21 novembre 2015
Domaine Public
Câblage :
Arduino Resist. 2N2222 2N2907 LCD1602
(E commun) (C commun)
(+5)-------------------------------------------(2) VCC
(+5)-------------------------------------------(15) LED +
(GND)------------------------------------------(1) VSS
(GND)------------------------------------------(5) R/W
(GND)-------------------(E)
(GND)------------------------------(C)
(3)------[4.7kOhm]------(B)
(5)------[4.7kOhm]-----------------(B)
(C)---------------------(16) LED -
(E)----------(3) VEE
(7)---------------------------------------------(4) RS
(8)---------------------------------------------(6) Enable
(9)---------------------------------------------(11) DB4
(10)--------------------------------------------(12) DB5
(11)--------------------------------------------(13) DB6
(12)--------------------------------------------(14) DB7
*/
/**********************************************
Initialisation
**********************************************/
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12); // LiquidCrystal(rs, enable, d4, d5, d6, d7)
int Sortie_PWM_Luminosite_Fond = 3; // vers resistance 4.7kOhm reliée à la base 2N2222
int Sortie_PWM_Contrastes_Caracteres = 5; // vers resistance 4.7kOhm reliée à la base 2N2907
int Luminosite_Fond = 255;
int Luminosite_Caracteres = 50; // Ajuster cette valeur
int Variation_Luminosite_Caracteres;
/**********************************************
SETUP
**********************************************/
void setup()
{
pinMode(Sortie_PWM_Luminosite_Fond, OUTPUT);
pinMode(Sortie_PWM_Contrastes_Caracteres, OUTPUT);
FondEclaire(Luminosite_Fond, 10);
Variation_Luminosite_Caracteres = 0;
while(Variation_Luminosite_Caracteres < 255){
analogWrite(Sortie_PWM_Contrastes_Caracteres, Variation_Luminosite_Caracteres);
delay(20);
Variation_Luminosite_Caracteres++;
}
analogWrite(Sortie_PWM_Contrastes_Caracteres, Luminosite_Caracteres);
FondNoir(Luminosite_Fond, 20);
// message -> LCD
lcd.noCursor();
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Bonjour! Hello!");
lcd.setCursor(0,1);
lcd.print("V 20151121 / ");
lcd.print(Luminosite_Caracteres);
FondEclaire(Luminosite_Fond, 20);
}
/**********************************************
LOOP
**********************************************/
void loop()
{
FondNoir(Luminosite_Fond, 20);
analogWrite(Sortie_PWM_Luminosite_Fond, 0);
lcd.noDisplay();
FondEclaire(40, 50);
FondNoir(100, 25);
// message -> LCD
lcd.clear();
lcd.setCursor(0,0);
lcd.print("abcdefghijklmnop");
lcd.setCursor(0,1);
lcd.print("0123456789ABCDEF");
lcd.display();
FondEclaire(Luminosite_Fond,20);
}
/**********************************************
Fond Noir
**********************************************/
void FondNoir(int Luminosite_Origine, int BaseDeTemps)
{
int index=Luminosite_Origine;
analogWrite(Sortie_PWM_Luminosite_Fond, Luminosite_Origine);
while(index > 0){
analogWrite(Sortie_PWM_Luminosite_Fond, index);
delay(BaseDeTemps);
index=index-1;
}
}
/**********************************************
Fond Eclairé
**********************************************/
void FondEclaire(int Luminosite_Origine, int BaseDeTemps)
{
int index=Luminosite_Origine;
index=0;
analogWrite(Sortie_PWM_Luminosite_Fond, 0);
delay(2000);
while(index < Luminosite_Origine){
analogWrite(Sortie_PWM_Luminosite_Fond, index);
delay(BaseDeTemps);
index=index+1;
}
analogWrite(Sortie_PWM_Luminosite_Fond, Luminosite_Origine);
}
/* FIN */
Schéma et raccordements :
Glad to see your new post, I was concerned that you were alright.
RépondreEffacerDo you plan to update either the GMIC plugin or your GIMP build, or have you moved on to other things?
Hello,
RépondreEffacerThank you for your comment.
This winter (and it is long in Quebec) we may publish some work on Gimp and G'MIC.
Currently we deal with electronic assemblies (Arduino, Raspberry Pi, BananaPi, PCDuino, etc.).
Best regards
samj