Contrôle de la luminosité de l'écran LCD. Contrôler la luminosité du rétroéclairage de l'écran Nextion dans FLProg

31.08.2023

Les utilisateurs du système d'exploitation Windows 7 rencontrent souvent un problème paramètres de luminosité de l'écran. Pour résoudre ce problème, nous examinerons toutes les méthodes disponibles pour régler la luminosité de l'écran dans Windows 7. Le réglage du rétroéclairage de l'écran est un processus assez simple que même un utilisateur novice peut gérer. Après vous être familiarisé avec le matériel, vous pourrez régler vous-même la luminosité ordinateur portable ou de bureau.

Réglage de la luminosité à l'aide des outils Windows 7 standard

Pour régler la luminosité d'un ordinateur portable ou d'un PC tout-en-un à l'aide des outils standard 7, vous devez tout d'abord vous rendre sur Panneaux de contrôle. Vous pouvez accéder au Panneau de configuration via le menu " Commencer"ou tapez le programme " Exécuter» commande de contrôle

Après le lancement Panneaux de contrôle vous devez vous rendre dans la section "".

Vous pouvez désormais augmenter ou diminuer le rétroéclairage de l'écran. Pour ce faire, réglez le curseur " Luminosité de l'écran» vers une position qui correspond aux préférences de rétroéclairage de votre moniteur.

Vous pouvez également accéder aux paramètres plan d'alimentation et exposer luminosité, dans lequel l'ordinateur portable fonctionnera sur batterie ou sur secteur.

Modification des paramètres d'éclairage de l'écran à l'aide du pilote de la carte vidéo

Une autre façon intéressante de modifier l'éclairage de l'écran est de l'ajuster à l'aide de pilotes de carte vidéo. Pour notre exemple, nous considérerons un chauffeur de l'entreprise Nvidia. Pour ouvrir les paramètres du pilote de la carte vidéo, vous devez cliquer avec le bouton droit sur un espace vide du bureau. Un menu contextuel devrait apparaître.

Dans ce menu, sélectionnez l'élément « Panneau de configuration NVIDIA"(cela peut être différent pour une autre carte vidéo), après quoi le panneau des paramètres du pilote de la carte vidéo s'ouvrira.

Maintenant, dans ce panneau, vous devez aller dans le menu " Vidéo\Ajuster les paramètres de couleur pour la vidéo».

Dans le menu de réglage des couleurs, allez dans la rubrique « 2. Comment effectuer des ajustements de couleur" et réglez l'interrupteur " Avec les paramètres NVIDIA" En sélectionnant ces paramètres, vous pourrez ajuster quatre propriétés, y compris la luminosité de l'écran. Pour augmenter ou diminuer la luminosité de l'écran, faites glisser le curseur vers plus ou moins et vous verrez comment le rétroéclairage de l'écran change.

Les fabricants de cartes vidéo disposent également de programmes qui régulent l'éclairage de l'écran à l'aide du pilote de la carte vidéo. Intel Et DMLA.

Également sur Internet, vous pouvez trouver de nombreux programmes permettant de régler le rétroéclairage de l'écran. Tous ces programmes fonctionnent en accédant au pilote de la carte vidéo. Autrement dit, ils font essentiellement ce que vous pouvez faire dans le panneau de configuration de la carte vidéo (dans notre cas Nvidia). Le plus intéressant de tous ces programmes est Flux. Sa principale caractéristique est réglage automatique du rétroéclairage de l'écran, qui dépend de l'heure de la journée.

Un exemple de réglage du rétroéclairage d'un ordinateur portable à l'aide de la touche Fn

Par exemple, nous utiliserons un netbook Lenovo s110 avec le système d'exploitation Windows 7.

Il utilise la touche de modification Fn en combinaison avec les touches curseur ← et → pour régler le rétroéclairage. Pour augmenter le rétroéclairage de l'ordinateur portable Lenovo s110, vous devez utiliser la combinaison de touches Fn + →. Pour réduire le rétroéclairage, vous devez utiliser la combinaison Fn + ←.

Au fur et à mesure que vous augmentez ou diminuez le rétroéclairage, vous verrez comment la valeur de l'indicateur graphique change. Le programme est responsable de cet indicateur Fonctionnalités des raccourcis clavier.

Comme vous pouvez le voir, augmentez ou diminuez les paramètres d'éclairage de l'écran de l'ordinateur portable à l'aide du bouton " Fn", tout simplement. Vous pouvez utiliser cet exemple sur d'autres ordinateurs portables, car les principes d'utilisation des touches de modification sont les mêmes.

Surtout sur les ordinateurs portables SAMSUNGNP350 Raccourcis clavier:

  • pour augmenter la luminosité - Fn + F3 ;
  • pour diminuer - Fn + F2.

Réglage manuel du rétroéclairage du moniteur

Pour les utilisateurs d'ordinateurs de bureau, les paramètres d'éclairage de l'écran peuvent être ajustés sur l'écran lui-même. Par exemple, nous utiliserons un moniteur LG Flatron W1943SS. Pour régler l'éclairage, vous devez vous rendre dans son menu. Pour ce faire, appuyez sur la touche MENU du panneau de commande du moniteur.

