INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(
Cześć, to mój pierwszy post tutaj, dużo was czytam bo to i ciekawe i pouczające.
Mam 39 lat, mieszkam w małej miejscowości Kryry na śląsku, i elektroniką i Arduino zaintersowałem się ok. 3 miesiące temu poprzez kursy Forbota.
Mój pierwszy projekt miał być stacją pogodową opartą na arduino i LCD 20×4, ale trochę się rozrósł, LCD stał się pomocniczy, główną rolę przejął BLYNK.
Jeszcze nie podłączone czujniki i sprzęt nie na swoim miejscu, ale w miarę działa, to się chwalę:
Pozdrawiam i czekam na ewentualne sugestie.
[Edit] Są sugestie jest odpowiedź.
Do zbudowania ww. układu posłużyły mi:
klon Arduino MEGA,
ethernet Shield do wyżej wymienionego,
kilka(podłączony na razie jeden) czujników temperaturyDS18B20,
dwa czujniki typu DHT11, ale zamienię je chyba na DHT22,
czujnik ciśnienia i temperatury BMP280 I2C,
moduł zegarowy RTC1307 I2C,
enkoder z przyciskiem,
wyświetlacz LCD 20×4 I2C,
listwa diod programowalnych 8szt (będzie zamieniona na dwie po 4 szt),
czujnik deszczu,
buzzer bez generatora,
tablet.
Układ mierzy temperaturę w dwóch miejscach w domu, na zewnątrz temperaturę w słońcu, przy gruncie i 1m nad gruntem w cieniu. Dodatkowo mierzy ciśnienie atmosferyczne, wilgotność zewnętrzną i wewnętrzną oraz temperaturę wody w CO.
Funkcją dodatkową jest alarm wywoływany przy pierwszych opadach deszczu, a także (na wyraźne życzenie żony) alarm informujący kiedy pralka w piwnicy skończyła pracę.
Kolejną funkcją układu jest sterowanie pracą 8 przekaźników obsługujących min. bramę, furtkę, oświetlenie. O stanie pracy przekaźników informują programowalne diody LED.
Enkoder służy do poruszania się po menu na LCD20x4(prawo, lewo, przycisk), każdy obrót i wciśnięcie jest sygnalizowane przez buzzer.
Docelowo planuję dołożyć czujnik zanieczyszczenia powietrza, mierzący pył PM2,5, PM10.
Wszystkie dane z czujników są na bieżąco wyświetlane i przewijane na LCD 20×4, po wciśnięciu przycisku enkodera wchodzimy w menu opcje gdzie możemy na LCD20x4 sprawdzić najwyższy i najniższy odczyt każdego z czujników, datę tego odczytu oraz zresetować pamięć dla każdego odczytu i czujnika z osobna.
Pierwszą pozycją w menu opcje jest kolejne podmenu Włączniki, w którym możemy sterować poprzez enkoder wszystkimi ośmioma przekaźnikami.
Każdy z przekaźników jest sterowany sygnałem z arduino idącym przez bramki OR do których dochodzą także sygnały z zewnętrznych włączników naściennych.
Dopiero sygnał za bramką OR idzie do przekaźnika oraz dodatkowo jako potwierdzenie wraca do arduino. Dioda led informuje o włączeniu przekaźnika także, kiedy tenże jest włączony “poza arduino” przez włącznik naścienny. Informacja o tym fakcie wraca do arduino powodując odpowiednie zmiany zmiennych i na bieżąco aktualizując diody led i informacje wyświetlane na LCD 20×4.
Osobną sprawą jest BLYNK który miał służyć początkowo tylko do kontroli przez telefon nad przekaźnikami, ale po poznaniu jego możliwości, całkowicie zmieniłem założenia i teraz to tablet z zainstalowanym Blynkiem jest głównym wyświetlaczem i sterownikiem całego układu.
Na tablecie mam podmenu: przekaźniki, czujniki, max i min, historia, alarmy.
W menu przekaźniki sterujemy z tableta i telefonu, w dowolnym miejscu na świecie, przekaźnikami, otrzymując z powrotem informację o faktycznym włączeniu przekaźnika(zmiana koloru widgeta oraz wyświetlonego na nim napisu) , także przez kogoś innego(przez włącznik ścienny, lub drugie urządzenie:tablet lub telefon). Choć poprzez udostępnienie tokena do naszego projektu takich urządzeń może być więcej.
Drugie menu to wyświetlanie danych z wszystkich czujników odświeżane co 1 min, oraz mała “dioda led” migająca i informująca o prawidłowej komunikacji apka-arduino.
Kolejne menu to ekran z rozwijanym podmenu na którym wyświetlone są nazwy wszystkich czujników i poprzez wybór któregoś z nich możemy sprawdzić(podobnie jak to było na LCD20x4), najniższą i najwyższą wartość i zresetować pamięć dla każdego czujnika osobno.
Następne menu to historia, ja mam ustawione wyświetlanie na wykresach historii odczytów ciśnienia atmosferycznego i wigotności.
Ostatnie menu to alarmy. Po pojawieniu się na odpowiednim pinie arduino sygnału z czujnika deszczu lub sygnału o końcu pracy pralki, na wyświetlaczu LCD20x4 przestaje się przewijać informacja o dacie, godzinie i odczytach z czujników, a wyświetla się info o alarmie z odpowiednią treścią, albo o pralce albo o deszczu. Dodatkowo listwa diod led miga jak szalona wszystkimi kolorami i sposobami. Po wciśnięciu enkodera lub upływie ustawionego czasu alarm wyłącza się. Informacja o alarmie pojawia się też na tablecie i telefonie, w sposób wizualny i dźwiękowy, poprzez wybraną melodię z pamięci talefonu/tableta.
Dodam jeszcze, że do tabletu dam dorobić fajną ramkę, w której tenże tablet umocuję, dodatkowo w ramce umoieszczę listwy led informujące o stanie przekaźników, niezależnie od tabletu i wyświetlanego na nim menu, a ramka przy okazji będzie też kryć kabel zasilający tablet:-)
To chyba tyle, jakby coś to pytajcie:-)
INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(
Dasz rade cos wiecej napisac? Skad apka albo jakies poradniki do tego? Fajna sprawa. Zrobilbym sobie takie cos dla nauki :)
Apka to BLYNK na arduino do ściągnięcia z google play
co do sugestii to na pewno przydałby się wykaz części użytych w w projekcie, zdjęcia z budowy możne jakiś mały instruktaż i będzie naprawdę spoko:) dobra robota :))
No aktualnie połowa tekstu twojego projektu to opis profilu. Właściwie nic nie opisane. Na filmiku pokazujesz jedynie działanie połączonych paru elementów. Dobre jako prezentacja części czy aplikacji (chociaż też nie, bo brak spisu elementów), ale nie jako projekt.
Zmień tytuł na “normalny”, dodaj kod. Wtedy wiele osób może się zainteresować i powielić Twój projekt.
kod programu by się przydał
Witam!
W jaki sposob uzyskujesz informacje ze pralka skonczyla pranie? Akurat ta funkcja wydala mi sie bardzo praktyczna bo tez mam pralke daleko.
Kiedy pralka kończy pracę, wyłącza się blokada drzwi, i stąd informacja….
Co do kodu, to jeszcze go poprawiam, zeby chodziło wszystko płynnie, jest tego ponad 4000 linijek kodu napisane przez laika uczącego się arduino od trzech miesięcy, także wydaje się, że lepiej dla mnie żebyście tego nie oglądali. Jest napisane przy pomocy najprostszych poleceń przekazanych na kursie Forbota. Nic tajemnego.