Siema ElektroMirasy jestem w trakcie projektowania "sterownika pokoju", więc może pokaże wam postępy mojej pracy.
Projektem zajmuje się wieczorami ale i nie zawsze jest na to czas i chęć.
Jest to mój w zasadzie pierwszy większy projekt zaraz po początkowej zabawie typu blink led.
Do rzeczy:
~Co już zrobiłem programowo:
Pomiar temperatury, wraz z wyświetlaniem maksymalnej i minimalnej temperatury i logowaniem godzinowej średniej na kartę.
Zegar
Sterownik taśm RGB (będą dwie 5 metrowe)
Sterowanie oświetleniem górnym po PWM
Obsługa sterowania pilotem, klawiszami oraz przez LAN (tu napotkałem problemy, o tym niżej)
Obsługa 8 punktów elektrycznych (4 podwójne gniazdka) po rejestrze przesuwnym
Poznałem podstawowe prawa elektroniki
~Co jeszcze jest w planach
Sterowanie 3 roletami i roletą od projektora
Otwieranie okna siłownikiem
System pozorowanego pobytu w domu poprzez włączanie i gaszenie świateł o losowych godzinach w pewnych zakresach doby.
System budzika - nadajnik IR włączy amplituner i co jakiś czas będzie go pogłaśniał + zwinięcie rolet i uchylenie okna a w okresie zimowym włączeniem światła.
Wymiana wyświetlacza na jakiś graficzny (montaż w miejscu starego łącznika oświetlenia) ewentualnie montaż łącznika typu "inteligentny dom" - jednak to są bardzo drogie rozwiązania.
Jako że mój pokój jest najcieplejszy w całym domu to montaż elektrozaworu na kaloryfer i ustawianie zadanej temperatury.
Postawienie drugiego serwera WWW na routerze z gargoyle do komunikacji z systemem i do zbierania logów, router jest również serwerem mediów i obsługuje 2 kamery webowe.
W dalszych planach jest podpięcie ekspresu do kawy.
Cały system będzie stał na 2-3 Atmegach. Serwer www na ardu/x-medze zajmuje dużo czasu procesora i czytnik IR gubi bądź w ogóle nie czyta poleceń pilota, odczyt z DSB1820 też potrafi trwać 2-3 sekundy czasami nawet i 8 przy 2 czujnikach a ma być ich 4. Więc obsługa serwera i przekaźników oraz oświetlenia będzie na drugiej atmedze. Zapytacie pewnie też dlaczego nie użyje mocniejszego uC zamiast 2 atmeg? Otóż będą one w różnych miejscach w pokoju i mniej ciągnięcia przewodów. Atmega nazwijmy ją przekaźnikowa(bo będzie w skrzynce razem z przekaźnikami) będzie również obsługiwała akumulator motocyklowy który w razie braku zasilania podtrzyma pracę całego systemu, routerów umożliwi włączenia oświetlenia LEDowego.
Myślę że przez zimę powinienem skończyć część programową, bo po zimie planuje remontować pokój i oczywiście położyć całe instalacjec.
Dzisiaj też zaprogramowałem pierwszy raz zewnętrzą atmegę by uwolnić Ardu, jutro zaczne rozbijać kod na 2 atmegi i pobawie się komunikacją między nimi. Poprzez ardu ładowałem wsad do zewnętrznego procka i nie było z tym problemu czyli nie ma sensu kupować USBasp?
Na filmie widać atmegę która będzie tym głównym sterownikiem, ardu podpięte jako programator i zasilacz bo akurat nie miałem na stanie stabilizatora. Dla ciekawskich wielkość binarna szkicu to 19 392 bajtów ale program jak będę dzielił na moduły postaram się coś po optymalizować . Te latające cyferki na ekranie "aktualna" pokazują mi czas do pomiaru temperatury tak tylko do debugowania.
@nawri: Zrób sobie jeszcze wskaźnik wilgotności powietrza (higrometr), ten często pomijany wskaźnik jest całkiem istotny, gdy chodzi o to, jak czujemy się w danym pomieszczeniu.
@Wciagam_kotlety_nosem: blogerem nie jestem, raczej napiszę tu tylko coś po ukończeniu projektu, także tag na dwa wpisy nie jest potrzebny, ale będę Cię wołał na finiszu tylko to za kilka miesięcy ;)
@cox22: jestem w trakcie przepisywania kodu, czyszczenia i optymalizacji bo panuje tu straszny burdel. Dziele go również na kilka części. Jak go skończę to na pewno udostępnię Ci na PW.
@cox22: no niestety projekt tymczasowo zamarł, na razie zrobiłem sterowanie oświetlenia po 433mhz na 3 punkty świetlne(ten projekt jest już na "gotowo", układy z przekaźnikiem i odbiornikiem 433mhz zmieściły mi się w dotychczasowych puszkach podtynkowych.) Powiedzmy że teraz zbieram części - pisząc kod tylko na sucho ciężko sprawdzić poprawność działania. Chciałbym to wytłumaczyć brakiem czasu ale to tylko moja jesienno-zimowa stagnacja :-). Co do samego programowania to mam za dużo złych
@nawri: Co do czujnika 1wire (ds18b20?) miałem ten sam problem czekanie 750ms strasznie laguje program można to obejść przez wykorzystanie trybu asynchronicznego. W bibliotece dallas przykład waitforconverson2. Z wykorzystaniem tego trybu nie ma odczuwalnego opóźnienia choć i tak myślę że lepszym pomysłem jest przeniesienie wszystkich czujników na oddzielna atmege i porostu wysyłać co sekundę odczyty. Jakich używasz modułów RF?
Tak 18b20. U mnie odczyt temperatur odbywa się co minutę na oddzielnej atmedze, atmega ta działa jako czujnik - tzn główna atmega również co minutę odpytuje i pobiera temperatury nie widzę potrzeby by pobierać temperatury w sekundowej rozdzielczości, planuje na atmedze czujnikowej zrobić pomiar 5 krotny na czujnik by potem odrzucić 2 skrajne temperatury a z 3 pozostałych wyciągnąć średnią arytmetyczną by dawało bardziej miarodajne wyniki. Planuje zrezygnować z wyświetlacza alfanumerycznego -
Siema ElektroMirasy jestem w trakcie projektowania "sterownika pokoju", więc może pokaże wam postępy mojej pracy.
Projektem zajmuje się wieczorami ale i nie zawsze jest na to czas i chęć.
Jest to mój w zasadzie pierwszy większy projekt zaraz po początkowej zabawie typu blink led.
Do rzeczy:
~Co już zrobiłem programowo:
Pomiar temperatury, wraz z wyświetlaniem maksymalnej i minimalnej temperatury i logowaniem godzinowej średniej na kartę.
Zegar
Sterownik taśm RGB (będą dwie 5 metrowe)
Sterowanie oświetleniem górnym po PWM
Obsługa sterowania pilotem, klawiszami oraz przez LAN (tu napotkałem problemy, o tym niżej)
Obsługa 8 punktów elektrycznych (4 podwójne gniazdka) po rejestrze przesuwnym
Poznałem podstawowe prawa elektroniki
~Co jeszcze jest w planach
Sterowanie 3 roletami i roletą od projektora
Otwieranie okna siłownikiem
System pozorowanego pobytu w domu poprzez włączanie i gaszenie świateł o losowych godzinach w pewnych zakresach doby.
System budzika - nadajnik IR włączy amplituner i co jakiś czas będzie go pogłaśniał + zwinięcie rolet i uchylenie okna a w okresie zimowym włączeniem światła.
Wymiana wyświetlacza na jakiś graficzny (montaż w miejscu starego łącznika oświetlenia) ewentualnie montaż łącznika typu "inteligentny dom" - jednak to są bardzo drogie rozwiązania.
Jako że mój pokój jest najcieplejszy w całym domu to montaż elektrozaworu na kaloryfer i ustawianie zadanej temperatury.
Postawienie drugiego serwera WWW na routerze z gargoyle do komunikacji z systemem i do zbierania logów, router jest również serwerem mediów i obsługuje 2 kamery webowe.
W dalszych planach jest podpięcie ekspresu do kawy.
Cały system będzie stał na 2-3 Atmegach. Serwer www na ardu/x-medze zajmuje dużo czasu procesora i czytnik IR gubi bądź w ogóle nie czyta poleceń pilota, odczyt z DSB1820 też potrafi trwać 2-3 sekundy czasami nawet i 8 przy 2 czujnikach a ma być ich 4. Więc obsługa serwera i przekaźników oraz oświetlenia będzie na drugiej atmedze. Zapytacie pewnie też dlaczego nie użyje mocniejszego uC zamiast 2 atmeg? Otóż będą one w różnych miejscach w pokoju i mniej ciągnięcia przewodów. Atmega nazwijmy ją przekaźnikowa(bo będzie w skrzynce razem z przekaźnikami) będzie również obsługiwała akumulator motocyklowy który w razie braku zasilania podtrzyma pracę całego systemu, routerów umożliwi włączenia oświetlenia LEDowego.
Myślę że przez zimę powinienem skończyć część programową, bo po zimie planuje remontować pokój i oczywiście położyć całe instalacjec.
Dzisiaj też zaprogramowałem pierwszy raz zewnętrzą atmegę by uwolnić Ardu, jutro zaczne rozbijać kod na 2 atmegi i pobawie się komunikacją między nimi. Poprzez ardu ładowałem wsad do zewnętrznego procka i nie było z tym problemu czyli nie ma sensu kupować USBasp?
Na filmie widać atmegę która będzie tym głównym sterownikiem, ardu podpięte jako programator i zasilacz bo akurat nie miałem na stanie stabilizatora. Dla ciekawskich wielkość binarna szkicu to 19 392 bajtów ale program jak będę dzielił na moduły postaram się coś po optymalizować . Te latające cyferki na ekranie "aktualna" pokazują mi czas do pomiaru temperatury tak tylko do debugowania.
http://www.youtube.com/watch?v=-2WeGpQcDNI
Żałuje że tak późno zainteresowałem się uC bo to przecież świetna zabawa, głupie mruganie ledami dostarcza sporej ilości satysfakcji.
Liczę na konstruktywną krytykę, dobre rady i ciekawe pomysły
http://i.imgur.com/s9xrMpH.jpg
i własnie miałem dodać do każdego identyczne moduły do sterowania
http://img.auctiva.com/imgdata/1/3/5/4/6/7/2/webimg/700382041_o.jpg
ale chyba gra jest nie warta świeczki skoro za 10 zł można mieć gotowy przekaźnik z komunikacja rf i zasilaniem od razu z gniazdka.