• 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
Problem z sekundnikiem.
#1
Witam. 
Postanowiłem zrobić sobie taki projekcik jak zegarek z termometrem.
 Użyłem do tego projektu Arduino Nano, DS1307, DS18B20 oraz wyświetlacz Oled.
Problemem jest wskazanie sekund. A mianowicie czasem pokazuje sekunda po sekundzie, ale zazwyczaj pokazuje co drugą sekundę a wskazania sekund są nie metryczne. Czas wyświetlenia między zmianami nieraz trwa więcej niż sekundę a czasem ułamek sekundy. 
  Proszę o sprawdzenie kodu i wskazanie błędu. 

Kod PHP:
#include <Wire.h>
#include <DS1307.h>
#include <SPI.h> 
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
DS1307 clock;
RTCDateTime dt;
 
#define ONE_WIRE_BUS 11
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup()
{
 
 clock.begin();
 
 display.begin(SSD1306_SWITCHCAPVCC0x3C);
 
 display.clearDisplay();
 
 display.setTextSize(1);
 
 display.setTextColor(WHITE);
 
 display.setCursor(25,0);
 
 display.println("inicjalizacja");
 
 display.setTextSize(2);
 
 display.setTextColor(WHITE);
 
 display.setCursor(25,15);
 
 display.println("DS 1307"); 
 
 display.display();
 
 sensors.begin();
 
 
  if 
(!clock.isReady())
 
 {
 
   
    clock
.setDateTime(__DATE____TIME__);
 
   
  
}
 
 delay(2000);
}
 
void loop()
{
 
 dt clock.getDateTime();
 
 sensors.requestTemperatures();
 
 display.clearDisplay();
 
 display.setTextSize(1);
 
 display.setTextColor(WHITE);
 
 display.setCursor(0,0);
 
 display.print("TEMPERATURA =");
 
 display.setTextSize(1);
 
 display.setTextColor(WHITE);
 
 display.setCursor(84,0);
 
 display.print(sensors.getTempCByIndex(0));
 
 display.setTextSize(1);
 
 display.setTextColor(WHITE);
 
 display.setCursor(30,25);
 
 display.print(dt.day);
 
 display.print(" - ");
 
 display.print(dt.month);
 
 display.print(" - ");
 
 display.print(dt.year);
 
 display.setTextSize(2);
 
 display.setTextColor(WHITE);
 
 display.setCursor(20,9);
 
 display.print(dt.hour);
 
 display.print(":");
 
 display.print(dt.minute);
 
 display.print(":");
 
 display.print(dt.second);
 
 display.display();
 
 delay(1000);

 
Odpowiedź
  


Wiadomości w tym wątku
Problem z sekundnikiem. - przez ferdricco - 10-03-2017, 22:35
RE: Problem z sekundnikiem. - przez namok - 10-03-2017, 23:14
RE: Problem z sekundnikiem. - przez ferdricco - 11-03-2017, 00:12
RE: Problem z sekundnikiem. - przez namok - 11-03-2017, 09:50
RE: Problem z sekundnikiem. - przez Smaczek - 11-03-2017, 15:22
RE: Problem z sekundnikiem. - przez ferdricco - 11-03-2017, 22:54
RE: Problem z sekundnikiem. - przez ferdricco - 19-03-2017, 23:03
RE: Problem z sekundnikiem. - przez Smaczek - 20-03-2017, 15:04
RE: Problem z sekundnikiem. - przez ferdricco - 20-03-2017, 23:28
RE: Problem z sekundnikiem. - przez Smaczek - 21-03-2017, 09:44
RE: Problem z sekundnikiem. - przez ferdricco - 22-03-2017, 00:10

Skocz do:


Przeglądający: 1 gości