Mise en oeuvre I2C vers LCD carte chinoise sur Arduino

 Mise en oeuvre de la carte I2C vers LCD

I2C to LCD

Cela pourrait être simple mais avec une librairie et un schéma faux c’est pas toujours facile avec les chinois. Je partage mon expérience comme ça vous gagnerez du temps 😉

Vous avez la possibilité de changer l’adresse I2C par les straps A0 A1 A2 visible sur la photo ci dessous:

lcd to i2cLCDbp-1Aucun strap donne l’adresse 0x27. Il est important de télécharger la bonne librairie et de paramètrer l’adresse I2C du périphérique.
Adress PCF 8574Vous pouvez utiliser un scanner I2C qui vous donne l’adresse du périphérique sur le moniteur série.

Scanning…

I2C device found at address 0x27  !
done

Les étapes:
On installe la librairie
On determine l’adresse I2C
On réalise un nouveau programme en copiant le source
On change l’adresse si nécessaire.

Pour le câblage:

on relie le VCC au 5V et GND au GND de l’Arduino
le SDA sur A4
le SCL sur A5
I2Ctolcdcablage

Le source du programme d’affichage LCD
Mise à disposition du fichier suite à des problème de copier/coller.
I2CtoLCDexemple.ino (supprimer l’extension .txt):
——————————————————-

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

/*
** Example Arduino sketch for SainSmart I2C LCD Screen 16×2
** based on https://bitbucket.org/celem/sainsmart-i2c-lcd/src/3adf8e0d2443/sainlcdtest.ino
** by
** Edward Comer
** LICENSE: GNU General Public License, version 3 (GPL-3.0)

** This example uses F Malpartida’s NewLiquidCrystal library. Obtain from:
** https://bitbucket.org/fmalpartida/new-liquidcrystal

** Modified – Ian Brennan ianbren at hotmail.com 23-10-2012 to support Tutorial posted to Arduino.cc

** Written for and tested with Arduino 1.0
**
** NOTE: Tested on Arduino Uno whose I2C pins are A4==SDA, A5==SCL

*/
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x27 // <<—– Mettre votre adresse
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

int n = 1;

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup()
{
lcd.begin (16,2); // <<—– My LCD was 16×2
// Switch on the backlight
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home (); // go home

lcd.print(« —F8ASB.COM—« );
lcd.setCursor (0,1);
lcd.print( » Le Blog « );
}

void loop()
{

}
—————————————————————————

photo copieMontage de l’écran LCD sur mon shield  via la prise I2C prévue.

Les caractères spéciaux

Si vous souhaitez créer des caractères spéciaux il existe un outils en ligne pour générer vos propres caractères spéciaux. Custom character creator

liquid crystal generatorrésultat en image:
caractere special LCD

 

smetrearduinoRéalisation d’un S-mètre par F5EIC
Exemple pour le symbole Omega réalisation manuel:
                       byte newChar[8] = {
.....       00000       B00000,
.XXX.       01110       B01110,
X...X       10001       B10001,
X...X  --\  10001  --\  B10001,
.X.X.  --/  01010  --/  B01010,
.X.X.       01010       B01010,
XX.XX       11011       B11011,
.....       00000       B00000 };
Vous pouvez recevoir un email dès la parution d’un article sur le Blog, entrez votre mail sur la fenêtre à gauche et cliquer sur abonnement.
Ce contenu a été publié dans arduino, BANGGOOD, Microcontrolleur, Raspberry, Svxlink, avec comme mot(s)-clé(s) , , , . Vous pouvez le mettre en favoris avec ce permalien.