Skocz do zawartości

makedz

Użytkownicy
  • Zawartość

    2
  • Rejestracja

  • Ostatnio

Reputacja

7 Neutralna

O makedz

  • Ranga
    1/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Cześć. Chciałbym się z Wami podzielić projektem, który jak pewnie większość takich projektów – wziął się z pewnej potrzeby. Otóż mój znajomy, który miesza w domku jednorodzinnym ma garaż. Garaż jest otwierany elektrycznie za pomocą m.in. pilota zdalnego sterowania. Często zdarzało się, że w nocy brama garażowa była otwarta bo np. ktoś z domowników miał pilot do garażu w tylnej kieszeni spodni i… po prostu usiadł. Poprosił mnie o pomoc. Chciał po prostu wiedzieć kiedy brama jest otwarta a kiedy zamknięta. Ustaliliśmy, że do sygnalizacji wystarczy prosta dioda LED. Urządzenie pokazujące stan otwarcia bramy miało być w dwóch miejscach w domu: w sypialni i w salonie obok telewizora. Oczywiście nie ma mowy o ciągnięciu jakichś kabli po nowo wybudowanym domu, więc w grę wchodzi tylko komunikacja bezprzewodowa. Zasada działania miała być prosta: Kiedy brama garażowa jest otwarta na odbiornikach widać świecącą diodę w kolorze czerwonym. Gdy jest zamknięta – w zielonym. Układ składał się więc z nadajnika, czyli modułu z kontraktonem, który „wykrywał” czy drzwi są zamknięte, oraz dwóch modułów z diodą RGB, która – w zależności od położenia drzwi – świeciła w odpowiednim kolorze. Nadajnik zbudowany jest z mikrokontrolera – klona ATMEGi, tzn. LGT8F328D (miałem po prostu kilka sztuk), czujnika zamknięcia bramy – czyli kontraktonu i nadajnika radiowego. Wybór mikrokontrolera podyktowany był tym, że w zasadzie sam program jest banalnie prosty i jakoś specjalnie nie wymagający sprzętowo, ale potrzebowałem mikrokontrolera z interfejsem SPI (o czym piszę poniżej) i… taki mikrokontroler po prostu miałem na stanie. Na początku przeprowadziłem testy z prostym nadajnikiem 433MHz, niestety zasięg nie był imponujący i po prostu nie sprawdził się. Nadajnik był zasilany napięciem 5V, mogłem próbować oczywiście zasilić go większym napięciem (12V), ale wtedy układ nieco by się skomplikował… Postawiłem więc na moduł nRF24l01 (stąd potrzeba SPI). Całość zasilana przez zasilacz zewnętrzny 5V. nRF24l01 pracuje na napięciu 3,3V, więc oczywiście w module nie zabrakło LDO, dokładnie AMS1117 3.3V. Mikrokontroler oczywiście też pracuje na napięciu 3.3V, częstotliwość taktowania to 8MHz. Odbiorniki działają na tym samym mikrokontrolerze, również wyposażone są oczywiście w moduł radiowy nRF24L01, oraz diodę LED RGB. Zasada działania układu jest prosta. Nadajnik sprawdza wejście cyfrowe z kontraktonem. Jeżeli jest „1” – tzn. drzwi są zamknięte – wysyła komunikat o treści „ON” co 1 sekundę. Jeżeli są otwarte – wysyła „OFF” co jedną sekundę. Odbiorniki natomiast czekają na komunikat. Jeżeli dostają „ON” - dioda świeci na zielono, jeżeli „OFF” – na czerwono. Jeżeli w ciągu 5 sekund nie dostaną żadnego komunikatu – dioda świeci na niebiesko. W ten oto sposób wiadomo, że nadajnik działa (lub też nie). Prototyp na pro mini służący do testów: Jeżeli chodzi o montaż w garażu, to na bramie garażowej przykleiłem magnes, na naprzeciwko magnesu umieściłem kontrakton, czyli urządzenie mechaniczne, które w polu magnetycznym magnesu zwiera dwa przewody ze sobą. Jako obudowa nadajnika i odbiorników służy zwykła puszka elektryczna. Dla układu nadajnika i odbiorników zaprojektowałem płytkę PCB (tę samą dla nadajnika i odbiorników) i zamówiłem w jednej z chińskich firm zajmujących się produkcją płytek PCB. Po otrzymaniu płytek przylutowałem niezbędne komponenty, podłączyłem i… działa już parę miesięcy. Nadajnik: Odbiornik: Gotowy projekt: Kilka uwag do projektu płytki Schemat: Jest tam kilka elementów nadmiarowych, nie używanych, ale zaprojektowanych „na zapas”. Po pierwsze jest miejsce na rezonator kwarcowy (wraz z odpowiednimi kondensatorami)– nie przylutowany. Mikrokontroler korzysta z wbudowanego oscylatora. Działa stabilnie, więc po co przepłacać Można także zauważyć, że i nadajnik i odbiornik mają wlutowaną diodę LED RGB. Bezpośrednio na nadajniku też widać czy brama jest otwarta, czy zamknięta. W projekcie na wyjściach mikrokontrolera PD5, PD6 i PB1 są tranzystory BC639 – to w wypadku, gdyby okazało się, że dioda RGB LED jest zbyt ciemna – wtedy można podłączyć np. taką diodę 3W, wiadomo – bardziej wymagająca prądowo. Jest jeszcze wyprowadzenie kilku dodatkowych wyjść mikrokontrolera, bo… było miejsce, a płytka może się jeszcze przydać do czegoś innego. Na płytce PCB widać, że nawet przycisku RESET nie przylutowałem… ale jest na niego miejsce. Zamiast LGT8F328D można przylutować na płytkę ATMEGA328P (zwierając odpowiednie wyprowadzone piny mikrokontrolera) lub ATMEGA328PB – tutaj akurat zgodne elektrycznie z LGT. Kodu źródłowego nie publikuję, bo to zaledwie kilka linijek. Kod pisany w środowisku Arduino. Projekt zdecydowanie bardziej hardware’owy. Prosty i skuteczny.
×
×
  • Utwórz nowe...