Après cela, appuyez sur la touche AUTO/SET. Une fenêtre de réglage de la luminosité devrait s'ouvrir où vous pouvez la modifier.

Je voudrais également noter que les paramètres du moniteur ne dépendent pas du système d'exploitation ou du pilote installé. Ils sont réglés exclusivement dans le moniteur. Chaque moniteur d'un fabricant différent possède ses propres options de paramètres manuels. Vous pouvez connaître les détails du réglage des paramètres d’éclairage de l’écran d’un moniteur particulier dans le manuel, qui est inclus avec la vente ou peut être téléchargé sous forme électronique sur le site Web du fabricant.

Résumons-le

Ce matériel montre que même un utilisateur de PC novice peut augmenter et diminuer la luminosité de l'écran sous Windows 7. Et nous espérons que notre matériel vous aidera à apprendre à modifier la luminosité de votre écran d'ordinateur.

Vidéo sur le sujet


Avec l'iPhone X, Apple a utilisé pour la première fois un panneau d'affichage basé sur la technologie OLED. Et si les avantages des écrans OLED sont évidents, leurs inconvénients sont rarement évoqués. L'un de ces inconvénients est le scintillement de l'écran à de faibles niveaux de luminosité en raison de l'utilisation de la modulation de largeur d'impulsion pour contrôler la lueur des LED à de faibles niveaux de luminosité. Dans le langage de l’utilisateur moyen, l’écran scintille dans l’obscurité.

Les fabricants choisissent la fréquence de scintillement de l'écran de manière à ce que la plupart des utilisateurs ne le remarquent pas. La fréquence la plus couramment utilisée est 240 Hz. Même si nous excluons un groupe important de personnes qui remarquent un tel scintillement, il reste ceux qui ne le remarquent pas, mais ressentent une fatigue accrue, des larmoiements, une inflammation et une rougeur des yeux, voire des migraines. Ces personnes ne sont pas si rares : selon l'étude et la méthodologie utilisée, leur nombre varie de 20 à 30 % de l'ensemble des utilisateurs.

Sur les appareils Android, le scintillement OLED peut souvent être résolu en installant une application qui affiche un filtre de gradation ; vous pouvez même maintenir le contrôle automatique de la luminosité si vous utilisez l'application Lux Dash pour cela (nous expliquerons comment la configurer correctement pour désactiver le scintillement de l'écran dans l'un des articles suivants).

Il s'avère qu'iOS dispose d'un mécanisme intégré qui vous permet d'obtenir un effet similaire et de vous débarrasser complètement du scintillement de l'affichage dans l'obscurité. Examinons les étapes requises pour cela, mais nous répondrons d'abord à la question de savoir pourquoi les écrans OLED ont besoin de scintillement.

Pourquoi les OLED scintillent : contrôle de la luminosité PWM

Le scintillement des écrans OLED est le résultat direct du mécanisme utilisé pour contrôler la luminosité de ces panneaux. Pour modifier la luminosité de l'écran (à la fois LCD conventionnel, sur lequel sont basées les matrices IPS, et OLED), vous pouvez soit réduire la tension fournie aux LED de rétroéclairage (ou aux LED individuelles dans le cas des OLED), soit utiliser ce qu'on appelle modulation de largeur d'impulsion.

La modulation de largeur d'impulsion contrôle la luminosité de l'image en allumant et éteignant les LED. Plus la période pendant laquelle le rétroéclairage est allumé est courte et plus la pause entre les allumages est longue, plus la luminosité perçue par l'œil humain est faible. Voici à quoi cela ressemble :

C’est le scintillement, et non la composante bleue nocive de la couleur ou les couleurs sursaturées des OLED, qui provoquent une fatigue et des migraines accrues. Le scintillement provoque la plus grande pression sur les yeux dans l'obscurité, lorsque la pupille est dilatée au maximum et que des éclairs lumineux bombardent littéralement la rétine.

OLED sans scintillement : mythe ou réalité ?

Est-il possible d'assembler un écran OLED sans scintillement ? Oui, c'est tout à fait possible, mais en pratique, c'est rarement utilisé. L'un des rares exemples de tels écrans est la matrice P-OLED, installée dans les smartphones LG G Flex 2. L'inconvénient de ces écrans était les effets suivants, qui apparaissaient avec une luminosité minimale :

Ce serait une erreur de croire que LG a rendu la matrice bien pire que celle de ses concurrents. À l'époque, les matrices Samsung avaient une qualité similaire, avec une différence majeure. Les panneaux OLED que Samsung installe dans tous ses produits phares scintillent à tous les niveaux de luminosité, même à 100 %. Pourquoi l'image sur une matrice scintillante semble-t-elle tellement plus nette que sur une OLED sans scintillement ?

