Bonjour, j'ai trouvé ce code pour un système de ventilation. J'aimerais remplacer le codage concernant le ST7735 par un codage pour un écran LCD 16x2. Est-ce que quelqu'un pourrait m'aider ? Je cherche depuis 1 semaine mais je n'y arrive pas. Merci.
Hello, I found this code for a ventilation system. I would like to replace the ST7735 coding with a 16x2 LCD coding. Could someone help me? I’ve been looking for a week but I can’t. Thank you.
#include "DHT.h"
#include <Adafruit_GFX.h> // Bibliothèque graphique de base
#include <Adafruit_ST7735.h> // bibliothèque spécifique à la puce ST7735
#include <SPI.h>
#include "Wire.h"
// Définition des pin SainSmart
#define sclk 13 // SainSmart: SCL
#define mosi 11 // SainSmart: SDA
#define cs 10 // SainSmart: CS
#define dc 9 // SainSmart: RS/DC
#define rst 8 // SainSmart: RES // peut être connecté a la RAZ arduino
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);
// Définition des pin DHT22
// Pin 1 (a gauche) +5V
// Pin 2 data DHTPIN -> pin 4 Arduino
// Placer une résistance de 10K entre les Pins 1 et 2
// Pin 4 Masse
#define DHTPIN 4
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
// Définition des consignes :
const int intTimePause = 3000; // Actualisation des valeurs toutes les 3 secondes
int relai_humi = 7; // Relier le pin IN1 du relai au pin 7 de l'Arduino
int cons_humi = 53; // Consigne d'humidité
int relai_temp = 3; // Si installation d'un radiateur, relier le pin IN2 du relai au pin 3 de l'Arduino
int cons_temp = 20; // Consigne température
void setup(void) {
Serial.begin(9600);
Serial.print("Hello! ST7735 TFT Test");
Serial.println("DHTxx test!");
pinMode (relai_humi,OUTPUT);
//pinMode (relai_temp,OUTPUT); // À décommenter pour activer le relai radiateur
Serial.begin(9600);
// Utilisez ce code pour un 1.8" TFT
tft.initR(INITR_BLACKTAB); // initialise le ST7735S chip, black tab
// Utilisez ce code pour un 1.44" TFT
//tft.initR(INITR_144GREENTAB); // initialise le ST7735S chip, black tab
Serial.println("Initialized");
tft.setRotation(45);
uint16_t time = millis();
tft.fillScreen(ST7735_BLACK);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
// Paramètres de l'affichage
tft.setTextSize(2);
tft.setCursor(10, 10);
tft.setTextColor(ST7735_MAGENTA);
tft.print("Temperature ");
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(2);
tft.setCursor(30, 30);
tft.fillRect (0,30,100,20,0x0000);
tft.print(t);
tft.print("C");
tft.setTextSize(2);
tft.setTextColor(ST7735_YELLOW);
tft.setCursor(20,60);
tft.print("Humidite");
tft.setCursor(30,80);
tft.setTextColor(ST7735_CYAN);
tft.fillRect (0,80,100,20,0x0000);
tft.print(h);
tft.print("%");
tft.setTextSize(1);
tft.setTextColor(ST7735_GREEN);
tft.setCursor(30,110);
tft.print("Salle de bain");
// Affichage sur moniteur série Arduino ou par BlueTooth
Serial.print ("Humidité : ");
Serial.println (h);
Serial.print ("Température : ");
Serial.println (t);
Serial.println(" ");
if (digitalRead(relai_humi)==HIGH)
{
Serial.println ("Ventilateur en marche");
}
else
{
Serial.println ("Ventilateur arret");
}
Serial.println(" ");
if (digitalRead(relai_temp)==HIGH)
{
Serial.println ("Chauffage en marche");
}
else
{
Serial.println ("Chauffage arret");
Serial.println(" ");
}
Serial.println(" ");
Serial.println(" ");
// Commande des relais
// Humidité : mise en marche/arrêt de la ventilation
if (h >= (cons_humi + 2.00)) // Si la mesure h est > ou + à la consigne +2.00 : allumage extracteur
{
digitalWrite (relai_humi,LOW); // Si la mesure h est < à la consigne +1.00 : arrêt extracteur
}
else
if (h < (cons_humi - 1))
{
digitalWrite (relai_humi,HIGH);
}
delay (intTimePause);
// Température : mise en marche/arrêt du radiateur // Décommenter toutes les lignes ci dessous
//if (t >= (cons_temp + 2)) // Si la mesure t est > ou = à la consigne +2.00 : allumage chauffage
//{
// digitalWrite (relai_temp,LOW);
//}
//else
//if (t < (cons_temp - 1)) // Si la mesure t est < à la consigne -1.00 : arrêt chauffage
//{
// digitalWrite (relai_temp,HIGH);
//}
//delay (intTimePause);
//}
}