Afficher la température sur un écran LCD RGB
Matériel nécessaire
Arduino
Grove Temperature
Grove LCD RGB
2 câbles Grove
une breadboard
des câbles
Montage
Connecter les 2 câbles groove avec les câbles “standard”.
Le capteur de température va être lu en analogique sur le port A0.
L’écran sera branché en I2C directement sur les ports SDA et SCL de l’Arduino.
Le montage sur breadboard
Rien de compliqué sur ce montage
Le code
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 |
#include <math.h> #include <Wire.h> #include "rgb_lcd.h" rgb_lcd lcd; const int colorR = 255; const int colorG = 0; const int colorB = 0; const int B=4275; // B valeur de la thermistor const int R0 = 100000; // R0 = 100k const int pinTempSensor = A0; // Grove - Temperature à connecter sur A0 void setup() { // Défini le nombre de colonne et de ligne lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); } void loop() { int a = analogRead(pinTempSensor ); float R = 1023.0/((float)a)-1.0; R = 100000.0*R; float temperature=1.0/(log(R/100000.0)/B+1/298.15)-273.15;//converti la temperature en fonction de la datasheet ; //Si la température est <23 alors le rétroéclairage sera en couleur "GOLD" if (temperature < 23) { lcd.setRGB(255,165,0); } //Si la température est >23 alors le rétroéclairage sera en couleur "Rouge" if (temperature > 23) { lcd.setRGB(255,0,0); } // mettre le curseur en colonne 0 et ligne 1 lcd.setCursor(0, 1); // On affiche la température lcd.print(temperature); delay(100); } |