como não vamos usar o SD e nem o touch da tela ( por enquanto) . vamos ligar somente o necessário
Com isso nos sobra 4 I/O .
No arduino respectivamente
LCD_RD --> A0
LCD_WR-->A1
LCD_RS -->A2
LCD_CS -->A3
LCD_RS -->A4
LCD_D0 ~ D7 --> D2~D8
Já no DHT11
A ligação é feita da seguinte forma
Pino 1 --> +5V
Pino 2 --> Sinal
Pino 3--> Não usado
Pino 4 --> GND
O pino 2 vai ligado a porta D12 do arduino .
--
#include <DHT.h>
#define DHTPIN 12
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#include "TFTLCD.h"
#include <SPI.h>
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4
#define BLACK 0x0000
const int WIDTH = 240;
const int HEIGHT = 320;
uint16_t color;
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
int thisChar = 'a';
void setup()
{
tft.reset();
tft.initDisplay();
tft.fillScreen(BLACK);
//teste
dht.begin();
//
tft.fillScreen(BLACK);
tft.setCursor(30,0);
tft.setTextColor(BLUE);
tft.setTextSize(4);
tft.println("A");
tft.setCursor(60,0);
tft.setTextColor(BLUE);
tft.println("rduino");
tft.setTextSize(2);
tft.setCursor(70,40);
tft.setTextColor(GREEN);
tft.println("brasil");
tft.setTextSize(2);
tft.setTextColor(WHITE);
tft.println("");
tft.println("www.filipelop.com.br");
tft.println("");
tft.println("Termo-Higrometro");
tft.print("Digital");
}
void loop(void)
{
delay(500);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
float hi = dht.computeHeatIndex(f, h);
tft.setCursor(0,2);
tft.fillScreen(BLACK);
tft.print("Humidade: ");
tft.print(h);
tft.println("%");
tft.setCursor(0,30);
tft.print("Temperatura ");
tft.print(t);
tft.println("C ");
tft.setCursor(0,60);
tft.println("Sensacao Termica");
hi=(hi-32)*0.56;
tft.print(hi);
tft.println("C");
delay(1000);
}
Amigo, você sabe como ligar somente o necessário desse lcd de forma que dê para usar apenas o sd card?
ResponderExcluir