L'effet est associé à la répartition des paramètres entre les LED adjacentes. La diffusion est présente sur les matrices de tous les fabricants, mais elle se manifeste davantage lorsqu'une basse tension est appliquée aux LED. L'effet est quelque peu similaire au bruit numérique lors de photographies dans des conditions sombres avec une vitesse d'obturation courte. Moins il y a de photons frappant les éléments photosensibles de la matrice - et moins il y a de photons émis par la diode OLED - plus la probabilité d'une erreur, de « bruit numérique inversé », est grande.

Samsung a résolu le problème en fournissant toujours la tension maximale aux LED et en ajustant la luminosité en utilisant le rapport cyclique des impulsions. Mais le scintillement constant de l'écran n'est pas du goût de tout le monde, et nombre de constructeurs ont opté pour une approche hybride : jusqu'à une certaine valeur, la luminosité est ajustée en réduisant la tension des LED ; Après avoir franchi un niveau minimum spécifié (généralement 15 à 50 %), une réduction supplémentaire de la luminosité est obtenue à l'aide du PWM.

Si nous parlons spécifiquement de l'iPhone X, la luminosité de celui-ci est ajustée comme suit (selon iXBT) :

Jusqu'au niveau de 50 %, il n'y a pas de scintillement ; une réduction supplémentaire de la luminosité est obtenue par un scintillement à une fréquence de 240 Hz. Cela a été démontré de manière convaincante par les critiques allemands du site Notebookcheck.net :

Comment vérifier le scintillement de l'écran

L'écran de votre téléphone scintille ? Même si vos yeux ne remarquent aucun scintillement, sa présence ou son absence peut être facilement vérifiée à la maison sans aucun équipement spécial. Il vous suffit d'ouvrir une page avec un fond blanc sur votre smartphone (par exemple, about:blank dans le navigateur Safari ou Chrome), de placer le téléphone dans une pièce sombre, de réduire la luminosité au minimum et de pointer la caméra d'un autre smartphone à l’écran. Si nous voyons quelque chose de similaire à ce qui est montré dans la vidéo ci-dessous, un scintillement de l'écran est présent :

Pour déterminer à quel niveau de luminosité l'écran cesse de scintiller, ouvrez le centre de contrôle et déplacez doucement le curseur de luminosité. La disparition des bandes diagonales signifie qu'il n'y a pas de PWM à un niveau de luminosité donné.

Il a été établi expérimentalement que l'iPhone X a un niveau de luminosité minimum sans scintillement de 50 %. Mais si vous maintenez la luminosité à ce niveau, dans des conditions sombres, l'appareil sera inconfortable à utiliser. L’objectif est de réduire le niveau de luminosité effectif de l’écran, mais d’éviter le scintillement.

Il s’avère que c’est tout à fait possible. Pour ce faire, il existe un mode spécial dans les paramètres iOS, qui se trouve dans les paramètres Accessibilité > Afficher les hébergements.

Dans ce mode, l'écran est assombri par un filtre logiciel. Pour activer ce mode, vous devez accéder à Afficher les hébergements et activer le curseur. Vous devez maintenant cliquer sur l'inscription Afficher les hébergements et activer le curseur Réduire le point blanc (voir capture d'écran). Essayez de commencer avec une valeur comprise entre 85 et 100 % et ajustez-la à un niveau confortable pour vos yeux (la luminosité de l'écran dans le centre de contrôle doit être de 50 %).

Désactivez PWM en trois clics

Nous avons donc pu activer un filtre logiciel qui désactive le scintillement de l'écran à de faibles niveaux de luminosité. Cependant, utiliser un téléphone avec le filtre toujours activé n'est pas pratique : en pleine lumière, l'écran sera toujours sombre.

