Bonsoir tout le monde,
Suite à vos précédents postes qui m'ont vivement intéressés j'ai finalement opté pour la version "tableau" je ne sais pas si c'est comme ça qu'ont dit, cette option me donne le résultat attendu, ce n'est peut être pas la plus économe en mémoire, mais pour une utilisation ponctuelle elle a l'avantage de faire afficher le caractère que l'ont veux... je vais me faire une matrice sur papier pour définir le code voulu 0101010..... 0 c'est vide, 1 c'est noir.....
l'avantage aussi est de pouvoir faire des caractères en négatif (fond noir) en inversant les 0 et 1.
J'ai remarqué également qu'il y aune # d’affichage entre le "LCD" et le "Serial.print" apparemment le même code caractère s'affiche de façon # exemple le symbole °,
Donc voici le code en entier il y a surement des améliorations a apportées!!! j'ai fait avec les moyens du bord.
#include <LiquidCrystal.h> // charger la librairie LiquidCrystal
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; //Associe les pins de LiquidCrystal avec les pins de l'Arduino
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
#include <dht11.h> // charger la librairie DHT11
dht11 DHT11; // Créer le capteur DHT11 (Humidité/Température)
#define DHT11PIN 7 // Définir la pin utilisée sur Arduino pour lire le capteur DHT11
//Tableau dessin caractére °
byte degrees[8] = {
B01100,
B10010,
B10010,
B01100,
B00000,
B00000,
B00000,
B00000
};
void setup() {
}
void loop() {
int chk = DHT11.read(DHT11PIN); // Lecture du capteur
lcd.createChar(0, degrees); // Variable du caractère "°"
lcd.begin(16, 2); //Configure le nombre de colonnes et de rangées du LCD'S
lcd.setCursor(0,0); //début ligne 1
lcd.print("Humid.: "); // Affiche "Humid.: "
lcd.print((float)DHT11.humidity, 0); // Affiche la valeur Humidité
lcd.print(" %"); // Affiche "%" Humidité
lcd.setCursor(0,1);//début ligne 2
lcd.print("Temp. : "); // Affiche "Temp.:"
lcd.print((float)DHT11.temperature, 0); // Affiche la valeur Température
lcd.write(byte(0));// Affiche "°" Caractére
lcd.print('C'); // Affiche "C" Température
delay(2000); //pause 2s fige l'affichage des valeurs
for (int positionCounter = 0; positionCounter < 16; positionCounter++) { // Calcul nouvelle positions à gauche
lcd.scrollDisplayLeft(); //Avance d'une position à gauche <
delay(100); // pause 1/100s entre chaque position
}
delay(100); // pause 1/100s (Retard à la fin de la boucle compléte)
}
CDLT