Stap 10: Nieuwste stream omzoomde code (schets) inbouwen. Loopt sneller, beter kijkt!
Deze sketch is bewerkt sneller de lus wordt uitgevoerd... vernieuwingsfrequentie is ongeveer 1.5 seconden.
Kopieer de schets hieronder en plak het in de Arduino IDE controleren en uitvoeren van het programma.
deze schets is gemaakt met behulp van de code van de steekproef schetsen van adafruit, virtuabotix en newPing
#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8
#define ANALOG_IN 0 / / voor cd's sensor licht
#define TRIGGER_PIN 12 / / Arduino pin gebonden aan pin op de ultrasone sensor te activeren.
#define ECHO_PIN 11 / / Arduino pin gebonden aan echo pin op de ultrasone sensor.
#define MAX_DISTANCE 200 / / maximale afstand die wij wilt pingen voor (in centimeters). Maximale sensor afstand wordt begroot op 400-500cm.
#include < Adafruit_GFX.h > / / Core grafische bibliotheek
#include < Adafruit_ST7735.h > / / hardwarespecifieke bibliotheek
#include < SPI.h >
#include < dht11.h > / / DHT11 temp vochtigheid sensor bibliotheek
#include < NewPing.h > / / S04 ultrasone sensor bibliotheek
dht11 DHT11;
Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);
NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); NewPing installatie van pennen en maximale afstand.
ongeldig setup(void) {}
DHT11.attach(2); instellen van de digitale poort 2 zin DHT11 input
tft.initR(INITR_BLACKTAB); initialiseren van een tab ST7735S-chip, zwart
uint16_t keer = millis(); tijd berekeningen schets runtime in seconden weergeven
tft.fillScreen(ST7735_BLACK);
tijd = millis() - tijd;
tftPrintTest(); Eerste introductie tekst, uncomment als u wilt weergeven op scherm
tft.fillScreen(ST7735_BLACK); Scherm wissen
*** Afdrukken statische objecten tentoongesteld in de instelling ongeldig ter bespoediging van de lus leegte ***
tft.fillScreen(ST7735_BLACK); scherm wissen
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
tft.setCursor(0,0);
TFT.println ("Sketch geweest");
TFT.println ("lopende voor:");
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 ("vochtigheid (%):");
tft.setTextColor(ST7735_YELLOW);
TFT.println ("temperatuur (F):");
tft.setTextColor(ST7735_YELLOW);
TFT.println ("temperatuur (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 ("licht intensiteit");
}
void loop {}
tft.setCursor (50, 20);
tft.setTextSize(2); instellen van de tekstgrootte van de voor seconden
tft.setTextColor (ST7735_BLUE, ST7735_BLACK); Stel de kleur seconden
TFT.Print(Millis() / 1000);
tft.setTextSize(1); tekstgrootte van de voor alle data afkomstig van DHT11 instellen
tft.setCursor (98, 60);
tft.setTextColor (ST7735_GREEN, ST7735_BLACK); voor alle data afkomstig van DHT11 kleur instellen
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); LEES LICHTSENSOR WAARDE
tft.setTextColor (ST7735_YELLOW, ST7735_BLACK); lichtsensor gegevens tekstkleur instellen
TFT.Print (val, 1); LICHTSENSOR WAARDE AFDRUKKEN
TFT.Print("");
delay(50); Wachten 50 MS tussen pings (ongeveer 20 pings/sec). 29ms moet de kortste wachttijd tussen pings.
unsigned int ons = sonar.ping(); Ping te sturen, ping tijd in microseconden (VS).
tft.setCursor(0,130);
tft.setTextColor(ST7735_RED);
TFT.Print ("afstand:");
tft.setTextColor (ST7735_YELLOW, ST7735_BLACK);
TFT.Print(US / US_ROUNDTRIP_CM); Converteren van ping tijd afstand te drukken resultaat (0 = buiten bepaalde afstand bereik, geen ping echo)
tft.setTextColor(ST7735_RED,ST7735_BLACK);
TFT.Print ("cm");
delay(50);
}
ongeldig 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);
}