Touch 1/2/3 Gang brak wymaganej N
Problem musi być gdzieś indziej, bo taka funkcjonalność jest dodana, czas między kliknięciami jest ustawiona na 100ms. Jeżeli faktycznie jest to soft oparty o Primary GUI v2Darkman pisze: ↑śr lis 06, 2019 12:16 pmDzięki za soft. Guziki i "przekaźniki" działają i łatwo się światło włącza ale jest problem z wyłączeniem światła.
Przy zbliżeniu/dotknięciu guzika/touchpada, światło się wyłącza i od razu włącza - na obu guzikach tak samo.
Filmik https://youtu.be/j4naC3E6t_k
Jedyny sposób na wyłączenie światła to zdalnie albo kombinacją dotyku: dotknąć, poczekać aż się znowu włączy i szybko dotknąć
Nie wiem czy można regulować czułość touchpadów ale są one bardzo czułe że wykrywają palec z odległości około 7mm i pewnie to jest powodem natychmiastowego ponownego włączania.
Jeśli się da to proponuję zmniejszyć czułość touchpadów lub może zrobić zwłokę przed możliwością ponownego dotknięcia.
Przetestowane na: MiniTiger 2xTouch bez podłączania neutrala
Edit z dnia 2019-11-07:
Kolega podrzucił mi pewien kod który rozwiązuje tak zwane "drgania styków" czyli zbyt szybkie ponowne działania przycisków.
Może @gbiel będziesz w stanie go zaimplementowaćKod: Zaznacz cały
//przycisk int stan_diody = HIGH; // Pierwszy stan diody (stan wysoki- dioda świeci) int stan_przycisku; // Aktualny stan odczytany z pinu wejściowego (pin do które podłączony jest przycisk) int ostatni_stan_przycisku = LOW; // Poprzedni stan odczytanu z piny wejściowego long lastDebounceTime = 0; // Zmienna potrzebna do przechowynia mierzeonego w milisekundach czasu long czas_drgania = 50; // Czas na drganie styków //koniec przycisku void button() { //drgania styków int odczyt = digitalRead(przycisk); //Odczyt stanu przycisku do zmiennej lokalnej if (odczyt != ostatni_stan_przycisku) { lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > czas_drgania) { if (odczyt != stan_przycisku) { stan_przycisku = odczyt; if (stan_przycisku == HIGH) { // Jeśli przycisk jest wciśniety (stan wysoki) stan_diody = !stan_diody; //Wyłączenie diody (negacja zmiennej stan_diody przechowującej wartość HiGH) } } } void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: }
https://gui-generic-builder.supla.io/
To ten czas 100ms w przypadku tak czułych touchpadów, które reagują nawet 7mm od powierzchni, może być zbyt mały.krycha88 pisze: ↑pt lis 08, 2019 6:41 amProblem musi być gdzieś indziej, bo taka funkcjonalność jest dodana, czas między kliknięciami jest ustawiona na 100ms. Jeżeli faktycznie jest to soft oparty o Primary GUI v2Darkman pisze: ↑śr lis 06, 2019 12:16 pmDzięki za soft. Guziki i "przekaźniki" działają i łatwo się światło włącza ale jest problem z wyłączeniem światła.
Przy zbliżeniu/dotknięciu guzika/touchpada, światło się wyłącza i od razu włącza - na obu guzikach tak samo.
Filmik https://youtu.be/j4naC3E6t_k
Jedyny sposób na wyłączenie światła to zdalnie albo kombinacją dotyku: dotknąć, poczekać aż się znowu włączy i szybko dotknąć
Nie wiem czy można regulować czułość touchpadów ale są one bardzo czułe że wykrywają palec z odległości około 7mm i pewnie to jest powodem natychmiastowego ponownego włączania.
Jeśli się da to proponuję zmniejszyć czułość touchpadów lub może zrobić zwłokę przed możliwością ponownego dotknięcia.
Przetestowane na: MiniTiger 2xTouch bez podłączania neutrala
Edit z dnia 2019-11-07:
Kolega podrzucił mi pewien kod który rozwiązuje tak zwane "drgania styków" czyli zbyt szybkie ponowne działania przycisków.
Może @gbiel będziesz w stanie go zaimplementowaćKod: Zaznacz cały
//przycisk int stan_diody = HIGH; // Pierwszy stan diody (stan wysoki- dioda świeci) int stan_przycisku; // Aktualny stan odczytany z pinu wejściowego (pin do które podłączony jest przycisk) int ostatni_stan_przycisku = LOW; // Poprzedni stan odczytanu z piny wejściowego long lastDebounceTime = 0; // Zmienna potrzebna do przechowynia mierzeonego w milisekundach czasu long czas_drgania = 50; // Czas na drganie styków //koniec przycisku void button() { //drgania styków int odczyt = digitalRead(przycisk); //Odczyt stanu przycisku do zmiennej lokalnej if (odczyt != ostatni_stan_przycisku) { lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > czas_drgania) { if (odczyt != stan_przycisku) { stan_przycisku = odczyt; if (stan_przycisku == HIGH) { // Jeśli przycisk jest wciśniety (stan wysoki) stan_diody = !stan_diody; //Wyłączenie diody (negacja zmiennej stan_diody przechowującej wartość HiGH) } } } void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: }
Proszę o skompilowanie z czasem 500ms lub udostępnienie softu Primary GUI z już ustawioną pinologią pod ten włącznik.
oSuplowane:
11x MiniTiger RF 2gang -N [czekają kolejne sztuki]
3x MiniTiger RF 1gang -N
1x Sonoff Touch 1gang +N
3x SmartDGM DSG-W162 gn. z pomiarem
2x GreenBlue GB155 gn.
1x MediaTech MT3105 gn.
1x Lanberg SM01-WP10 gn.
2x Yunshan
1x Geekcreit 4ch
11x MiniTiger RF 2gang -N [czekają kolejne sztuki]
3x MiniTiger RF 1gang -N
1x Sonoff Touch 1gang +N
3x SmartDGM DSG-W162 gn. z pomiarem
2x GreenBlue GB155 gn.
1x MediaTech MT3105 gn.
1x Lanberg SM01-WP10 gn.
2x Yunshan
1x Geekcreit 4ch
Wydłużyłem czas kliknięcia, wszystko skompilowałem wg ustawień:
Kod: Zaznacz cały
#define DEFAULT_HOSTNAME "SONOFF TOUCH 3GANG"
#define RELAY1_PIN 12
#define BUTTON1_PIN 0
#define RELAY2_PIN 5
#define BUTTON2_PIN 9
#define RELAY3_PIN 4
#define BUTTON3_PIN 10
#define LED_CONFIG_PIN 13
#define CONFIG_PIN 0
#define DS18B20_PIN 3
- Załączniki
-
- SONOFF_TOUCH_3GANG_ESP8285.rar
- (252 KiB) Pobrany 126 razy
https://gui-generic-builder.supla.io/
Koledzy jutro 11.11 widział ktoś na ali sprawdzony model (bez padów lutowniczych bo lutowanie w moim przypadku odpada, za to wetknięcie pinów w otwory przygotowane na wlutowanie złącza i przytrzymanie ich na czas flashowania jak najbardziej mi pasuje) w dobrej cenie?
-
- Posty: 339
- Rejestracja: śr sie 30, 2017 8:47 am
Czy dałbyś rade zrobić to samo dla DHT22 na tym RX ?
Ja kupowałem z tego linku : https://pl.aliexpress.com/item/33016227 ... 4uKo9&mp=1Simono pisze: ↑ndz lis 10, 2019 3:42 pm Koledzy jutro 11.11 widział ktoś na ali sprawdzony model (bez padów lutowniczych bo lutowanie w moim przypadku odpada, za to wetknięcie pinów w otwory przygotowane na wlutowanie złącza i przytrzymanie ich na czas flashowania jak najbardziej mi pasuje) w dobrej cenie?
Wprawdzie bez otworów, ale z padami do których wystarczy docisnąć piny (ja to zrobiłem domowym sposobem, do klamerki dokleiłem piny a do nich podłączam przewód i działa bez problemu).
Mam również pytanie do kolegów, czy omawiane w tym wątku włączniki mogę w jakiś sposób wykorzystać tam gdzie mam teraz standardowe włączniki schodowe (3 przewodowe)?
Przetestuj soft który skompilowalem 2 posty wyzej, jeżeli potwierdzisz że wszystko działa np. dotyk to przygotuje ci soft z dht
https://gui-generic-builder.supla.io/
Pytanie mam do Ciebie, po aktualizacji nie działa niebieska dioda jak światło jest wyłączone, czy gdzieś się konfiguruje włączanie tej diody?krycha88 pisze: ↑ndz lis 10, 2019 10:15 am Wydłużyłem czas kliknięcia, wszystko skompilowałem wg ustawień:Kod: Zaznacz cały
#define DEFAULT_HOSTNAME "SONOFF TOUCH 3GANG" #define RELAY1_PIN 12 #define BUTTON1_PIN 0 #define RELAY2_PIN 5 #define BUTTON2_PIN 9 #define RELAY3_PIN 4 #define BUTTON3_PIN 10 #define LED_CONFIG_PIN 13 #define CONFIG_PIN 0 #define DS18B20_PIN 3
Ostatnio zmieniony ndz lis 10, 2019 7:21 pm przez bigthomas, łącznie zmieniany 1 raz.
-
- Posty: 339
- Rejestracja: śr sie 30, 2017 8:47 am
dotyk dobrze, mniej czuły, ale nie działa podświetlenie niebieskie przy wyłączonymkrycha88 pisze: ↑ndz lis 10, 2019 6:12 pmPrzetestuj soft który skompilowalem 2 posty wyzej, jeżeli potwierdzisz że wszystko działa np. dotyk to przygotuje ci soft z dht