GUI Generic
-
artur_n
- Posts: 466
- Joined: Thu Aug 17, 2017 2:24 pm
- Location: RJA
Nic prócz czujnika nie ma podłączone.
-
Espablo
- Posts: 1754
- Joined: Wed Jun 29, 2016 5:04 pm
- Location: Oświęcim
Musiałem na szybko zrobić sterownik do RGBW, no i oczywiście wgrałem GUI Generic z RGBW. Działa bajecznie
.
To niesamowite @krycha88 jak rozwijasz ten projekt - TAK TRZYMAJ!.
Obecnie nie mam czasu na kodowanie bo większość czasu jestem w rozjazdach i widzę, że teraz jak coś zmienię to ja będę musiał robić pull request do Twojego forka
. Dołożę linka na pierwszej stronie do Twojego repozytorium, żeby nikt nie musiał szukać.
Trzeba będzie jeszcze zmienić opis funkcji bo jest duuuużo zmian (a może ktoś inny to zrobi
a ja tylko wkleję ). Dobrze by było jakbyś zrobił na githubie jakieś miejsce na aktualne firmware i tam je umieszczaj. Przyznam, że trochę się naszukałem za nim znalazłem ten z RGBW a nie miałem przy sobie swojego komputera i nie mogłem kompilować.
To niesamowite @krycha88 jak rozwijasz ten projekt - TAK TRZYMAJ!.
Obecnie nie mam czasu na kodowanie bo większość czasu jestem w rozjazdach i widzę, że teraz jak coś zmienię to ja będę musiał robić pull request do Twojego forka
Trzeba będzie jeszcze zmienić opis funkcji bo jest duuuużo zmian (a może ktoś inny to zrobi
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu.

-
Patryk
- Posts: 2944
- Joined: Mon Jan 07, 2019 7:51 pm
- Location: Rybnik
Jak by ktoś chciał używać czujnika termopary MAX31855 w GUI-Generic, to już można.
@elmaya udostępnił nową bibliotekę MAX6675.
Wystarczy podmienić dwa pliki (MAX6675) w bibliotece SuplaDevice.
Biblioteka sama wykrywa jaki mamy czujnik.
Czy MAX6675, czy MAX31855.
MAX31855 jest dokładniejszy oraz pokazuje również ujemne wartości temperatury.
@elmaya udostępnił nową bibliotekę MAX6675.
Wystarczy podmienić dwa pliki (MAX6675) w bibliotece SuplaDevice.
Biblioteka sama wykrywa jaki mamy czujnik.
Czy MAX6675, czy MAX31855.
MAX31855 jest dokładniejszy oraz pokazuje również ujemne wartości temperatury.
You do not have the required permissions to view the files attached to this post.
-
noel841106
- Posts: 32
- Joined: Mon Mar 26, 2018 7:14 pm
Wow, extra, to się przyda:-) kilka razy używałem w swoich projektach ukladu max do odczytu termopary.
Może przegapiłem, ale jest możliwość wykorzystania ADC? Jest to wejście analogowe oprogramowane?
Może przegapiłem, ale jest możliwość wykorzystania ADC? Jest to wejście analogowe oprogramowane?
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Cały czas do przodu. Faktycznie trzeba by zrobić trochę porządek- odezwę się wieczoremEspablo wrote: Thu Feb 11, 2021 7:49 am Musiałem na szybko zrobić sterownik do RGBW, no i oczywiście wgrałem GUI Generic z RGBW. Działa bajecznie.
To niesamowite @krycha88 jak rozwijasz ten projekt - TAK TRZYMAJ!.
Obecnie nie mam czasu na kodowanie bo większość czasu jestem w rozjazdach i widzę, że teraz jak coś zmienię to ja będę musiał robić pull request do Twojego forka. Dołożę linka na pierwszej stronie do Twojego repozytorium, żeby nikt nie musiał szukać.
Trzeba będzie jeszcze zmienić opis funkcji bo jest duuuużo zmian (a może ktoś inny to zrobia ja tylko wkleję ). Dobrze by było jakbyś zrobił na githubie jakieś miejsce na aktualne firmware i tam je umieszczaj. Przyznam, że trochę się naszukałem za nim znalazłem ten z RGBW a nie miałem przy sobie swojego komputera i nie mogłem kompilować.
Cały czas zachęcam do napisania przez kogoś wiki
https://gui-generic-builder.supla.io/
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Napisałem po swojemu obsługę HC_SR04 opierając się na bibliotece https://playground.arduino.cc/Code/NewPing/artur_n wrote: Wed Feb 10, 2021 4:59 pm Wyjściem z tej sytuacji jest możliwość wyboru czasu odczytu z czujnika?
Jakiejś dużej dokładności nie potrzeba, z zapyleniem też nie mam problemu, monitoruje poziom soli w uzdatniaczu, prędzej go opary soli zjedzą jak pył.
Po mich krótkich testach pomiary wydają się zdecydowanie stabilniejsze
You do not have the required permissions to view the files attached to this post.
https://gui-generic-builder.supla.io/
-
artur_n
- Posts: 466
- Joined: Thu Aug 17, 2017 2:24 pm
- Location: RJA
Jak tylko wrócę do domu to biorę się za testy.
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Wrzuciłem stabilizowany HC_SR04 
Użyłem algorytmu znanego wszystkim ze skoków narciarskich. Robimy 5 pomiarów, odrzucamy dwa skrajne i z tego liczymy średnią
Pomiary są co 100 ms, więc opóźnienie (np. dla czujnika parkowania) nie jest jakieś zauważalnie duże. Natomiast stabilność pomiarów jest dużo większa.
Mój egzemplarz HC_SR04 tylko przy odległości ~2 m generuje czasem jakiś dziwny wynik. Przy 50 cm mam w miarę stabilne pomiary (raczej +-2 cm się pojawia). Dodałem też "noInterrupts()" na czas pomiaru pulsu, bo przerwanie w trakcie pomiaru może być źródłem niespodzianek.
(kod jak na razie u mnie na branchu develop)
Użyłem algorytmu znanego wszystkim ze skoków narciarskich. Robimy 5 pomiarów, odrzucamy dwa skrajne i z tego liczymy średnią
Pomiary są co 100 ms, więc opóźnienie (np. dla czujnika parkowania) nie jest jakieś zauważalnie duże. Natomiast stabilność pomiarów jest dużo większa.
Mój egzemplarz HC_SR04 tylko przy odległości ~2 m generuje czasem jakiś dziwny wynik. Przy 50 cm mam w miarę stabilne pomiary (raczej +-2 cm się pojawia). Dodałem też "noInterrupts()" na czas pomiaru pulsu, bo przerwanie w trakcie pomiaru może być źródłem niespodzianek.
(kod jak na razie u mnie na branchu develop)
Najlepsze suple dla Twojego domu 
-
krycha88
- Posts: 5575
- Joined: Fri Nov 16, 2018 7:25 am
- Been thanked: 5 times
Przetestuję ale ping_median z biblioteki powyżej co podałem też działa dobrzeklew wrote: Thu Feb 11, 2021 1:11 pm Wrzuciłem stabilizowany HC_SR04
Użyłem algorytmu znanego wszystkim ze skoków narciarskich. Robimy 5 pomiarów, odrzucamy dwa skrajne i z tego liczymy średnią
Pomiary są co 100 ms, więc opóźnienie (np. dla czujnika parkowania) nie jest jakieś zauważalnie duże. Natomiast stabilność pomiarów jest dużo większa.
Mój egzemplarz HC_SR04 tylko przy odległości ~2 m generuje czasem jakiś dziwny wynik. Przy 50 cm mam w miarę stabilne pomiary (raczej +-2 cm się pojawia). Dodałem też "noInterrupts()" na czas pomiaru pulsu, bo przerwanie w trakcie pomiaru może być źródłem niespodzianek.
(kod jak na razie u mnie na branchu develop)
Aktualnie zrobiłem to w taki sposób:
Code: Select all
class HC_SR04 : public Distance {
public:
HC_SR04(int8_t trigPin, int8_t echoPin, int16_t depth = 0) : retryCount(0) {
_depth = depth;
sonar = new NewPing(trigPin, echoPin);
}
void onInit() {
channel.setNewValue(getValue());
}
virtual double getValue() {
unsigned long uS = sonar->ping_median();
if (uS < 50) {
retryCount++;
if (retryCount > 3) {
retryCount = 0;
value = DISTANCE_NOT_AVAILABLE;
}
} else {
retryCount = 0;
unsigned long distance = sonar->convert_cm(uS);
if (_depth > 0) {
value = map(distance, 0, _depth, _depth, 0);
if (value > _depth) value = 0;
} else {
value = distance;
}
value = value / 100.0;
}
return value;
}
protected:
NewPing *sonar = nullptr;
double value;
int16_t _depth;
int8_t retryCount;
};
}; // namespace Sensor
}; // namespace Supla
https://gui-generic-builder.supla.io/
-
klew
- Posts: 13908
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Pytanie czy jest sens dla takiego "drobiazgu" dodawać kolejną dependencję do zewnętrznej biblioteki.krycha88 wrote: Thu Feb 11, 2021 1:18 pm Przetestuję ale ping_median z biblioteki powyżej co podałem też działa dobrze
Aktualnie zrobiłem to w taki sposób:
Przy okazji, może lepiej by było gdybyć tą klasę nazwał inaczej, aby nie było konfliktu nazw, ale chociaż w osobny namespace.
Najlepsze suple dla Twojego domu 
