Paso 10: Última secuencia forrado construir código (boceto). Se ejecuta más rápido, se ve mejor!
Este bosquejo fue modificado para ejecutar el bucle más rápido... frecuencia de actualización es cerca de 1.5 segundos.
copiar el bosquejo abajo y péguela en el IDE de Arduino verificar y ejecutar el programa.
Este dibujo fue creado usando el código de los dibujos muestra adafruit, virtuabotix y newPing
#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8
#define ANALOG_IN 0 / / para CD sensor de luz
#define TRIGGER_PIN 12 / / pin Arduino atado para activar el pin en el sensor de ultrasonidos.
#define ECHO_PIN 11 / / atado de Arduino pin a pin en el sensor ultrasónico del eco.
#define MAX_DISTANCE 200 / / distancia máxima queremos ping para (en centímetros). Distancia máxima del sensor está valorada en 400-500cm.
#include < Adafruit_GFX.h > / / Biblioteca de gráficos de base
#include < Adafruit_ST7735.h > / / específicos de Hardware de biblioteca
#include < SPI.h >
#include < dht11.h > / / del biblioteca de sensor de humedad DHT11
#include < NewPing.h > / / sensor ultrasónico de S04 biblioteca
dht11 DHT11;
Tft de Adafruit_ST7735 = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);
Sonar de NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); NewPing instalación de pernos y distancia máxima.
void setup(void) {}
DHT11.Attach(2); Configurar puerto digital 2 para detectar entrada DHT11
tft.initR(INITR_BLACKTAB); inicializar una ficha de chip, negro ST7735S
tiempo de uint16_t = millis(); cálculos de tiempo para mostrar la ejecución de croquis en segundos
tft.fillScreen(ST7735_BLACK);
tiempo = millis() - tiempo;
tftPrintTest(); Inicial el texto de la introducción, quite el comentario para ver en pantalla
tft.fillScreen(ST7735_BLACK); Limpiar la pantalla
*** Impresión elementos estáticos en la pantalla en la configuración de vacía para acelerar el bucle vacío ***
tft.fillScreen(ST7735_BLACK); borrar la pantalla
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
tft.setCursor(0,0);
TFT.println ("boceto ha sido");
TFT.println ("corriente para:");
tft.setCursor (40, 40);
tft.setTextColor(ST7735_WHITE);
TFT.println("seconds");
tft.drawLine (0, 50, (tft.width)-1, 50, ST7735_WHITE);
tft.setCursor (0, 60);
tft.setTextColor(ST7735_YELLOW);
TFT.println ("Temperature (C):");
tft.drawLine (0, 110, (tft.width)-1, 110, ST7735_WHITE);
tft.setTextColor(ST7735_WHITE);
TFT.println ("humedad (%):");
tft.setTextColor(ST7735_YELLOW);
TFT.println ("temperatura (F):");
tft.setTextColor(ST7735_YELLOW);
TFT.println ("temperatura (K):");
tft.setTextColor(ST7735_WHITE);
TFT.println ("Dew Point (C):");
tft.setTextColor(ST7735_WHITE);
TFT.println("DewPointFast(C):");
tft.setCursor(0,115);
tft.setTextColor(ST7735_YELLOW);
TFT.Print ("intensidad de la luz");
}
void loop() {}
tft.setCursor (50, 20);
tft.setTextSize(2); establecer tamaño de texto para segundos
tft.setTextColor (ST7735_BLUE, ST7735_BLACK); establecer color para segundos
TFT.Print(Millis() / 1000);
tft.setTextSize(1); establecer tamaño de texto de todos los datos provenientes de DHT11
tft.setCursor (98, 60);
tft.setTextColor (ST7735_GREEN, ST7735_BLACK); establecer color para todos los datos provenientes de DHT11
TFT.Print((float)DHT11.temperature,2);
tft.setCursor (98, 68);
TFT.Print((float)DHT11.humidity,2);
tft.setCursor (98, 76);
TFT.Print(DHT11.Fahrenheit(), 2);
tft.setCursor (98, 84);
TFT.Print(DHT11.Kelvin(), 1);
tft.setCursor (98, 92);
TFT.Print(DHT11.dewPoint(), 2);
tft.setCursor(98,100);
TFT.Print(DHT11.dewPointFast(), 2);
tft.setCursor(98,115);
int val = analogRead(ANALOG_IN); VALOR DE LECTURA SENSOR DE LUZ
tft.setTextColor (ST7735_YELLOW, ST7735_BLACK); configurar color de texto de datos de sensor de luz
TFT.Print (val, 1); IMPRIMIR VALOR DE SENSOR DE LUZ
TFT.Print("");
Delay(50); Esperar 50ms entre pings (pings alrededor de 20 por segundo). 29ms debería ser el retraso más corto entre pings.
unsigned int nos = sonar.ping(); Enviar ping, ping tiempo en microsegundos (uS).
tft.setCursor(0,130);
tft.setTextColor(ST7735_RED);
TFT.Print ("distancia:");
tft.setTextColor (ST7735_YELLOW, ST7735_BLACK);
TFT.Print(US / US_ROUNDTRIP_CM); Convertir el tiempo de ping de distancia e imprimir el resultado (0 = distancia fija exterior gama, no echo ping)
tft.setTextColor(ST7735_RED,ST7735_BLACK);
TFT.Print ("cm");
Delay(50);
}
void tftPrintTest() {}
tft.setTextWrap(false);
tft.fillScreen(ST7735_BLACK);
tft.setCursor (0, 10);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
TFT.println("
Delay(500);
tft.setCursor (0, 60);
tft.setTextColor(ST7735_RED);
tft.setTextSize(2);
TFT.println("TEMPERATURE");
tft.setTextColor(ST7735_YELLOW);
tft.setTextSize(2);
TFT.println("Humidity");
tft.setTextColor(ST7735_GREEN);
tft.setTextSize(2);
TFT.println("monitor");
tft.setTextColor(ST7735_BLUE);
Delay(50);
}