Mise en oeuvre de la carte I2C vers 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:
Aucun 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.
Vous 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
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()
{
}
—————————————————————————
Montage 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
Ré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 };
Ping : MindPeace – Solution Technique | Téléfab