Tak :) Będzie zatem czym się zająć na początku kolejnego odcinka, a niecierpliwym proponuję w warunku [if (temperatura < 0)] dopisać komendę [temperatura--]
A można do arduino podpiąć termopare, czy trzeba do tego jakąs poważniejszą magię, jakiś opamp albo coś? Ten czujnik byłby jak w sam raz dla kompensacji temperatury zimnego końca.
Bardzo dobry kanał oby filmów było dużo .. Przekaz wiedzy i sposób przez autora 10/10 a ogladalem sporo kanałów podobnych.. czekamy na wiecej i step by step bez pośpiechu 👍😁
Cyfrę zaokrąglamy do wartości wyższej nie tylko jeśli liczba po przecinku jest powyżej 5 ale również kiedy jest równa 5. W związku z tym według mnie chyba powinno się dodać 0,05, a nie 0,04. Serdecznie pozdrawiam i jestem pełen podziwu wiedzy i umiejętności jej przedstawiania.
2 ปีที่แล้ว +2
Zgadza się, wygrała nauka z podstawówki, w której z niewiadomych dziś przeze mnie powodów zaokrąglaliśmy szóstki. Oczywiście piątki także należy zaokrąglać w górę, więc należy dodać 0,05 a nie 0,04.
Łapka w górę za kolejny film o Arduino :) U siebie zauważyłem taki problem: co kilkaset pomiarów czujnik zwracał mocno zawyżoną wartość, żeby obejść ten problem porównywałem wartość poprzedniego pomiaru z obecnym, jeśli była wyższa niż 50% odrzucałem tę próbkę, Nie wiem czy to wina mojego czujnika DS, czy zakłóceń
2 ปีที่แล้ว +1
Trudno rzec kto tu winny, ale u siebie tego nie zauważyłem. W przypadku zadań komercyjnych należy uodpornić układ na szybkie dryfy, eliminując wartości mocno odstające od sąsiednich.
'sensor.begin(10)' zmniejsza rozdzielczość do jednego miejsca po przecinku i skraca czas odczytu. Nie trzeba gmerać przy zmiennych, powinny one być przechowywane w postaci jaka została odczytana z sensora bo w większych projektach mogą być potrzebne w innym miejscu itp.
2 ปีที่แล้ว
Rozdzielczość się skraca, ale nie reprezentacja na float, po prostu wynik jest mniej dokładny. Poza tym my tu mamy ten konkretny projekt. W każdym innym trzeba działania przemyśleć od początku.
Mam dwa ds18b20, uruchomione wspólnie: czyli jeden zasilacz jedno CPU i elementy sa szczepione obudowami i odczyty różnią się o 2 stopnie, tak że moim zdaniem układ zmierzy zgrubnie temperaturę CPU ale pomiar ciepłoty ciała żyjącej osoby nie ma sensu, a za oknem w Polsce nieco tym czujnikom za zimno. Jedyne warte uwagi to unikatowy numer wbity w ten termometr -w kryptografii może być przydatny.
1. Jak długim kablem można przedłużyć czujnik? 1-wire można chyba całkiem daleko. Nada się skręcona para z kabelka od internetu? Przejrzałem kilka ofert, łatwo można kupić taki czujnik zapakowany w wodoodporny kabelek, ale nie wszystkie mogą być zasilane pasożytniczo - to słowo mogłoby tu paść. 2. To robimy czujnik TVOC oceniający skażenie miejsc odosobnienia? Chociaż poza oparami alkoholu to reakcja tego czujnika nie będzie spektakularna. (Uwaga, pomiar CO2 to ekwiwalent przeliczony z VOC jeśli dobrze zrozumiałem) Za to zabawa droga, znalazłem za 150 zł. Ale może to dobry temat na wdrożenie I2C. 3. Inny pomysł na odcinek to sterowanie podświetleniem wyświetlacza za pomocą czujnika światła To pilne! Inaczej Budzik będzie odpustową zabawką grającą tak głośno i jasno ile baterie pozwolą.
2 ปีที่แล้ว
Kabel może być długi, ale jak? Trudno powiedzieć, bo tak naprawdę wszystko zależy od lokalnych zakłóceń. Kilkanaście metrów powinno dać radę. Inna sprawa, co będzie gdy nastanie burza. Dłuższy kablel można dociążyć rezystorem o mniejszej wartości.
A ja bardzo poproszę, czystej ciekawości, spróbować wyświetlać 2-gą cyfrę po przecinku. Po zastosowaniu uśredniania. Po coś, producent dał taką możliwość. Ciekawy jestem wyniku. Pozdrawiam.
2 ปีที่แล้ว +1
Producent dał bardzo dużo liczb po przecinku, tylko one sensu nie mają, bo wynikają z dopasowania zakresu dwunastobitowego do przedziału -55...125 stopni. W rezultacie pojawiają się dziesiętne liczby z czterema miejscami po przecinku, ale jako że dokładność deklarowana to jeden stopień, nie ma sensu ich analizować.
@ No tak, to wiemy. Ale mój termoregulator domowy/pokojowy pokazuje jednak 0.01 stopnia. A niejaki Mirekk36 twierdzi że można mierzyć za pomocą DS18B20 z dokładnością 0.001. Nie wykłócam się tu o dokładność/rzetelność takiego pomiaru, ale chodzi mi o wpływ uśredniania na "zbajerowanie" pomiaru. No bo po co mi taka dokładność pomiaru mojego termoregulatora kiedy cały układ ma nieokreśloną histerezę. Nieokreśloną to znaczy, sąsiad z dołu pali/nie pali w kominku, a mój termoregulator jest 1m od komina.
2 ปีที่แล้ว
Zwiększenie rozdzielczości pomiaru można osiągnąć uśredniają wiele pomiarów w dłuższym czasie. Acz jednorazowo dwanaście bitów określa maksymalną dokładność na 180 stopni/4096 poziomów=0,044, przy założeniu, że konwersja odbywa się liniowo. Jednak do tego dochodzi tolerancja stała chyba na pół stopnia, dryf na 0,2 stopnia i pozostałe błędy, co do kupy daje jeden stopień. Lecz dokładność takiego termometru w praktyce wystarczy na pół stopnia aż za dość. Jakoś sobie nie mogę wyobrazić potrzeby większej.
mógłbym wykorzystać Andino do sterowania klimatem w terrarium aby sterować zalaczaniem i rozlaczaniem maty grzewczej i zraszaczem do utrzymania odpowiednich parametrów klimatu?temperatury i wilgotności.
To ja chyba "wsiadłem" do przynajmniej MALUCHA - przeprogramowałem ARDUINO (choć nigdy z tym nigdy nie miałem do czynienia) które sterowało moja drukarką 3D typu PRUSA.
Panie Adamie, proszę zmierzyć temperatury w zakresie deklarowanym przez producenta czujnika. Z mojego amatorskiego doświadczenia, powiem, że pomiar, kończy się na 80st C końcem odczytu temperatury, choć nie wiem czy nie jest to wspomniany przez Pana alarm granicznej temperatury. Może Pan to zweryfikować? Będę bardzo wdzięczny!
Mam termometr z takim czujnikiem w wersji wodoodpornej z przewodem w komplecie (zmontowałam kit), po włożeniu do gotującej się wody pokazuje 100 stopni C. Termometr na procku ATtiny2313. Niestety nie znam kodu.
@ Klasy nie są takie trudne. A że mamy zrobić program który będzie wykonywał 2x to samo to aż się prosi wykonać to przy użyciu klas. ( Chyba nawet szybciej pójdzie napisać klasę ... od duplikowania kodu z wprowadzaniem poprawek.
2 ปีที่แล้ว +1
Ale to kiedyś. Na razie widzowie oczekują działających urządzeń i małych sztuczek wdrażanych przy okazji.
@@jaszczurtd Przykro mi Bardzo ale straciłeś motyw. Owszem robią 2x "to samo " ale na innych zmiennych i w zupełnie inny sposób. ( bo mniej ważne czy pojedziesz pociągiem czy autostradą ale jedziesz. ) Funkcja ma właśnie to mniej co mam na myśli. ( i zgodzę się z programowaniem funkcjonalnym napiszesz kod 100% pokrywający potrzeby.) Ja widzę że klasy to jest narzędzie które warto mieć opanowane.
Ja szukam czegoś takiego do pomiaru temperatury i wilgotności. I raczej nie w cenie powyżej 20 złotych za sztukę tylko dużo mniej. Zakres pomiarowy wilgotności raczej 0-100%. Dth11 i dth22 odpadają bo lubią blokować się przy wilgotności 100% i tak już zostaje.
Ciężki kawał wiedzy, tak jak lubię. 2. Ja bym to zrobił inaczej xd Zadeklarowałbym dodatkową zmienną ileZnakowWWyniku i ustalił środkową pozycję kursora na wyświetlaczu a następnie napisałbym pętlę do wyświetlania dzięki której będzie wiadomo od której pozycji zacząć wyświetlanie danego pomiaru
2 ปีที่แล้ว +1
Ten problem można rozwiązać na wiele sposobów. Często zamienia się wartość liczbową na łańcuchy znaków, mogąc przy okazji zmienić domyślną kropkę np. na przecinek. Ja preferuję rozwiązania, w których równolegle przeprowadza się więcej operacji.
Panie Adamie zapewne zna pan pana Mirka,polecam kanał.Setki mega projektów z bibliotekami.Dziesiątki godzin poradników video,sklep,blog itd itd. Dla przykładu super dokładny termometr. Jedyną "wadą" jak dla mnie zaletą to jest wszystko oprócz andruino 😊 th-cam.com/video/itYLunvQ8y8/w-d-xo.html
@ To kompilator sam z siebie nie wstawia stałych do ROM?
2 ปีที่แล้ว
Rezerwuje pamięć, wystarczy porównać jej zużycie po usunięciu F. Aczkolwiek nie znam szczegółów, być może to tylko zapis, a rezerwy są zwalniane w razie potrzeby.
Trafiła mi się pomyłka, oczywiście zaokrąglamy w górę także piątki, więc należy dodać do wartości odczytanej 0,05 a nie 0,04
Ale poniżej 0 trzeba odjąć 0.5, a nie dodać...
Tak :) Będzie zatem czym się zająć na początku kolejnego odcinka, a niecierpliwym proponuję w warunku [if (temperatura < 0)] dopisać komendę [temperatura--]
@ napisz funkcję zaokr() i schowaj ten paskudny kod z daleka ;) Poważnie to może wystarczy "(temp>0)?(temp+0.5):(temp-0.5)"
Paskudny to by był, gdyby był samodzielny. Ale on jest wpleciony równocześnie w formatowanie. Asemblerowe nawyki robienia kilku rzeczy jednocześnie.
A można do arduino podpiąć termopare, czy trzeba do tego jakąs poważniejszą magię, jakiś opamp albo coś? Ten czujnik byłby jak w sam raz dla kompensacji temperatury zimnego końca.
Bardzo pięknie Pan mówi. Uwielbiam Pana słuchać. Jestem całkowicie atechniczna, ale często włączam Pana kanał dla przyjemności słuchania.
Ja chciałem nadmienić jedynie, że chyba obejrzałem wszystkie Pana odcinki. A od pewnego czasu oglądamy je razem z powyższą małżonką ❤️.
Bardzo dobry kanał oby filmów było dużo .. Przekaz wiedzy i sposób przez autora 10/10 a ogladalem sporo kanałów podobnych.. czekamy na wiecej i step by step bez pośpiechu 👍😁
Pan Śmiałek coś wrzucił, trzeba oglądnąć ;) po naszemu
Rewelacyjnie się ogląda, jak zawsze. Wszystkiego dobrego Panie Adamie!
Z Arduino bawię się już parę ładnych lat, ale zawsze czegoś ciekawego i nowego dowiaduje się z Twoich filmów. Dzięki Adam.
Zupełnie nie interesuje mnie technologia arduino, ale bardzo lubię Pańskie filmy. Pozdrawiam
Pamiętam jak z 20 lat temu Dallas wysłał mi sample tych układów, od tej pory mam wszystko opomiarowane ;)
💪😁🔥🔥🔥 Podziwiam za wytrwałość! I za niezmiernie wysoki poziom! Też bym tak chciał...
Panie Adamie. No co tutaj dużo pisać. Respect
Więcej Arduino! A i pozdrawiam prowadzącego.
Super film , "wincyj wincyj!" cytując mojego kuzyna .
Cyfrę zaokrąglamy do wartości wyższej nie tylko jeśli liczba po przecinku jest powyżej 5 ale również kiedy jest równa 5. W związku z tym według mnie chyba powinno się dodać 0,05, a nie 0,04.
Serdecznie pozdrawiam i jestem pełen podziwu wiedzy i umiejętności jej przedstawiania.
Zgadza się, wygrała nauka z podstawówki, w której z niewiadomych dziś przeze mnie powodów zaokrąglaliśmy szóstki. Oczywiście piątki także należy zaokrąglać w górę, więc należy dodać 0,05 a nie 0,04.
Elegancko!
Łapka w górę za kolejny film o Arduino :) U siebie zauważyłem taki problem: co kilkaset pomiarów czujnik zwracał mocno zawyżoną wartość, żeby obejść ten problem porównywałem wartość poprzedniego pomiaru z obecnym, jeśli była wyższa niż 50% odrzucałem tę próbkę, Nie wiem czy to wina mojego czujnika DS, czy zakłóceń
Trudno rzec kto tu winny, ale u siebie tego nie zauważyłem. W przypadku zadań komercyjnych należy uodpornić układ na szybkie dryfy, eliminując wartości mocno odstające od sąsiednich.
Ale jak mocno zawyżoną? Jeżeli jest błąd w transmisji to chyba wraca 80°C.
'sensor.begin(10)' zmniejsza rozdzielczość do jednego miejsca po przecinku i skraca czas odczytu. Nie trzeba gmerać przy zmiennych, powinny one być przechowywane w postaci jaka została odczytana z sensora bo w większych projektach mogą być potrzebne w innym miejscu itp.
Rozdzielczość się skraca, ale nie reprezentacja na float, po prostu wynik jest mniej dokładny. Poza tym my tu mamy ten konkretny projekt. W każdym innym trzeba działania przemyśleć od początku.
Te całe Andronino dobre jest!
10:00 wartości temperatury oczywiście dobrane przypadkowo
Przykładowo, a nie przypadkowo.
Git majonez, coca-cola.👍
10:01 21.37 🤣
Można również skorzystać z sprintf
Mam dwa ds18b20, uruchomione wspólnie: czyli jeden zasilacz jedno CPU i elementy sa szczepione obudowami i odczyty różnią się o 2 stopnie, tak że moim zdaniem układ zmierzy zgrubnie temperaturę CPU ale pomiar ciepłoty ciała żyjącej osoby nie ma sensu, a za oknem w Polsce nieco tym czujnikom za zimno. Jedyne warte uwagi to unikatowy numer wbity w ten termometr -w kryptografii może być przydatny.
Bardzo prawdopodobne, że to podróbki.
biore sie za majsterkowanie
1. Jak długim kablem można przedłużyć czujnik? 1-wire można chyba całkiem daleko. Nada się skręcona para z kabelka od internetu?
Przejrzałem kilka ofert, łatwo można kupić taki czujnik zapakowany w wodoodporny kabelek, ale nie wszystkie mogą być zasilane pasożytniczo - to słowo mogłoby tu paść.
2. To robimy czujnik TVOC oceniający skażenie miejsc odosobnienia? Chociaż poza oparami alkoholu to reakcja tego czujnika nie będzie spektakularna. (Uwaga, pomiar CO2 to ekwiwalent przeliczony z VOC jeśli dobrze zrozumiałem) Za to zabawa droga, znalazłem za 150 zł. Ale może to dobry temat na wdrożenie I2C.
3. Inny pomysł na odcinek to sterowanie podświetleniem wyświetlacza za pomocą czujnika światła To pilne! Inaczej Budzik będzie odpustową zabawką grającą tak głośno i jasno ile baterie pozwolą.
Kabel może być długi, ale jak? Trudno powiedzieć, bo tak naprawdę wszystko zależy od lokalnych zakłóceń. Kilkanaście metrów powinno dać radę. Inna sprawa, co będzie gdy nastanie burza. Dłuższy kablel można dociążyć rezystorem o mniejszej wartości.
@ można teoretycznie do 350 metrów bez odnóg ale być może wymagać będzie zasilania.
A ja bardzo poproszę, czystej ciekawości, spróbować wyświetlać 2-gą cyfrę po przecinku. Po zastosowaniu uśredniania. Po coś, producent dał taką możliwość. Ciekawy jestem wyniku. Pozdrawiam.
Producent dał bardzo dużo liczb po przecinku, tylko one sensu nie mają, bo wynikają z dopasowania zakresu dwunastobitowego do przedziału -55...125 stopni. W rezultacie pojawiają się dziesiętne liczby z czterema miejscami po przecinku, ale jako że dokładność deklarowana to jeden stopień, nie ma sensu ich analizować.
@ No tak, to wiemy. Ale mój termoregulator domowy/pokojowy pokazuje jednak 0.01 stopnia. A niejaki Mirekk36 twierdzi że można mierzyć za pomocą DS18B20 z dokładnością 0.001. Nie wykłócam się tu o dokładność/rzetelność takiego pomiaru, ale chodzi mi o wpływ uśredniania na "zbajerowanie" pomiaru. No bo po co mi taka dokładność pomiaru mojego termoregulatora kiedy cały układ ma nieokreśloną histerezę. Nieokreśloną to znaczy, sąsiad z dołu pali/nie pali w kominku, a
mój termoregulator jest 1m od komina.
Zwiększenie rozdzielczości pomiaru można osiągnąć uśredniają wiele pomiarów w dłuższym czasie. Acz jednorazowo dwanaście bitów określa maksymalną dokładność na 180 stopni/4096 poziomów=0,044, przy założeniu, że konwersja odbywa się liniowo. Jednak do tego dochodzi tolerancja stała chyba na pół stopnia, dryf na 0,2 stopnia i pozostałe błędy, co do kupy daje jeden stopień. Lecz dokładność takiego termometru w praktyce wystarczy na pół stopnia aż za dość. Jakoś sobie nie mogę wyobrazić potrzeby większej.
@ No tek. 12 bitów, jakoś sobie wkręciłem że mamy 16 bitów.
Witam, moglby Pan pomóc mi z samym podlączeniem tego wszystkiego? Nigdy nie miałem z tym stycznosc, nie wiem co powinienem kupic. Z gory dziekuje
Ludziom, którzy tego nie robili, lutowanie może wydawać się trudne. Może dla kompletu przydałby się odcinek o lutowaniu?
10:02 - Przypadek te 21,37? Nie sądze.
( ͡° ͜ʖ ͡°)
Czy nie lepiej użyć floor() do zaokrąglenia w dół?
mógłbym wykorzystać Andino do sterowania klimatem w terrarium aby sterować zalaczaniem i rozlaczaniem maty grzewczej i zraszaczem do utrzymania odpowiednich parametrów klimatu?temperatury i wilgotności.
Do tego właśnie służy ta idea.
Co to andinio
To ja chyba "wsiadłem" do przynajmniej MALUCHA - przeprogramowałem ARDUINO (choć nigdy z tym nigdy nie miałem do czynienia) które sterowało moja drukarką 3D typu PRUSA.
Panie Adamie, proszę zmierzyć temperatury w zakresie deklarowanym przez producenta czujnika. Z mojego amatorskiego doświadczenia, powiem, że pomiar, kończy się na 80st C końcem odczytu temperatury, choć nie wiem czy nie jest to wspomniany przez Pana alarm granicznej temperatury. Może Pan to zweryfikować? Będę bardzo wdzięczny!
Mam termometr z takim czujnikiem w wersji wodoodpornej z przewodem w komplecie (zmontowałam kit), po włożeniu do gotującej się wody pokazuje 100 stopni C. Termometr na procku ATtiny2313. Niestety nie znam kodu.
Na głęboką wodę ... hm czyżby w następnym odcinku z serii miały być klasy ?
Głęboka woda była w poprzednich odcinkach :)
@ Klasy nie są takie trudne.
A że mamy zrobić program który będzie wykonywał 2x to samo to aż się prosi wykonać to przy użyciu klas. ( Chyba nawet szybciej pójdzie napisać klasę ... od duplikowania kodu z wprowadzaniem poprawek.
Ale to kiedyś. Na razie widzowie oczekują działających urządzeń i małych sztuczek wdrażanych przy okazji.
@@jaszczurtd Przykro mi Bardzo ale straciłeś motyw. Owszem robią 2x "to samo " ale na innych zmiennych i w zupełnie inny sposób. ( bo mniej ważne czy pojedziesz pociągiem czy autostradą ale jedziesz. )
Funkcja ma właśnie to mniej co mam na myśli. ( i zgodzę się z programowaniem funkcjonalnym napiszesz kod 100% pokrywający potrzeby.) Ja widzę że klasy to jest narzędzie które warto mieć opanowane.
Ja szukam czegoś takiego do pomiaru temperatury i wilgotności. I raczej nie w cenie powyżej 20 złotych za sztukę tylko dużo mniej. Zakres pomiarowy wilgotności raczej 0-100%. Dth11 i dth22 odpadają bo lubią blokować się przy wilgotności 100% i tak już zostaje.
Może BME 280? Kiedyś sobie poskładałem logger temp i wilgotności i działał poprawnie.
Si7021 i pochodne typu HDC1080, HTU21D (ten chyba najtańszy)
Ciężki kawał wiedzy, tak jak lubię. 2. Ja bym to zrobił inaczej xd Zadeklarowałbym dodatkową zmienną ileZnakowWWyniku i ustalił środkową pozycję kursora na wyświetlaczu a następnie napisałbym pętlę do wyświetlania dzięki której będzie wiadomo od której pozycji zacząć wyświetlanie danego pomiaru
Ten problem można rozwiązać na wiele sposobów. Często zamienia się wartość liczbową na łańcuchy znaków, mogąc przy okazji zmienić domyślną kropkę np. na przecinek. Ja preferuję rozwiązania, w których równolegle przeprowadza się więcej operacji.
Definicja makra round w Arduino.h jest taka:
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
Czemu w kodzie jest 0.04 a nie 0.05?
Pomyłka, ma być 0,05. O definicji round słyszałem oczywiście, ale jest trochę zagmatwana na początek, więc zrobiłem "na piechotę".
Panie Adamie zapewne zna pan pana Mirka,polecam kanał.Setki mega projektów z bibliotekami.Dziesiątki godzin poradników video,sklep,blog itd itd.
Dla przykładu super dokładny termometr.
Jedyną "wadą" jak dla mnie zaletą to jest wszystko oprócz andruino 😊
th-cam.com/video/itYLunvQ8y8/w-d-xo.html
lcd.print(F(" ")); co to jest to F ? pierwszy raz to widzę...
Lokowanie łańcuchów w pamięci flash. Oszczędza ram.
@ To kompilator sam z siebie nie wstawia stałych do ROM?
Rezerwuje pamięć, wystarczy porównać jej zużycie po usunięciu F. Aczkolwiek nie znam szczegółów, być może to tylko zapis, a rezerwy są zwalniane w razie potrzeby.
nagrałem recenzje the book of unwritten tales kto grał ?