• Post category:Nano
  • Post comments:2 commentaires
  • Post last modified:mars 12, 2022
  • Temps de lecture :4 min de lecture

Piloter ventilateur selon la température avec DHT11 + Relais + TFT TZT GMT130 ST7789 + Arduino nano *

 

 

    Prérequis :

Matériel :

  • 1 x Carte Arduino Nano
  • 1 x TFT TZT GMT130 ST7789 
  • 1 x DHT11
  • 1 x Module 1 Relais 5V
  • 1 x Ventilateur 12V
  • 1 x Alimentation 12v
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

Bibliothèque :

  • DHT.h
  • Adafruit_GFX.h
  • Adafruit_ST7789.h

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

#include "DHT.h"
#define DHTPIN 2 //Définit le pin du DHT11
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789
#include <SPI.h>             // Arduino SPI library

// ST7789 TFT module connections
#define TFT_CS    10
#define TFT_DC     8
#define TFT_RST    9

// Initialize Adafruit ST7789 TFT library
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);

#define Relais    7   //Définit le pin du Relais
float tempON = 23.30; //Température allumage ventilateur
float tempOFF = 23;   //Température extinction ventilateur
int EtatRelais;

void setup(void) {
  Serial.begin(9600);
  dht.begin();
  pinMode(Relais, OUTPUT);
  tft.init(240, 240, SPI_MODE2);
  tft.setRotation(2);
  tft.setTextWrap(false);
  tft.fillScreen(ST77XX_WHITE);
}

void loop() {
  int h = dht.readHumidity();
  float t = dht.readTemperature();
  if (t >= tempON && EtatRelais == 0) {
    EtatRelais = 1;
  }
  if (t <= tempOFF && EtatRelais == 1) {
    EtatRelais = 0;
  }
  digitalWrite(Relais, EtatRelais);

  tft.setCursor(40, 10);
  tft.setTextColor(ST77XX_BLACK, ST77XX_WHITE);
  tft.setTextSize(4);
  tft.print(t);
  tft.drawCircle(171, 15, 4, ST77XX_BLACK);
  tft.drawCircle(171, 15, 5, ST77XX_BLACK);
  tft.setCursor(180, 10);
  tft.print("C");

  tft.setCursor(100,60);
  tft.setTextColor(ST77XX_BLACK, ST77XX_WHITE);
  tft.setTextSize(3);
  tft.print(h);
  tft.print("%");

  tft.setCursor(15, 120);
  tft.setTextColor(ST77XX_BLACK, ST77XX_WHITE);
  tft.setTextSize(3);
  tft.print("Relais :");
  if (EtatRelais) {
    tft.setTextColor(ST77XX_GREEN, ST77XX_WHITE);
    tft.print(" ON ");
  }
  else {
    tft.setTextColor(ST77XX_RED, ST77XX_WHITE);
    tft.print(" OFF");
  }
  
  tft.setCursor(10, 170);
  tft.setTextColor(ST77XX_GREEN, ST77XX_WHITE);
  tft.setTextSize(3);
  tft.print(" ON :");
  tft.setTextColor(ST77XX_BLACK, ST77XX_WHITE);
  tft.print(tempON);

  tft.setCursor(10, 200);
  tft.setTextColor(ST77XX_RED, ST77XX_WHITE);
  tft.setTextSize(3);
  tft.print("OFF :");
  tft.setTextColor(ST77XX_BLACK, ST77XX_WHITE);
  tft.print(tempOFF);
}

 


 

Cet article a 2 commentaires

  1. Yves

    Bonjour est ce que ça peut fonctionner avec une alim 12v par panneau photovoltaique 20w pour un petit ventilo de rechauff air solaire.(mode autonome)

    1. steven

      Bonjour,
      Ça peut fonctionner après, il faut prendre pas mal de chose en compte.
      Savoir si le chargeur solaire arrivera à charger la batterie par rapport à la consommation éventuelle de l’installation
      Cordialement,

Laisser un commentaire