Sur l'iPhone X, l'activation et la désactivation du filtre peuvent être effectuées en appuyant trois fois sur le bouton latéral, qui, dans les générations d'appareils précédentes, remplissait les fonctions d'allumage et d'extinction du téléphone. Pour ce faire, vous devez rechercher l'option Raccourci d'accessibilité dans les paramètres et l'attribuer pour activer ou désactiver la fonction Réduire le point blanc (voir captures d'écran).

C'est tout. Après avoir activé cette fonctionnalité, nous avons obtenu l'iPhone X, dont le scintillement de l'écran peut être rapidement activé et désactivé en appuyant trois fois sur le bouton latéral. Vous pouvez désormais utiliser l'appareil dans l'obscurité sans fatigue et désactiver rapidement le filtre sombre en appuyant trois fois sur le bouton latéral.

Informations Complémentaires

Et encore une fois, nous récupérerons le capteur de lumière BH1750. Cette fois, je propose non seulement de prendre des données sur le niveau d'éclairage, mais aussi d'ajuster la luminosité de tout appareil d'éclairage en fonction de ces données. Semblable au réglage de la luminosité de l'écran d'une tablette ou d'un smartphone - plus la lumière ambiante est brillante, moins la luminosité de l'éclairage est nécessaire, et vice versa, plus il fait sombre, plus la LED, les ampoules ou tout autre élément brûleront. Oui, tout cela peut être organisé sur la base d'une photodiode ou d'une photorésistance, mais de tels dispositifs doivent être configurés, calibrés, etc. Dans le cas de l'utilisation du capteur de lumière numérique BH1750, il n'est pas nécessaire d'effectuer ces actions, puisque tout a déjà été calibré devant nous ; les données prêtes à l'emploi sont transmises via le bus I2C, qu'il suffit de comparer avec l'état ; . En termes simples, je l'ai allumé et tout a immédiatement commencé à fonctionner sans mouvements inutiles. Si l'idée vous intéresse, continuez plus loin.

Nous allons construire l'appareil selon le schéma suivant :

Le système s’est avéré être le germe d’une idée, puisqu’il peut et doit être modernisé pour divers cas d’utilisation, mais nous y reviendrons plus tard.

Tout ici nous est déjà familier. Atmega8a est utilisé comme microcontrôleur comme le microcontrôleur le plus polyvalent et le plus populaire. Vous pouvez utiliser un microcontrôleur dans n'importe quel package - il n'y a aucune différence, à l'exception de l'ordre des broches sur les boîtiers. L'affichage s'effectue sur un écran LCD basé sur HD44780. Dans mon cas, j'utilise un écran avec 4 lignes de 20 caractères chacune, mais vous pouvez également utiliser la taille 1602 - peu d'informations sont affichées à l'écran, donc tout rentre. La résistance variable R2 est nécessaire pour régler le contraste des caractères sur l'écran. En tournant le curseur de cette résistance, nous obtenons pour nous les lectures les plus claires sur l’écran. Le rétroéclairage de l'écran LCD est organisé via les broches « A » et « K » sur le tableau d'affichage. Le rétroéclairage est activé via une résistance de limitation de courant - R1. Plus la valeur est élevée, plus le rétroéclairage de l'écran est faible. Il ne faut cependant pas négliger cette résistance pour éviter d’endommager le rétroéclairage. L'écran lui-même est connecté au microcontrôleur à l'aide d'un circuit 4 bits. La résistance R3 est nécessaire pour empêcher le redémarrage spontané du microcontrôleur en cas de bruit aléatoire sur la broche PC6. La résistance R3 tire la puissance plus vers cette broche, créant de manière fiable un potentiel à travers elle. La résistance R4 tire la patte du capteur vers la terre, qui est responsable de l'adresse du microcircuit pour l'interface I2C ; vous pouvez voir tous ces numéros dans le code source, qui se trouve à la fin de l'article ; Pour le bon fonctionnement de l'interface I2C, les résistances R7 et R8 sont nécessaires. Avec leur aide, une unité logique est formée sur les lignes du fait qu'elles sont tirées vers la puissance positive. Lors de la génération d'un zéro logique, les lignes sont mises à la terre par un maître ou un esclave (microcontrôleur ou capteur).

L'alimentation principale du circuit est de 3,3 volts, déterminée par les paramètres électriques du capteur de lumière BH1750. 5 volts sont nécessaires uniquement pour alimenter l'écran ; si vous utilisez, par exemple, un écran du Nokia 5110, qui nécessite également 3,3 volts pour l'alimenter, vous pouvez alors omettre le régulateur de tension de 5 volts du circuit. Les stabilisateurs de tension pour 5 volts et 3,3 volts peuvent être utilisés absolument pour des tensions similaires ; vous pouvez utiliser des stabilisateurs linéaires et pulsés.

Parlons maintenant de la modernisation du circuit. La base sera toujours le capteur lui-même et le microcontrôleur, ainsi que le circuit d'alimentation. L'écran LCD, doté de cette fonctionnalité, n'est nécessaire que pour le débogage. Il peut être exclu du circuit lorsqu'il est utilisé de manière autonome. C'est le premier. La seconde est la sortie du circuit, c'est-à-dire la LED HL1 - une LED ne peut pas éclairer un grand espace et vous devez utiliser quelque chose de plus massif - des LED puissantes, des lampes à incandescence ou autre chose. Ainsi, de tels dispositifs d'éclairage avec une consommation de courant et de tension relativement élevée ne peuvent pas être facilement connectés au microcontrôleur, sinon nous brûlerons simplement le microcontrôleur. Pour ce faire, vous devez utiliser des pilotes ou d'autres circuits. Si les ampoules à incandescence utilisent une tension alternative, vous devez utiliser un coupleur optosimistor et un triac puissant pour contrôler la luminosité de l'ampoule (il vous suffit de modifier le firmware pour contrôler l'optosimistor). Pour les lampes LED, le PWM peut être appliqué à la grille d'un transistor à effet de champ et allumer les LED à travers celui-ci (sans oublier de limiter ou de stabiliser le courant), ou utiliser des pilotes contrôlés pour celles-ci. En général, il existe de nombreuses options - il y en a une pour chaque cas. Le circuit présenté sera celui d'origine avec les fonctionnalités de base définies. Voici l'idée.

Le circuit suivant a été assemblé et débogué sur une carte de débogage en conjonction avec le module BH1750 :

La logique de fonctionnement n'est pas compliquée : nous lisons la valeur d'éclairage du capteur et convertissons cette valeur en un signal PWM. Il vous suffit de sélectionner le rapport entre le signal PWM et le niveau de lumière.

