Transformer un écran LDC en écran LCD I²C

Bonjour,
aujourd'hui nouveau tutoriel de ma part après un long moment d'absence sur le forum et dans le monde de l'Arduino.

Il existe déjà des écrans LCD I²C pour arduino, mais c'est plus drôle et intéressant quand c'est nous qui faisons !

Ce tutoriel a pour but de transformer un écran LCD en écran LDC I²C. Pourquoi faire ça ? Et bien, si vous avez un écran LCD vous savez qu'il y a énormément de broches à câbler, ça prend donc plusieurs E/S de la carte, si vous avez une Nano ou une carte de ce type, il y a moins de broches que sur les autres :).

Le principe de l'I²C ne sera pas expliqué ici.

L'I²C permet de n'avoir que 2 E/S d'utilisées, il faut câbler les pins de l'écran au PCF8574 mais la finalité a pour but de libérer des E/S sur la carte.

Pour ce faire, nous utiliserons ici un PCF8574 qui nous permet de faire de l'I²C.

Vous trouverez ci-dessous le schéma de câblage de l'écran sur le PCF8574 et du PCF8574 à l'Arduino :

Voici un tableau détaillant les pins à relier :

Pour le code, c'est la que c'est simple :slight_smile:

Il faut utiliser les bibliothèques:

- [url=https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library]LiquidCrystal_I2C[/url]
- Wire

Nous avons donc ce code :

#include <LiquidCrystal_I2C.h>
#include <Wire.h>

Il faut maintenant initialiser l'adresse de l'écran donc l'adresse du PCF8574 et les dimensions de l'écran :

// 0x20 : Adresse du PCF8574
// 20 : colonnes de l'écran
// 4 : lignes de l'écran
LiquidCrystal_I2C lcd(0x20, 20, 4);

A l'aide de la fonction setup nous allons initialiser l'écran :

void setup() {
  // Initialisation de l'écran
  lcd.begin();

  // Affichage d'un texte à l'initialisation
  lcd.print("LCD I2C avec PCF8574");

  // Délais en fin d'initialisation de la carte 
  delay(100);
}

Pour afficher du texte sur l'écran LCD maintenant en I²C utilise les mêmes fonctions qu'un écran LCD classique, donc setCursor et print, exemple :

void loop() {
  lcd.setCursor(0, 0);
  lcd.print("Test d'affichage sur");
  lcd.setCursor(0, 1);
  lcd.print("l'afficheur LCD en");
  lcd.setCursor(0, 2);
  lcd.print("I2C avec un PCF8574");
}

Voici le code du programme au complet :

#include <LiquidCrystal_I2C.h>
#include <Wire.h>

LiquidCrystal_I2C lcd(0x20, 20, 4);

void setup() {
  lcd.begin();
  lcd.print("LCD I2C avec PCF8574");
  delay(100);
}

void loop() {
  lcd.setCursor(0, 0);
  lcd.print("Test d'affichage sur");
  lcd.setCursor(0, 1);
  lcd.print("l'afficheur LCD en");
  lcd.setCursor(0, 2);
  lcd.print("I2C avec un PCF8574");
}

Voilà le tutoriel est fini, j’espère qu'il vous sera utile.

Cordialement Manghao.

Bonjour, je vous remercie pour chaque seconde passé afin d'éclairer les utilisateurs Arduino, étant nouveau et novice je garde ce tuto en favoris, mon projet est justement d'utiliser un écran shield à bouton avec un funduino uno r3 afin de gérer la température dans un frigo d'affinage en utilisant dht11 et module 2 relais ou canaux, merci encore.

Bonjour,

Je n'arrive pas à ouvrir vos photo, serai t il possible de les remettre ou me les adresser par courriel .

xxxxxxxxx

Merci
Amicalement

Edit de JFS : Adresse mail supprimée par JFS

Probablement que les photos étaient hébergées sur un site qui les a purgé.

Méthode à suivre :

  1. placer les photos en pièce jointe
    faire un Preview pour faire apparaitre le menu "Attachments"
    choisir les photos
    poster le message -> les photos sont maintenant sur le serveur arduino

  2. survoler le lien de chaque photo à la souris et copier son adresse.

  3. ouvrir le message en édition et utiliser l'icone "Ecran" à gauche de la "chaine"
    y copier l'adresse de la photo

Recommencer autant de fois qu'il le faut.

@hehu : édite vite ton post et supprime ton adresse email , ce que tu as fait est super dangereux.

Bonjour,
Merci, mais les photo son illisible.

Amicalement

Non pour moi elles ont disparu dans les grands ménages des sites où soit disant on peut déposer des photos.