Mini Arduino miljön bildskärm ** uppdatering - lagt till RTC *** (14 / 14 steg)
Steg 14: Ladda upp skissen nedan för att få tid och temperatur i din mini display!
Denna skiss ändrades för att köra loopen snabbare... uppdateringsfrekvensen är ca 1,5 sekunder.
Kopiera den skiss nedan och klistra in det i Arduino IDE att verifiera och köra programmet.
Denna skiss skapades med hjälp av koden från adafruit-biblioteken
#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8
#define ANALOG_IN 3 / / för CD-skivor ljus sensor
#include < Adafruit_GFX.h > / / Core grafik bibliotek
#include < Adafruit_ST7735.h > / / maskinvaruspecifika bibliotek
#include < SPI.h >
#include < Wire.h > / / bibliotek behövs för RTC
#include "RTClib.h" //RTC bibliotek
#include < dht11.h > / / DHT11 temp luftfuktighet sensor bibliotek
RTC_DS1307 RTC;
dht11 DHT11;
Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);
void setup(void) {
DHT11.attach(2); ställa in digital port 2 känna DHT11 input
Wire.BEGIN();
RTC.begin();
tft.initR(INITR_BLACKTAB); initiera en ST7735S chip, svart flik
tft.fillScreen(ST7735_BLACK);
tftPrintTest(); Ursprunglig introduktion text, ta bort kommentar för att visa på skärmen
tft.fillScreen(ST7735_BLACK); Tydlig skärm
*** Utskrift statiska objekt visas i inställningen för ogiltiga för att påskynda loop void ***
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 ("luftfuktighet (%):");
tft.setTextColor(ST7735_YELLOW);
TFT.println ("temperatur (F):");
tft.setTextColor(ST7735_YELLOW);
TFT.println ("temperatur (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 ("ljusstyrka");
}
void loop() {
tft.setCursor(10,0);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(1);
TFT.println("
tft.setTextColor(ST7735_YELLOW,ST7735_BLACK);
tft.setTextSize(1);
tft.setCursor(30,10);
DateTime nu = RTC.now();
TFT.Print(Now.Year(), DEC);
TFT.Print('/');
TFT.Print(Now.month(), DEC);
TFT.Print('/');
TFT.Print(Now.Day(), DEC);
TFT.println(' ');
tft.setCursor(15,25);
tft.setTextSize(2);
tft.setTextColor(ST7735_BLUE,ST7735_BLACK);
TFT.Print(Now.Hour(), DEC);
TFT.Print(':');
TFT.Print(Now.Minute(), DEC);
TFT.Print(':');
TFT.Print(Now.Second(), DEC);
TFT.println("");
tft.setTextSize(1); ställa in textstorleken för alla data som kommer från DHT11
tft.setCursor (98, 60);
tft.setTextColor (ST7735_GREEN, ST7735_BLACK); Ange färg för alla data som kommer från 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); LÄS LJUSSENSOR VÄRDE
tft.setTextColor (ST7735_YELLOW, ST7735_BLACK); Ange ljussensor data textfärg
TFT.Print (val, 1); SKRIVA UT LJUSSENSOR VÄRDE
TFT.Print("");
}
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);
}