Skocz do zawartości

Połączenie dwóch esp8266 do pomiaru temperatur


Pomocna odpowiedź

Ok, już rozumiem, ale projekt nie do końca jest mojego pomysłu, to tylko przerobiony (ulepszony o zewnętrzne czujniki)  projekt innej osoby,

która zrobiła również apkę dla android.

W dodatku przerobiony tylko i wyłącznie dzięki ogromnemu wkładowi innej osoby z tego forum (pewnie się domyślasz o kim piszę).

Oczywiście jak poprawię oled i zorganizuję jakieś boxy na te urządzonka to wszystko mogę ładnie opisać, udokumentować i wrzucić dla innych.

Może ktoś wykorzysta.

Jeszcze raz dziękuję za pomoc, a teraz muszę się napić (również za Twoje zdrowie).

4 godziny temu, jaro44 napisał:

Napisałem, bo to już miałem opanowane, wyświetlacz wersji autora termika dodałem i działał jak chciałem.

Pewnie tradycyjnie znów jakąś pierdółką przeoczyłem, zaraz to sprawdzam i poprawiam.

delay mogę użyć, czy też kombinować z millis?

nie odpowiedziałeś mi jeszcze na jedno istotne pytanie

mogę delay użyć dla wyświetlania, czy może coś namieszać?

obraz.png

7 minut temu, jaro44 napisał:

mogę delay użyć dla wyświetlania, czy może coś namieszać?

A możesz w ogóle zapomnieć o istnieniu delay? Poza nadajnikiem oraz funkcją setup głównego programu (które nie są interaktywne) nie powinno być żadnych delay (poza kilkoma przypadkami, które tu akurat nie występują).

Gdzie chciałbyś tego delaya wsadzić i po co? Pamiętaj, że w czasie delay:

a) nie odbierasz danych z zewnętrznych termometrów

b) nie odpowiadasz na zapytania termika

c) nie mierzysz temperatury

d) i tak dalej

Powiedz po co ten delay, znajdziemy inne rozwiązanie (ew. sam znajdziesz jak się postarasz).

2 minuty temu, ethanak napisał:

Powiedz po co ten delay, znajdziemy inne rozwiązanie (ew. sam znajdziesz jak się postarasz).

Nie no, pewnie znajdę na przykładzie tego co robiliśmy z millis.

5 minut temu, ethanak napisał:

Gdzie chciałbyś tego delaya wsadzić i po co?

Chodzi o naprzemienne wyświetlanie temperatur na wyświetlaczu, bo ze względu na jego rozmiar wszystkie naraz będą niewidoczne

 

(edytowany)

Pewnie że powinieneś sam to znaleźć.

Tylko uważaj: wyświetlanie ma zajść w chwili, gdy:

a) upłynął czas zmiany i zmieniamy temperaturę

lub

b) zmieniły się odczyty termometru

Właściwie powinno być "zmieniły się odczyty aktualnie wyświetlanego termometru" ale to można zostawić sobie na później.

Może czas poczytać sobie o tym, co to są funkcje i z czym się to je? Tu na Forbocie jest taki fajny kurs Arduino...

  

8 minut temu, jaro44 napisał:

Chodzi o naprzemienne wyświetlanie temperatur na wyświetlaczu, bo ze względu na jego rozmiar wszystkie naraz będą niewidoczne


Ja sobie zrobiłem coś co wyświetla:

  • godzinę
  • bieżącą datę
  • prognozę pogody skróconą na trzy dni (skrolowana jedna linijka)
  • temperaturę wewnątrz
  • temperaturę na zewnątrz

I wszystko na 0.96 cala oledzie 🙂

 

Edytowano przez ethanak

mi bardziej chodziło on coś w stylu 10s wyswietla temperaturę salonu 10s wyświetla temeraturę zewnetrzną

i tak w pętli

 

coś na wzór tego:

void loop() {
  
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE); 
display.setCursor(4,4);
display.println("temperatura w salonie");
display.display();
delay(60000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE); 
display.setCursor(4,4);
display.println("temperatura zewn.");
display.display();
delay(60000);
}

 

No to coś takiego już mieliśmy (wyświetlanie co dwie sekundy). Tyle że za każdym razem wyświetlasz kolejny termometr.

Naprawdę, łatwiej będzie stworzyć funkcję wyświetl(numer) - tylko do tego trzeba zajrzeć do kursu (po polsku) lub podręcznika C/C++ (takoż po polsku)...

Nie mówiąc o tym, że ten "wzór" ma jedną, ale za to potężną wadę: dwukrotnie powtórzony jest dokładnie ten sam kod. Po co? Jak będzie dwadzieścia termometrów to powtórzysz kod dwadzieścia razy?

zależy mi tylko na dwóch salon i zewnątrz, ale może faktycznie innym będzie potrzebne więcej.

i jeszcze jedno da radę jakoś wyświetlić °C bo tak

sprintf(bufor,"%6.2f°C", termometr[0]/100.0);

mi wyświetla zamiast  °  krzaczek?

24 minuty temu, jaro44 napisał:

da radę jakoś wyświetlić °C

 

Nie pamiętam teraz numerków znaków... ty chyba będzie \370 (jak mi napiszesz co wyświetla to podam prawidłowy kod).

Czyli

"%6.2f\370C"

 

\370 i \371 wyświetla sie identycznie

musiałem przerobić bibliotekę Adafruit_SSD1306.h żeby się poprawnie wyświetlało 128x64 i teraz muszę wszystko od nowa ustawiać,

ale jakość wyświetlania się znacząco poprawiła

przyszło mi do głowy, że może fonty trzeba zmienić?

Tak się na chwilę włączę. Szacun że to ciągniecie, 12 stron tematu 🙂 ale widać, że zmierza to w dobrą stronę, także warto. @ethanak ogromny plus za cierpliwość 🙂  

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...