1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/*
Code d'exemple pour le capteur LM35 (2°C ~ +110°C) avec une meilleure précision.
*/
#include <LiquidCrystal_I2C.h> // Include the required Arduino libraries:
LiquidCrystal_I2C LCD(0x27, 16, 2); // Create a new instance of the LiquidCrystal_I2C class:
float Temp = 0;
byte Degree[] = { // Degree symbol:
B00111,
B00101,
B00111,
B00000,
B00000,
B00000,
B00000,
B00000,
};
byte EAccentAigu[] = { // e accent aigu
B00010,
B00100,
B01110,
B10001,
B11111,
B10000,
B01110,
B00000,
};
// Fonction setup(), appelée au démarrage de la carte Arduino
void setup() {
// Initialise la communication avec le PC
Serial.begin(9600);
// Améliore la précision de la mesure en réduisant la plage de mesure
analogReference(INTERNAL1V1); // Pour Arduino MEGA 2560
pinMode(13, OUTPUT); // met la broche numérique en sortie
LCD.init(); // Start the LCD and turn on the backlight:
LCD.backlight();
LCD.createChar(0, Degree); // Create a custom character:
LCD.createChar(1, EAccentAigu);
}
// Fonction loop(), appelée continuellement en boucle tant que la carte Arduino est alimentée
void loop() {
// Mesure la tension sur la broche A11
int Temp = analogRead(A1);
// Transforme la mesure (nombre entier) en température via un produit en croix
float temperature_celcius = Temp * (1.1 / 1008.0 * 100.0);
// Envoi la mesure au PC pour affichage et attends 1 seconde
Serial.println(temperature_celcius);
delay(1000);
//
LCD.setCursor(0, 0); // Print the temperature on the LCD;
LCD.print ("Temp"); // mot Température avec accent aigu
LCD.write (byte (1)); // affiche le caractère personnalisé EAccentAigu
LCD.print ("rature:");
LCD. setCursor ( 0, 1 ) ;
LCD.print ((int)(float) (temperature_celcius));
LCD.print('.');
LCD. print ((int)((float)(temperature_celcius - (int)temperature_celcius) * 10 )) ;
LCD. write(byte (0)) ; // affiche le caractère personnalisé Degré
LCD. print ( "C" ) ;
if (temperature_celcius >= 26.5){
digitalWrite (13, HIGH) ;
}
else {
digitalWrite (13, LOW) ;
}
} |
Partager