Skocz do zawartości

uczesie

Użytkownicy
  • Zawartość

    12
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O uczesie

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    łódzkie
  1. @Belferek zgadza się, to normalne że rzeczy do których dojdzie się samemu zostają w głowie na dłużej ale nie każdy ma nieograniczony czas by dochodzić do pierdoły 2 dni a zaoszczędzony czas można poświęcić na inne tematy.
  2. Sam mu kazałeś tam wsadzić mills i facet zaczął się gubić więc go nakierowałem. Więc wystarczy napisać co zwraca taki wynik, wytłumaczyć a nie walić jakimiś pytaniami z czapki i główkuj się dalej. Do wielu rzeczy można samemu dojść ale po co siedzieć i się główkować dwa dni skoro można zapytać na forum, otrzymać odpowiedź od ŻYCZLIWYCH osób które chcą pomóc a zaoszczędzony czas przeznaczyć na inny kawałek kodu..
  3. [Fragment usunięty w związku ze złamaniem zasad PPF] Coby nie było że OT. Kolego @hazi18 próbuj tak: unsigned long aktualnyCzas = 0; unsigned long zapamietanyCzas = 0; unsigned long roznicaCzasu = 0; a w void loop() { //Liczenie czasu aktualnyCzas = millis() / 1000; roznicaCzasu = aktualnyCzas - zapamietanyCzas; i liczenie czasu if (roznicaczasu > 5) { Blynk.virtualWrite(V1, jakies_dane); zapamietanyCzas = aktualnyCzas; } Ważne jest to: zapamietanyCzas = aktualnyCzas; czyli jakieś zdarzenie musi Ci zapisywać zapamiętany czas. Nie wiem czy nie popełniłem gdzieś błędu ale masz tu na pewno wskazówkę jak to trzeba rozgryźć.
  4. @ethanak czyli do eeprom przesyłam tylko same wartości a nie cały kod i tam można już je dowolnie zmieniać ?
  5. ano właśnie, nie wiedziałem zupełnie czego się chwycić. "np." a co innego może się do tego nadawać lub w jakim kierunku mam szukać?
  6. Witam millis() ogarnięte.. teraz mam problem z implementacją kolejnego bajeru mianowicie edycji danych w kodzie przy pomocy zewnętrznych aplikacji.. Przykładowo mamy kod: if ( kuchnia > 25) { digitalWrite(14, HIGH); I chciałbym w aplikacji np. blynk zmienić wartość 25 na inną. Niestety zmieniam w aplikacji i po sekundzie znów pokazuje 25.. Podejrzewam że w kodzie nawet się nie zmienia tylko aplikacja próbuje zmienić ale się nie da więc wraca do wartości wyjściowej. Jak się za to zabrać?
  7. @SOYER dzięki, biorę się za czytanie @ethanak tak właśnie chcę aby to działało, to będzie temperatura do której będę się odnosił w innym miejscu. edit: Poprawiłem czyli dodałem do czasu if czyli zapis zapamiętanego czasu ale nadal nie działa.. //Liczenie czasu aktualnyCzas = millis(); roznicaCzasu = aktualnyCzas - zapamietanyCzas; if (dzies < 30) { zapamietanyCzas = aktualnyCzas; } edit2: Ok, znalazłem błąd. Poprawiłem to miejsce na if (sensors.getTempCByIndex(0) < 30) i teraz wszystko śmiga poprawnie Muszę dodać na górze globalnie czujniki jako nazwy bo miałem tylko w zapisie temperatury coś takiego "float dzies = sensors.getTempCByIndex(0);" więc działało to tylko w obrębie tej klamerki {} jesli dobrze rozumiem?
  8. @SOYER tak mi coś świtało skąd ma się wziąć ten zapamiętany czas.. A wziąłem to z "Kurs Arduino II – #9 – wielozadaniowość, opóźnienia z millis()". To jak to ugryźć aby działało poprawnie? Bo mi po 2 dniach kombinowania skończył się pomysły i dlatego zdecydowałem zapytać na forum
  9. @SOYER tzn co dokładnie mam zrobić? aktualnyCzas to chyba samo pobiera czas od włączenia urządzenia?
  10. @ethanak Próbowałem zmienić tak jak podałeś ale od razu zapisuje temperaturę bez oczekiwania.
  11. Witam Chciałbym aby to co zostanie wykonane po spełnieniu warunku zostało wykonane z opóźnieniem czyli gdy temperatura osiągnie 30*C to zostanie zapisana na wyświetlaczu w innym miejscu ale po 5 minutach. Dodatkowo dodałem "blokada" aby ten zapis był tylko jednorazowy. Wszystko działa poprawnie jeśli nie ma żadnego opóźnienia bo zapisuje i nie nadpisuje dzięki tej blokadzie Tylko jak to robić aby opóźnić to co zostanie zrobione gdy warunek zostanie spełnoiny.
  12. Witam, próbuję ustawić aby program wykonał akcję po odliczeniu czasu i niestety nie działa mi to.. Oczywiście na początku mam: unsigned long aktualnyCzas = 0; unsigned long zapamietanyCzas = 0; unsigned long roznicaCzasu = 0; i w loop void loop() { //Liczenie czasu aktualnyCzas = millis(); roznicaCzasu = aktualnyCzas - zapamietanyCzas; //Zapis temperatury dnia { float dp = sensors.getTempCByIndex(0); if (dp > 30 && blokada == 0) { if (aktualnyCzas - roznicaCzasu >= 15000UL) { lcd.setCursor (4, 0); lcd.print(sensors.getTempCByIndex(0) + 0.24); blokada = 1; Niestety po obliczeniu 15 sekund gdy zostanie spełniony warunek nic nie zapisuje isę na wyświetlaczu..
×
×
  • Utwórz nowe...