• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Uno + BME280 + ESP8266 + clock (NTP)
#1
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




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);

}
 
Odpowiedź
  


Wiadomości w tym wątku
Uno + BME280 + ESP8266 + clock (NTP) - przez darekpawel - 12-11-2019, 22:35

Skocz do:


Przeglądający: 1 gości