Pour déboguer le travail, une lampe de poche a été utilisée pour changer l'éclairage.

De plus, si une source de lumière apparaissait soudainement (cela pourrait être accidentel), la LED s'allumerait brusquement, ce qui n'est pas très confortable, c'est pourquoi un contrôle fluide du niveau PWM est mis en œuvre. C'est-à-dire, par exemple, qu'il y avait un faible éclairage - la LED était allumée, une courte impulsion de lumière a accidentellement frappé le capteur, par exemple des phares d'une voiture, la LED se serait éteinte brusquement et se rallumerait soudainement, sinon pour une régulation fluide. Autrement dit, avec un changement brusque d'éclairage, le PWM ne change pas brusquement, mais tend à atteindre la valeur calculée, augmentant ou diminuant d'une seule unité avec un léger retard. Et tant de fois, l'augmentation ou la diminution se produit jusqu'à ce que la valeur requise soit atteinte. Le code source en langage C est consultable en fin d’article.

De plus, pour programmer le microcontrôleur dans cette version, vous devez connaître la configuration des bits fusibles :

Et l'article est livré avec un firmware pour le microcontrôleur selon le schéma présenté, le code source du programme AVR Studio et une vidéo de démonstration (changement fluide de la luminosité des LED en fonction du niveau de lumière, qui est ajusté avec une lampe de poche).

Liste des radioéléments

Désignation Taper Dénomination Quantité NoteBoutiqueMon bloc-notes
IC1 MK-AVR 8 bits

ATmega8A

1 Vers le bloc-notes
IC2 Capteur de lumièreBH1750FVI-E1 Vers le bloc-notes
VR1 Régulateur linéaire

L7805AB

1 Vers le bloc-notes
VR2 Régulateur linéaire

AMS1117-3.3

1 Vers le bloc-notes
C1, C3, C5, C7 Condensateur100 nF4 Vers le bloc-notes
C2 470 µF1 Vers le bloc-notes
C4 Condensateur électrolytique220 µF1 Vers le bloc-notes
C6 Condensateur électrolytique10 µF1 Vers le bloc-notes
R1 Résistance

22 ohms

1 Vers le bloc-notes
R2 Résistance réglable10 kOhms1 Vers le bloc-notes
R3 Résistance

10 kOhms

1 Vers le bloc-notes
R4, R7, R8 Résistance

4,7 kOhms

3 Vers le bloc-notes
R5 Résistance

Les fabricants d'équipements portables, de postes de travail, d'ordinateurs portables, de téléphones mobiles et de jeux vidéo utilisent des écrans plats pour afficher du texte et des images. Les potentiomètres mécaniques sont traditionnellement utilisés pour régler le contraste et la luminosité de l'écran. Cependant, ils sont aujourd’hui remplacés par des dispositifs de commande numérique. Pour illustrer un circuit avec contrôle numérique de la luminosité et du contraste, on utilisera deux potentiomètres numériques de la famille Dallasstat DS1668/DS1669, qui en pratique peuvent être remplacés par n'importe quel autre potentiomètre numérique.

Les modèles DS1668/DS1669 ont été choisis en raison de leur interface simple à bouton-poussoir pour contrôler la position du curseur. L'interface à bouton-poussoir est la plus pratique pour régler le contraste des écrans LCD plats et est par essence très proche des potentiomètres mécaniques traditionnels. Plus important encore, les DS1668/DS1669 disposent d'une unité de mémoire non volatile intégrée qui conserve la position de la broche centrale après la mise hors tension du système. Le remplacement d'un composant mécanique par un composant numérique offre des avantages supplémentaires dans les domaines du contrôle, de la fiabilité et de l'automatisation du produit final. De plus, le DS1669 peut être contrôlé via un processeur central. Cette flexibilité d'application n'est pas disponible lorsque l'on travaille avec des résistances variables mécaniques. Le DS1669 étant une solution monolithique intégrée sans pièces mobiles, sa fiabilité par rapport aux solutions traditionnelles est indéniable. Dans le circuit de réglage du contraste, le potentiomètre DS1669 peut être situé sur la carte à l'écart du bouton de la section correspondante du panneau de commande d'affichage. Les DS1669 sont disponibles dans les boîtiers standard DIP-8 et SOIC-8 pour le montage automatisé de cartes.

Écrans à cristaux liquides.

Les écrans LCD peuvent être divisés en deux catégories : les modules alphanumériques et graphiques. Chacun d'eux, en fonction des besoins d'alimentation, dispose d'une entrée de tension de commande, qui dans la plupart des cas peut être modifiée pour ajuster le contraste. Le contraste de l'affichage peut changer en raison de changements dans la tension de commande appliquée ou dans la température ambiante. Les changements de température ont généralement pour effet indésirable de réduire considérablement le contraste de l’écran. Une résistance variable est utilisée pour réguler la tension de commande dans les cas où une augmentation de la tension peut surmonter l'effet du changement de température. Mais le point le plus important est que le potentiomètre permet de satisfaire toutes les envies de l'utilisateur en matière de luminosité et de contraste de l'écran.

