Paso 2: código
El siguiente código es todavía un trabajo en progreso, pero es funcional. Háganos saber si usted encuentra problemas o tiene sugerencias para mejoras.
/*
Ejemplo de texto de Arduino TFT
Este ejemplo muestra cómo dibujar texto la
TFT con un Arduino.
Este ejemplo de código es de dominio público
Creado el 15 de abril de 2013 por Scott Fitzgerald
http://Arduino.CC/en/Tutorial/TFTDisplayText
Modificadas por Steve Spence de http://arduinotronics.blogspot.com
*/
#include "SPI.h"
#include "ST7735.h"
Pernos de SCLK y MOSI son fijos en hardware y el pin 10 (o 53)
debe ser una salida
#define sclk 13 / / para pin 52 MEGAs
#define mosi 11 / / para pin 51 MEGAs
#define cs 10 / / MEGAs probablemente desea que sea perno 53
#define dc 9
#define rst 8 / esto puede conectar el reset Arduino
definición de perno para Leonardo
#define cs 7
#define dc 0
#define rst 1
crear una instancia de la biblioteca
TFTscreen TFT = TFT (cs, dc, rst);
array de char a imprimir a la pantalla
char tempPrintout [6];
char humPrintout [6];
Ejemplo prueba de boceto para diferentes sensores de humedad/temperatura DHT
Escrito por ladyada, dominio público
Conversión de Fahrenheit Añadida por Steve Spence, http://arduinotronics.blogspot.com
#include "DHT.h" / / https://learn.adafruit.com/dht/downloads
#define DHTPIN 2 / / Qué pin estamos conectados a
Quite el comentario de cualquier tipo que utilizas!
#define DHTTYPE DHT11 / / DHT 11
#define DHTTYPE DHT22 / / DHT 22 (AM2302)
#define DHTTYPE DHT21 / / DHT 21 (AM2301)
Conectar pin + (media) del sensor de + 5V
Conectar el pin S (a la derecha) del sensor a lo que tu DHTPIN
Conectar el pin - (a la izquierda) del sensor de suelo
Conectar la resistencia de 10 k entre S y +
Ciclos de int = 2000;
DHT dht (DHTPIN, DHTTYPE);
Float h;
flotador t;
void setup() {}
Agrega esta línea al principio de cada dibujo que utiliza el GLCD:
TFTscreen.begin();
limpiar la pantalla con un fondo negro
TFTscreen.background (0, 0, 0);
Escriba el texto estático a la pantalla
establece el color de fuente en blanco
TFTscreen.stroke(255,255,255);
establecer el tamaño de fuente
TFTscreen.setTextSize(2);
escribir el texto en la esquina superior izquierda de la pantalla
TFTscreen.text ("Temp (F)", 0, 0);
escribir el texto en la esquina superior izquierda de la pantalla
TFTscreen.text ("humedad (%)", 0,60);
ste el tamaño de fuente muy grande para el bucle de
TFTscreen.setTextSize(4);
DHT.Begin();
}
void loop() {}
Lea el valor del sensor de temp/humedad en D2
Lectura de temperatura o la humedad toma alrededor de 250 milisegundos.
Lecturas del sensor también pueden ser hasta 2 segundos 'old' (es un sensor muy lento)
h = dht.readHumidity();
t = dht.readTemperature();
t = (t * 1.8) + 32; C conversión de F
Cadena tempVal = doubleToString (t, 2);
Cadena humVal = doubleToString (h, 0);
String sensorVal = String(1.234);
convertir la lectura en una matriz de char
tempVal.toCharArray (tempPrintout, 6);
humVal.toCharArray (humPrintout, 6);
establecer el color de la fuente
TFTscreen.stroke(255,255,255);
imprimir el valor de sensor
TFTscreen.text (tempPrintout, 0, 25);
TFTscreen.text (humPrintout, 0, 85);
Espere un momento
Delay(cycleTime);
borrar el texto que acabo de escribir
TFTscreen.stroke(0,0,0);
TFTscreen.text (tempPrintout, 0, 25);
TFTscreen.text (humPrintout, 0, 85);
}
Rondas de abajo (a través de truncamiento de la conversión del intermediario entero)
String doubleToString (doble entrada, int LugaresDecimales (DecimalPlaces)) {}
{if(decimalPlaces!=0)}
String cadena = String((int)(input*pow(10,decimalPlaces)));
if(ABS(INPUT) < 1) {}
if(INPUT>0)
cadena = "0" + cadena;
otro if(input<0)
cadena = string.substring(0,1)+"0"+string.substring(1);
}
volver string.substring(0,string.length()-decimalPlaces) + "." + string.substring(string.length()-decimalPlaces);
}
Else {}
volver String((int)input);
}
}