View on GitHub

Driver d'afficheur LCD (liaison série asynchrone type RS232)

Description de la classe ELCD162 développée en C# sous .NETMF 4.3 pour les cartes Netduino et FEZ (PANDA, COBRA...)

Download this project as a .zip file Download this project as a tar.gz file

Sommaire

  1. LE MATERIEL
    1. L'afficheur LCD 2 x 16 caractères à commandes séries
    2. Les cartes Netduino
    3. Les cartes FEZ
  2. LE LOGICIEL
    1. Contenu du répertoire proposé au téléchargement
    2. Le NuGet MicroToolsKit
    3. Le wiki .NetMF v4.3
    4. Description et utilisation de la classe ELCD162
  3. LIENS
    1. Exemples codés en C# pour les cartes Netduino et Fez (Panda 3, BrainPad)
    2. La page du projet MicroToolsKit

1. LE MATERIEL


1.1 L'afficheur LCD 2 x 16 caractères à commandes séries



1.2 Les cartes Netduino

Secret Labs

Netduino plus 2 Netduino 3 wifi
Netduino 3 Ethernet Netduino 3 wifi*

1.3 Les cartes FEZ

GHI Electonics (Extrait)

PANDA III COBRA III
PANDA III COBRA III* (compatible Gadgeteer)

2. LE LOGICIEL


2.1 Contenu du répertoire proposé au téléchargement


Le répertoire proposé au téléchargement (au format zip ou tar.gz) contient la solution ELCD162 composée :


2.2 Le NuGet MicroToolsKit

La dernière version compilée de la classe ELCD162 se situe dans la bibliothèque MicroToolsKit disponible sur nuget.org.

Organisation des classes contenues dans MicroToolsKit [lien]

Installer cette bibliothèque dans le projet simplifie l'utilisation de cette classe.


2.3 Le wiki .NetMF v4.3


2.4 Description et utilisation de la classe ELCD162


Création d'un projet avec l'IDE Visual Studio

  1. Créer un nouveau projet en suivant la démarche décrite dans le chapitre "Premier programme en C# étape par étape" avec à une carte Netduino ou avec une carte Fez (Panda 3, BrainPad etc). [lien]
  2. Utiliser le gestionnaire de paquets NuGet pour ajouter l'assembly MicroToolsKit (disponible sur nuget.org) dans le répertoire Références du projet (clic droit sur Références puis Gérer les packages NuGet...)
  3. Ajouter l'espace de noms Microtoolskit.Hardware.Displays dans l'en-tête du fichier source.
  4. Créer un objet en utilisant un des constructeurs ELCD162.
  5. Initialiser le LCD avec la méthode Init.
  6. Transmettre les chaînes de caractères avec la méthode PutString

Exemple

using System.Threading;
using Microtoolskit.Hardware.Displays;

namespace TestNetduinoELCD_162
{
 public class Program
 {
  public static void Main()
  { 
	float valeur = 0;
	ELCD162 lcd = new ELCD162();
	Lcd.Init(); Lcd.ClearScreen(); Lcd.CursorOff();

	while(true)
	{
		valeur = valeur + 0.11;
		lcd.PutString("Temperature = " + valeur.Tostring("F1"));
		Thread.Sleep(100);	
	}
  }
 }
}
			

Constructeurs

Syntaxe Description
ELCD162() Instancie un objet "Afficheur LCD série" avec les paramètres: COM2, 19200b/s, pas de parité, 8bits, 1 bit de stop.

Exemple
ELCD162 lcd = new ELCD162();
ELCD162( string com, int baudrate, Parity parite, int bits, StopBits stopb) Instancie un objet "Afficheur LCD série" avec des paramètres de communication personalisés .
  • com: port série sélectionné sur la carte Netduino (SerialPorts.COMx [x=1, 2, 3 ou 4]).
    Privilégier les ports COM2 et COM3 avec la carte TinkerKit.
  • baudrate: Débit binaire (19200b/s ou 4800b/s)
  • parite: type de parite (System.IO.Ports.Parity.x [x=Even, Mark, None, Odd ou Space])
  • bits: nombre de bits des données (7 ou 8)
  • stopb: nombre de bits de stop (System.IO.Ports.StopBits.x [x=None, One, OnePointFive ou Two])

Méthodes publiques

Syntaxe Description
void ClearScreen() Efface le LCD et positionne le curseur en (0,0).

Exemple
lcd.ClearScreen();
void CursorOff() Désactivation du curseur.

Exemple
lcd.CursorOff();
void CursorOn() Activation du curseur.

Exemple
lcd.CursorOn();
void Init() Initialisation de l'afficheur.
Toute première méthode à appliquer !

Exemple
lcd.Init();
void PutString( string text) Transmet une chaîne de caractères au LCD.
text: chaîne de caractères codés conformément à la table du processeur HD44780

Exemple 1
lcd.PutString("Afficheur");

Exemple 2
lcd.PutString("Temperature = " + valeur.Tostring("F1"));
void SetCursor( byte x, byte y) Place le curseur à la position définie par x (0 à 19 suivant le nombre de caractères de l'écran)
et y (0 à 3 suivant le nombre de lignes).
Si x=0 et y=0 le curseur sera situé en haut à gauche de l'écran.

Exemple
lcd.SetCursor(0,1); // Curseur sur le premier caractère de la deuxième ligne.