- IMG_20180527_085218.png (10.97 KiB) Przejrzano 3213 razy
Supla Button 2.0 i kolejne wersje...
Moja wiedza w tej materii nie jest zbyt duża ale mi udało się dołożyć kawałek kodu który potrafi wysyłać regularnie parametry z DHT do domoticza
Ale wczoraj próbowałem połączyć to i faktycznie bezskutecznie, nie uruchamia się pętla obsługi przycisku przynajmniej tak widać na terminalu.
Tak naprawdę to i tak ten przekaźnik musiałby być wysterowany sceną bo w przeciwnym razie to każde kliknięcie powodowałoby przełączanie go.
Pozdrawiam
Wojtek
Wojtek
Pętla się być może sie uruchamia, ale np. czasy które są w tym programie w rzeczywistości pewnie nie odpowiadają tym zadeklowanym 1ms, bo to tylko licznik, który liczy przejścia, a nie odnosi się do faktycznego czasu. Więc jeżeli dalej w pętli pojawiają się kolejne opóźnienia (czyli elementy odpowiadające za obsługę DHT i domoticza) to czasy będą "rozciągnięte" i w rzeczywistości będzie to więcej niż 1ms.
Wstaw sobie w od linii 145 do 153 takie coś, wtedy będziesz miał podany faktyczny czas trwania jednej pętli w ms oraz stan licznika klawisza, to co dodałem jest w kolorze czerwonym. Być może namierzysz problem.
int ost_czas;
void Obsluga_przycisku()
{
button = digitalRead(0);
if (button == 0 ) {
++button_time;
Serial.print("czas w ms: ");Serial.print(millis() - ost_czas);Serial.print(" licznik button_time: ");Serial.println(button_time);
ost_czas = millis();
}
Pisałem że mrugnie jak wciskam przyciskiem , tak jak by sygnalizował zadziałanie ale nie działa . W konsoli podaje np. "naciśnięto przycisk 2 razy " i potem te dane które wpisywałem czyli token i inne . Jeszcze takie pytanie bo się nie dopatrzyłem nigdzie , token to mam wpisać razem z cudzysłowem ? czy bez niego ?
Bez cudzysłowów.
Ktory firmware wgrałeś?
- obsługę błędów za pomocą diody LED - jedno mignięcie po wykonaniu sceny = błąd np. brak odpowiedzi ze strony serwera -> patrz terminal, dwa mignięcia = przerwanie sceny przyciskiem
Ktory firmware wgrałeś?