Modules LCD alphanumériques.

Les indicateurs alphanumériques sont de petite taille et sont utilisés dans les systèmes portables. Les besoins en énergie de ces modules se résument à une seule alimentation de 5 V qui alimente à la fois l'écran LCD et le pilote logique. Une tension supplémentaire est nécessaire pour alimenter les fonctions de commande LCD (Fig. 1). La tension de commande du module VO est extraite du potentiomètre VR. La valeur nominale typique de ces potentiomètres est comprise entre 10 et 20 kΩ. Les modèles de potentiomètres de la série DS1669 ont les mêmes valeurs nominales.


Le potentiomètre DS1669 convient à tous les modules LCD présentant des conditions d'alimentation similaires. La figure 2 montre une configuration DS1669 qui répond à toutes les exigences d'alimentation et de tension de contrôle des modules LCD illustrés dans le diagramme 65. L'appareil est câblé comme un simple bouton-poussoir pour contrôler le mouvement de la broche centrale. Vous pouvez également utiliser une topologie à double bouton. Les commandes à un et deux boutons sont décrites ci-dessous. La broche coulissante, RW, du potentiomètre DS1669 est directement connectée à la broche de tension de commande du module LCD, VO. Pour le circuit d'alimentation représenté sur la Fig. 1, aucun composant supplémentaire n'est requis pour faire fonctionner le DS1669 avec le module LCD.

Modules LCD graphiques.

Les modules graphiques sont nettement plus grands que les écrans alphanumériques et fonctionnent avec des tensions d'alimentation différentes. Comme le montre la figure 3, l'alimentation de ces modules se compose d'une alimentation de 5 V pour alimenter la logique et d'une entrée VLCDC pour alimenter le module. La tension de commande VO, qui contrôle le contraste, provient de la source logique 5 V combinée à l'alimentation du module VLCD via le potentiomètre R. Comme c'est le cas pour les affichages alphanumériques, la valeur nominale du potentiomètre est comprise entre 10 et 20 kOhm. La tension sur la broche VO varie de 0 à (VLCD+ 5V) V. La tension d'alimentation du VLCD dépend du type d'affichage graphique utilisé.

La plage de tension VO empêche l'utilisation directe du DS1669, ainsi que d'autres potentiomètres fabriqués par Dallas Semiconductor. Pour atténuer les difficultés liées à la limite maximale de courant moteur et à la haute tension requise pour ce circuit, un potentiomètre numérique est utilisé conjointement avec un ampli opérationnel (Fig. 4). Le but d'un ampli opérationnel est de générer une tension de commande, VO, qui est hors spécifications lorsqu'elle est pilotée par un potentiomètre numérique. De plus, l'ampli-op limite la quantité de courant circulant à travers le moteur et fournit toute la plage de tension de contrôle pour le module LCD. L'alimentation 5 V utilisée pour alimenter la logique du module est également utilisée pour alimenter le potentiomètre DS1669 (voir Figure 4). Le potentiomètre agit comme un atténuateur pour le signal d'entrée 5 V vers la sortie non inversée de l'ampli opérationnel. La sortie de l'ampli-op contrôle la tension de contraste du module LCD, VO, et est calculée par la formule : où N est le nombre de positions du potentiomètre. Les valeurs nominales des résistances R1 et R2 sont sélectionnées selon la formule : La sélection des résistances R1 et R2 permet de modifier la tension de sortie de l'amplificateur opérationnel en fonction de l'alimentation nominale du module graphique LCD (fournie au broche VO). La broche du milieu est directement connectée à la broche non inverseuse de l'ampli-op, comme indiqué dans le schéma. Il est également recommandé d'utiliser une diode Schottky D1 (type 1N5818 ou équivalent) pour fournir une protection supplémentaire contre les surtensions lors de la mise sous et hors tension.

Principe de fonctionnement du DS1669.

Comme indiqué, le potentiomètre DS1669 dispose d'une simple interface à bouton-poussoir UDC (Up/DownControl). Le DS1669 peut être configuré pour une commande à un ou deux boutons. Dans ce cas, l'entrée numérique D permet de piloter le potentiomètre à l'aide d'un microcontrôleur ou d'un processeur.

Les schémas 5 et 6 montrent respectivement les deux configurations. Une fermeture de contact est définie comme une transition haut vers bas sur la broche haute (UC), la broche basse (DC) ou l'entrée numérique (D). Ces entrées sont inactives lorsqu'elles sont hautes.

La puce utilise la largeur d'impulsion d'entrée comme moyen de contrôler le mouvement du moteur. Une seule impulsion d'entrée sur les entrées UC, DC ou D modifie la position du curseur de 1/64ème de la résistance finale du potentiomètre. Aller haut ou bas sur ces entrées active l’appareil et provoque la fermeture du contact. Une seule impulsion de déclenchement doit dépasser 1 ms, mais ne pas durer plus de 1 s. Ceci est montré sur la Fig. 7a.

