Liczba postów: 883
Liczba wątków: 19
Dołączył: Jun 2018
Reputacja:
43
A czy kolega wie że otwarcie pliku i zapis na SD w przypadku atmega 328 trwa czasami "wieczność"??
I w tym przypadku
Kod:
display.drawRect(1, 1, 126, 30, WHITE);
display.display();
delay(1000);
display.clearDisplay();
//koniec wyswietlacza
To strzał w kolano.....
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.
Liczba postów: 883
Liczba wątków: 19
Dołączył: Jun 2018
Reputacja:
43
19-01-2020, 23:47
(Ten post był ostatnio modyfikowany: 19-01-2020, 23:58 przez Jarewa0606.)
co to jest
Kod:
if(now.hour() == 174){
now.hour co zwraca??
Nie próbuj zapisywać tysiące danych na sd w ciagu sekundy i nie czyść ekranu po tylko przed. I przed zapisem wyciągnij interesujące dane do zmiennej, wyklucz nieobecność czujnika lub złych danych..
Kod:
myFile.println("data: "); //zapisz wartość
myFile.print(now.year()); //zapisz wartość roku
myFile.print("-"); //zapisz wartość
myFile.print(now.month()); //zapisz wartość miesiąca
myFile.print("-"); //zapisz wartość
myFile.print(now.day()); //zapisz wartość dnia
myFile.print(" godzina: "); //zapisz wartość
myFile.print(now.hour()); //zapisz wartość godziny
myFile.print(":"); //zapisz wartość
myFile.print(now.minute()); //zapisz wartość minuty
myFile.print(":"); //zapisz wartość
myFile.print(now.second()); //zapisz wartość sekundy
myFile.print("temperatura: "); //zapisz wartość
myFile.print(bme.readTemperature()); //zapisz wartość temperatury
myFile.print("wilgotnosc: "); //zapisz wartość
myFile.print(bme.readHumidity()); //zapisz wartość wilgotności
Taka forma to drugi strzał w kolano.. Wystarczy ze rtc lub bm nie łaczy i sie zawiesza.....
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.
Liczba postów: 356
Liczba wątków: 5
Dołączył: Aug 2019
Reputacja:
28
20-01-2020, 10:23
(Ten post był ostatnio modyfikowany: 20-01-2020, 10:25 przez Agregacik.)
Zegara nie wyłapuje i nie wiem czemu.
Zostaw sam zegar i skanuj. Jak nie wyłapuje to masz coś źle z zegarem. a może pokrywają się adresy czyli ma taki sam jak któreś z pozostałych urządzeń podpiętych pod I2C. Jak się z tym uporasz to idziesz dalej.
Uruchamiaj stopniowo: zegar, czujnik, wyświetlacz a dopiero potem zapis na kartę. Zrób sobie podprogramy dla każdego elementu, będzie łatwiej panować nad programem. Jak uruchomisz zegar to wyświetl sobie dane na konsoli. Potem dodaj czujnik i też wyświetl dane na konsoli. Dodaj wyświetlacz i wyświetl jakieś napis dla sprawdzenia czy działa. No a potem zapis na kartę.
Liczba postów: 356
Liczba wątków: 5
Dołączył: Aug 2019
Reputacja:
28
@Jarewa0606 Tak się zastanawiam czy now.hour, now.year itd to nie są elementy struktury, w której zapisują się dane gdy wywołamy odczyt zegara. To chyba jest w bibliotece od zegara i powinno zawsze zwracać jakąś wartość nawet jak nie ma zegara. Pytam z ciekawości nie jestem specjalistą w programowaniu, ale początkującym, który się uczy na takich przekładach.
Liczba postów: 883
Liczba wątków: 19
Dołączył: Jun 2018
Reputacja:
43
20-01-2020, 21:34
(Ten post był ostatnio modyfikowany: 20-01-2020, 21:38 przez Jarewa0606.)
A tego to ja nie wiem... Ja tez początkujący.
Wiem tylko ze BM jak próbowałem odczytać a nie było go fizycznie to rzucało stosem (może była lipna biblioteka). Dlatego dobrze program tak napisać by ewentualnie wykluczyć nieobecność urządzenia..
A tak tylko myślę ze autor nie wie do końca co tak naprawdę z tym chce zrobić
Kod:
if(now.hour() == 174){
Przecież nawet gdyby zwracało liczbę to czy zdaje sobie on sprawę z tego że ten warunek będzie ciągle spełniony przez 1h??
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.
Liczba postów: 356
Liczba wątków: 5
Dołączył: Aug 2019
Reputacja:
28
Nie wiem czy pisałeś, ale jaką masz płytkę arduino. Rozpisz do jakich pinów masz podłączone poszczególne elementy. Może jest jakiś konflikt sprzętowy, "pinowy".