12-11-2019, 22:35
Zobiłem stację pogody na BME280... Plus wyświetla też sekwencyjnie pewien tekst...
Chciałbym dołożyć do tego zegart "ściągający" czas po NTP; z zastosowaniem ESP8266...
Ale utknąłem...
O ile kod 'stacji pogody' znalazłem i wgrałem, o tyle nie za bardzo wiem jak do tego dołaczyć kod zegara NTP...
Na innym form znalazłem interesujący mnie kod, ale coś nie za bardzo wychdzi mi zgranie całości...
NTP / ESP8266 / zegar
Chciałbym dołożyć do tego zegart "ściągający" czas po NTP; z zastosowaniem ESP8266...
Ale utknąłem...
O ile kod 'stacji pogody' znalazłem i wgrałem, o tyle nie za bardzo wiem jak do tego dołaczyć kod zegara NTP...
Na innym form znalazłem interesujący mnie kod, ale coś nie za bardzo wychdzi mi zgranie całości...
NTP / ESP8266 / zegar
Kod:
/////screen
#include <Wire.h>
#include "Adafruit_GFX.h"
#include "Adafruit_SSD1306.h"
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 11
#define DELTAY 21
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
/////////////////////////////BME280
#include "BlueDot_BME280.h"
BlueDot_BME280 bme280 = BlueDot_BME280();
//////////////////////////////
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32)
display.display();
Serial.println(F("Basic Weather Station"));
bme280.parameter.communication = 0;
bme280.parameter.I2CAddress = 0x76;
bme280.parameter.sensorMode = 0b11;
bme280.parameter.IIRfilter = 0b100; //Setup for IIR Filter
bme280.parameter.humidOversampling = 0b101; //Setup Humidity Oversampling
bme280.parameter.tempOversampling = 0b101; //Setup Temperature Ovesampling
bme280.parameter.pressOversampling = 0b101; //Setup Pressure Oversampling
bme280.parameter.pressureSeaLevel = 1013.25; //default value of 1013.25 hPa
bme280.parameter.tempOutsideCelsius = 15; //default value of 15°C
if (bme280.init() != 0x60)
{
while (1);
}
else
{
Serial.println(F("BME280 detected!"));
}
Serial.println();
Serial.println();
}
void loop()
{
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.print("T");
display.setCursor(25, 0);
display.print(bme280.readTempC());
display.setCursor(115, 0);
display.print("C");
display.drawCircle(110, 2, 2, WHITE); // put degree symbol ( ° )
display.setTextSize(2);
display.setCursor(0, 17);
display.print("H");
display.setCursor(25, 17);
display.print(bme280.readHumidity());
display.setCursor(115, 17);
display.print("%");
display.setCursor(0, 36);
display.print("P");
display.setCursor(25, 36);
display.print(bme280.readPressure());
display.setCursor(110, 43);
display.setTextSize(1);
display.print("hPa");
display.setCursor(25, 56);
display.setTextSize(1);
display.print("Alt. ");
display.print(bme280.readAltitudeMeter());
display.print(" m");
display.display();
delay(3000);
display.clearDisplay();
display.setCursor(15, 0);
display.setTextSize(2);
display.print(" Adres:");
display.setCursor(15, 16);
display.setTextSize(2);
display.print("SomeCity");
display.setCursor(15, 36);
display.setTextSize(2);
display.print("41-803");
display.setCursor(5, 55);
display.setTextSize(1);
display.print("st. Green 32");
display.display();
delay(1000);
display.clearDisplay();
display.setCursor(15, 3);
display.setTextSize(1);
display.print("GPS Position:");
display.setCursor(15, 26);
display.setTextSize(1);
display.print("N 48 14'"" 0.308\"");
display.drawCircle(42, 28, 2, WHITE); // put degree symbol ( ° )
display.setCursor(15, 54);
display.setTextSize(1);
display.print("E 21 13'"" 26.108\"");
display.drawCircle(42, 56, 2, WHITE); // put degree symbol ( ° )
display.display();
delay(1000);
}