Des impulsions répétées sur les entrées du potentiomètre peuvent être utilisées pour déplacer le curseur plus rapidement (Fig. 7b). Les exigences relatives aux impulsions répétitives d'entrée sont les suivantes : elles doivent être séparées par un intervalle d'au moins 1 ms. Sinon, le DS1669 les traite comme une seule impulsion. Des impulsions de plus d'une seconde entraîneront un mouvement continu du curseur toutes les 100 ms après la première seconde. Le temps total pour atteindre la valeur limite du potentiomètre avec une impulsion continue peut être calculé par la formule : 1 (sec) + 63 x 100 ms = 7,3 (sec) La configuration à un bouton permet à l'utilisateur de contrôler la position du curseur dans les deux sens avec un seul bouton. La figure montre une configuration typique d'un tel circuit. L'entrée UC est utilisée pour augmenter et diminuer la résistance du moteur, c'est-à-dire Implémente le mode de fonctionnement à un bouton. L'entrée DC n'a aucune fonction opérationnelle dans ce mode, mais la broche doit être connectée à une alimentation positive (VCC).

La broche numérique (D) est en mode veille. Lors de la mise sous tension de l'appareil, il est nécessaire de câbler le circuit comme indiqué sur la figure 5, le potentiomètre fournira alors un fonctionnement à un bouton. L'entrée CC doit être connectée à une source de tension positive (VCC). La direction de déplacement du contact central dans une configuration à un seul bouton est déterminée par le pas principal. Le changement de direction de mouvement du moteur s'effectue par une période d'inactivité à l'entrée UC pendant une seconde ou plus. De plus, avec une configuration à un seul bouton, lorsque le curseur atteint sa position finale, sa direction change. Cela se produira indépendamment du fait que l'entrée soit une impulsion constante, continue ou unique. Lorsque le potentiomètre est configuré avec deux boutons, chaque direction du curseur est contrôlée respectivement par la broche supérieure UC et la broche inférieure DC. Il n'y a pas de mode veille pour changer la position du curseur en mode deux boutons. Lorsque le moteur atteint sa position extrême, la direction de son mouvement ne change pas. La position du curseur sera fixée au point final jusqu'à ce que le contact d'entrée de mouvement inverse soit activé. Tous les contacts de commande des boutons UC, DC et D sont chargés en externe avec une résistance de 100 kOhm. Les broches UC et DC sont protégées en interne contre les rebonds de contact et ne nécessitent pas de composants externes pour générer le signal.

Mémoire non volatile de la position du moteur.

Lorsque l'alimentation est coupée, la puce DS1669 mémorise la dernière position du curseur. Cette fonction est assurée par l'unité de mémoire EEPROM intégrée. En fonctionnement normal, la position du curseur est déterminée par le multiplexeur d'entrée. Périodiquement, le multiplexeur met à jour les données EEPROM des cellules mémoire. L'ordre de mise à jour des cellules a été optimisé par les développeurs pour une plus grande fiabilité, durabilité et efficacité. De plus, l’opération de mise à jour est totalement ouverte à l’utilisateur. Si les paramètres du Dallasstat sont modifiés après la mise sous tension, la nouvelle valeur est enregistrée avec un délai pouvant aller jusqu'à 2 secondes. Après avoir enregistré les mesures initiales, les modifications ultérieures dans la structure de la mémoire EEPROM ne se produiront que si la position du curseur change de plus de 12,5 % de la résistance finale du potentiomètre. Tout autre changement après la mise sous tension inférieur à 12,5 % n'est pas stocké dans les cellules mémoire EEPROM. Puisque Dallasstat dispose d'un multiplexeur 64-1, une variation de 12,5% correspond à une modification du quatrième bit le moins significatif (LSB). Les modifications ou les enregistrements dans la mémoire EEPROM ont un délai de 2 secondes pour garantir la mise à jour des données. La mémoire EEPROM a 80 000 cycles d'écriture évalués. Si la mémoire atteint sa pleine capacité, Dallasstat conservera ses fonctionnalités tant que l'appareil sera sous tension. Cependant, la remise sous tension ramènera le potentiomètre au niveau de résistance qui a été stocké en dernier avant l'épuisement de la mémoire.

Mikhaïl Krioukov
Ville de Moscou.

Je travaille actuellement sur un projet Arduino utilisant un écran TFT. Récemment, j'ai voulu y ajouter une fonction apparemment simple : une fonction de contrôle de la luminosité. J'ai trouvé la méthode requise dans la documentation de la bibliothèque pour travailler avec un écran TFT (bibliothèque UTFT) : setBrightness(br);

De quoi avons nous besoin?

  • Comme base, j'ai utilisé Frearduino ADK v.2.2 basé sur le processeur ATmega2560
  • Méga bouclier TFT LCD v.2.2
  • L'écran lui-même est un 7" TFT LCD SSD1963 ()
  • Bibliothèque UTFT - une bibliothèque universelle pour travailler avec les écrans TFT (vous pouvez trouver la bibliothèque elle-même, ainsi que la documentation)
  • Fer à souder

Parlons du matériel

