25 mars 2012
Arduino leçon 5 ancienne version

présentation de l'afficheur LCD
La plupart des afficheurs à 16 broches ont le même branchement, quelque soit leur marque. La broche n°1 est celle qui est proche de l'angle.

broche | utilisation |
1 | GND |
2 | +5 |
3 | contraste |
4 | RS |
5 | R/W |
6 | Enable |
7 | DB0 |
8 | DB1 |
9 | DB2 |
10 | DB3 |
11 | DB4 |
12 | DB5 |
13 | DB6 |
14 | DB7 |
15 | +5 |
16 | GND |
Le contraste (pin 3) s'ajuste avec un potentiomètre entre +5 et GND
On n'utilisera que 4 entrées du data bus (DBx)
le programme LCD_16x2
/* programme LCD_16x2
Utilisation de l'afficheur 16 x 2 */
branchements de l'afficheur :
* RS à digital pin 12
* Enable à digital pin 11
* D4 à digital pin 5
* D5 à digital pin 4
* D6 à digital pin 3
* D7 à digital pin 2
* R/W à ground (on écrit sans avoir à lire)
* potentiomètre 10K entre +5V and ground
- curseur relié à pin 3 (luminosité) */
// il faut inclure le fichier qui contient les commandes de l'afficheur
#include LiquidCrystal.h>
// initialiser les commandes avec les n° de broches utilisées
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// initialiser le nombre de colonnes et de lignes
lcd.begin(16, 2);
lcd.print("Bonjour");
}
void loop() {
lcd.setCursor(0, 1); // col 0, ligne 1 (la seconde)
// affichage du temps écoulé
lcd.print(millis()/1000);
}
Entrée analogique
Une entrée analogique ne se contente pas de 0 ou 5 volts : elle est capable d'analyser 1024 valeurs.
Pour afficher cette valeur, il faudra la traduire en volts tout simplement en cherchant son 1/205ème ( 5 volts divisés par 1024 ).
Nous allons appliquer sur l'entrée analogique 0 une tension variable venant d'un potentiomètre.
Dans notre programme, nous replacerons l'affichage du temps par celui de la tension.
dans les déclarations, on ajoute
float sensorValue = 0;
float voltage;
float désigne un nombre en virgule flottante et permet de stocker des nombres décimaux.
et on modifie la boucle :
void loop() {
sensorValue = analogRead(0);
voltage = sensorValue/205;
lcd.setCursor(0, 1);
lcd.print(voltage);
lcd.setCursor(5,1);
lcd.print("V");
}
haut de la page