Après avoir ouvert le circuit d'affichage, vous pouvez voir que le convertisseur mp3032 dispose de trois entrées : LED-A, PWM, 5V. Initialement, PWM est inactif. Cette entrée n’est pas du tout utilisée. Le rétroéclairage est contrôlé par LED-A.


Si vous regardez à l'arrière de l'écran, vous trouverez une zone intitulée « Contrôle du rétroéclairage ». C’est là que nous trouverons ces mêmes entrées. Pour contrôler le rétroéclairage à l'aide de la méthode PWM, vous devez vous assurer que tout est inverse : LED-A est inactive, PWM est actif. Pour ce faire, vous devrez ressouder le cavalier. Voici une photo de ce à quoi cela devrait ressembler :

Partie logicielle

Puisque notre bibliothèque ne peut pas fournir ce dont nous avons besoin, nous écrirons nous-mêmes la fonction nécessaire. Pour ce faire, ouvrez la documentation du contrôleur qui contrôle l'affichage (SSD1963). Le SSD1963 est contrôlé à l'aide de commandes spéciales transmises depuis Arduino via des sorties spéciales, décrites dans la documentation :

Le contrôle s'effectue comme suit : sorties Arduino via RS (D/C dans le tableau) 0 si on va transmettre une commande, 1 si on va transmettre des données. Après avoir transmis la commande, RS passe à 1, puis les paramètres nécessaires sont transmis. Toutes les commandes et paramètres sont transmis via les sorties D0-D7. Si vous possédez un ATmega2560, ces huit sorties sont combinées dans le port C.

Alors, commençons par écrire une fonction pour transmettre des données sur le bus. Pour plus de facilité d'utilisation, j'écrirai directement dans UTFT.h :

Void Lcd_Writ_Bus(uint8_t bla) ( digitalWrite(WR,LOW); //Configurer le SSD1963 pour lire digitalWrite(CS, LOW); PORTC = bla; //Transférer les données vers le bus sous la forme d'un octet digitalWrite(CS,HIGH) ; digitalWrite( WR,ÉLEVÉ);

Il convient également de prêter attention aux noms des méthodes, car la bibliothèque peut déjà contenir des fonctions portant les mêmes noms.
Ajoutons deux fonctions pour générer des commandes et des données :

Void Lcd_Write_Com(uint8_t data) ( digitalWrite(RS,LOW); //Basculer RS ​​en mode de lecture de commande, c'est-à-dire 0 Lcd_Writ_Bus(data); ) void Lcd_Write_Data(uint8_t data) ( digitalWrite(RS,HIGH); //Switch RS en mode lecture de données, soit 1 Lcd_Writ_Bus(data)

Maintenant, le réglage du rétroéclairage lui-même. Pour savoir comment faire tout cela, ouvrez la documentation et recherchez la commande pour configurer PWM.

Note:
PWM peut être contrôlé à l'aide de DBC - un système de contrôle dynamique de la luminosité, mais par souci de simplicité, je ne l'ai pas utilisé. Si vous le souhaitez, vous pouvez trouver les informations nécessaires dans la même documentation.

Voici donc ce dont nous avons besoin :

C'est-à-dire que nous devons d'abord transmettre la commande «0xBE», puis, en tant que 3 paramètres, transmettre la fréquence du signal, la durée du rapport cyclique, ainsi que le troisième paramètre qui détermine si DBC est activé ou non (0x01 - désactivé , 0x09 - activé) .

Pour régler la luminosité elle-même, il vous suffit de modifier la fréquence du cycle de fonctionnement. Puisque nous transmettons les données sous forme d'un octet, les valeurs de boucle peuvent aller de 0 à 255. J'ai décidé de définir 9 niveaux de luminosité (de 0 à 8). Par conséquent, les 256 valeurs doivent être divisées en 9 étapes. Mais il convient également de prêter attention au fait que si les étapes sont égales, la luminosité ne changera pas aussi doucement que nous le souhaiterions. C'est-à-dire que déjà, par exemple, à la 4ème étape, la luminosité sera presque maximale, et de la 4ème à la 8ème étape, elle changera presque imperceptiblement. Compte tenu de cela, j'ai décidé d'utiliser une progression géométrique avec un dénominateur de 2. C'est-à-dire que la luminosité sera calculée à l'aide de la formule suivante : (2^lvl) - 1, où lvl est le niveau de luminosité de 0 à 8. Notez que puisque les valeurs partent de zéro, vous devez alors en soustraire un. Bien sûr, vous pouvez choisir vous-même les étapes et leurs valeurs, mais j'ai donné cet exemple assez simple. Maintenant le code lui-même :

Void setBright (niveau d'octet) ( luminosité d'octet (1); pour (octet i (1); i<= lvl; i++) //Возведение в степень brightness *= 2; Lcd_Write_Com(0xBE); //Вывод команды Lcd_Write_Data(0x01); //Ставим частоту 760Гц Lcd_Write_Data(brightness-1); //Выводим длину рабочего цикла Lcd_Write_Data(0x01); //Отключаем DBC }

Vous pouvez maintenant utiliser UTFT.setBright(byte lvl);