#01 Lampka RGB – Minecraft – opis schemat

#01 Lampka RGB – Minecraft – opis schemat

Na prośbę Córki wykonałem lampkę, która jest blokiem z gry Minecraft. Lampka została wykonana za pomocą technologii druku 3D, dodatkowo podstawa bloku została specjalnie zaprojektowana tak aby pomieścić płytkę PCB oraz podstawę do cyfrowych diod WS28B12 RGB. Podstawa lampki otrzymała gumowe nóżki aby nie ślizgała się po blacie od biurka, posiada również otwory na których umieścimy płytkę drukowaną oraz podstawkę do 5 cyfrowych diod rgb.Zacznę może trochę nietypowo i napiszę jakie dodatkowe funkcje lampka mogła by posiadać. Lampka służy mojej Córce za oświetlenie „nocne” jako, że nie lubi ona zasypiać gdy jest ciemno załącza lampkę dzięki czemu spokojnie i bez obaw może zasypiać. Natomiast jak już śpi to lampka świeci się nadal a można by dodać do lampki mały czujnik ruchu który to po naruszeniu jego wiązki zapaliłby lampkę na określony czas np 60 minut, w efekcie gdy w nocy Córka przebudziła się lampka załączona została by samoczynnie. Do lampki dołożyłbym również fotorezystor aby od niego uzależnić działanie czujnika pasywnej podczerwieni tak aby za dnia ruch w pomieszczeniu nie powodował załączenia lampki.

Ta wersja lampki nie pozwala na sterowanie z klawiszy gdyż pod ręką posiadałem tylko Atmegę88 i najzwyczajniej w świecie program zajął 93,7% pamięci mikrokontrolera. Na chwilę obecną wysyłam z androida nr programu, gdybym jednak wysyłał wartości RGB zapewne byłoby więcej miejsca w pamięci i mógłbym dołożyć obsługę klawiszy.

Wracając do meritum w  wykonaniu lampki pomogła mi oczywiście drukarka 3d oraz programowanie mikrokontrolerów, ale nic nie stoi na przeszkodzie aby klosz lampki został zrobiony z pomalowanych kartek papieru. Mając dostęp do drukarki tworzenie takiego klosza było lepszym rozwiązaniem ze względu na wytrzymałość wydrukowanego plastiku nakładanego warstwa po warstwie w stosunku do kartki papieru, klosz z papieru również będzie świecił się cały a nie jak w przypadku wydrukowanego klosza tylko okienka bloku.

Na początek przedstawię szkic dzięki któremu uda się wam wykonać taki klosz z papieru, minusem jest fakt, że mój klosz jest wymiarów 82mm tutaj jednak będzie on nieco mniejszy ze względu na to aby mieścił się on na kartce A4. Jako, że druk jest w odbiciu lustrzanym pozwoliłem sobie wkleić swoje logo gdyż cały projekt wraz ze wszystkimi grafikami został wykonany przeze mnie.

A4 klosz lampki bloku minecraft
A4 klosz lampki bloku minecraft

Powyższy plik wystarczy wydrukować w skali 1:1.
W moim przypadku każda ścianka klosza została wydrukowana osobno na drukarce 3d, następnie od wewnątrz wkleiłem papier śniadaniowy a na końcu skleiłem ze sobą wszystkie ścianki szybko schnącym klejem do plastiku.

Podstawa bloku została również wydrukowana w technologii FDM natomiast każdy samemu może bez problemu dobrać jakiś pojemnik do wymiarów wydrukowanego na kartce papieru bloku lampki minecraft.

Gotowa lampka sterowana za pomocą aplikacji na Androida

Do wykonania własnej lampki przyda nam się schemat oraz pliki płytki pcb, które załączę na samym dole artykułu. Skupmy się przez chwilkę na schemacie:

schemat lampki bloku minecraft

Po kliknięciu w powyższy obrazek otworzy się on powiększony w nowym oknie.

Na początek zajmijmy się sekcją zasilania:

Sekcja zasilania lampki bloku minecraft

Jest ona na tyle prosta, gdyż użyłem tutaj gotowej przetworniczki napięcia, która pinologicznie jest zgodna z LM7805, plusem przetwornicy impulsowej jest brak grzania się jak to bywa w przypadku stabilizatora liniowego.
Widzimy tutaj takie piny jak J1-1, J1-2, J1-3 jest to nic innego jak pady do których możemy bez problemu przylutować złącze ARK, goldpin lub po prostu przylutować przewody zasilania, ja w tym przypadku użyłem zewnętrznego zasilacza impulsowego 12V 500mA a do w/w padów przylutowałem przewody od gniazda DC.
Zworki smt SJ1, SJ2 wykorzystujemy tylko w przypadku gdy użyjemy przetworniczki ATB-PWR3, służą one między innymi do tego, że po podaniu napięcia przetworniczka automatycznie wystartuje i nie będziemy musieli wciskać przycisku na niej umieszczonego, przecież było by to uciążliwe i trudne gdyż przetworniczka będzie zamknięta w obudowie.

Kolejnym elementem zasilania jest stabilizator LM1117 3v3 gdyż układ za pośrednictwem którego nawiążemy komunikację pracuje na napięciu 3,3V.

Sekcja zasilania 3V3 lampki bloku minecraft

Tutaj dodatkowo na wyjściu dołożyłem kondensator ceramiczny 100nF w celu wyeliminowania zakłóceń, które mogą pojawiać się na wyjściu stabilizatora. Ta sekcja służy tylko i wyłącznie  do zasilania układu Wi-Fi ESP8266-07, pracuje on na 3v3, jego piny również są tylko 3v3 tolerancyjne. Oznacza to, że nie możemy przekroczyć tego napięcia nawet na magistrali UART, dlatego też musimy zadbać o odpowiednią konwersję napięć. W internecie jest pełno dostępnych schematów dotyczących konwersji napięć. Przeważnie oparte są one o zwykły dzielnik rezystorowy, jednakże moim zdaniem taka konwersja jest wolniejsza od tej którą używam jak i nie zabezpiecza układów przed ewentualnymi skokami napięć.

sekcja konwersja napiec rs232

Tutaj do konwersji napięć świetnie nadają się tranzystory N-MOSFET, unipolarne 50V, 200mA w obudowie SOT23. Nie będę się tutaj rozpisywał dlaczego, po co i w jakim celu stosuje się konwersję napięć, wspomniałem o tym powyżej natomiast po więcej informacji odsyłam do wyszukiwarki.
Piny TXD oraz RXD doprowadzone zostały do złącza goldpin dzięki temu w trakcie pisania programu będziemy mogli założyć podsłuch i obserwować w terminalu komunikację RS232, ale powtarzam tylko na czas pisania programu zakładamy taki „podsłuch” w docelowym działającym układzie może to mieć odwrotne skutki i ramki mogą nie dolatywać do mikrokontrolera do którego również podłączyłem piny RXD oraz TXD. Po prawej stronie sekcji znajduje się opis RX, TX. Te piny połączone są z układem WiFi ESP8266-07. Translacja napięć działa na tej zasadzie, że gdy z TX ESP8266 3V3 zostanie nadana ramka to zostanie ona wzmocniona z 3V3 do 5V poprzez T3 oraz R13 i do pinu RXD mikrokontrolera dojdzie ta sama ramka ale 1 logiczna będzie o 5V napięciu. Analogicznie z pinu TXD mikrokontrolera zostanie nadana ramka do modułu ESP8266 na pin RX dojdzie ta sama ramka ale 3V3 czyli dopasowana do poziomu napięć modułu WiFi za pomocą T2 oraz R12.

Kolejnym elementem schematu jest moduł ESP8266

sekcja esp8266 lampka blok minecraft

Tutaj na początek odeślę do poprzednich moich wpisów dotyczących ESP8266:
ESP8266 – objaśnienie pinów oraz firmware
ESP8266 – aktualizacja firmware
ESP8266 – Eagle Symbol oraz Fotoprint
Po zapoznaniu się z powyższymi artykułami za pewne będzie Tobie łatwiej wejść w świat WiFi AVR.

Przedostatnim elementem schematu który opisze to sekcja złącz oraz klawiszy.

sekcja zlacz oraz klawiszy lampka blok minecraft

Tutaj w zasadzie zatrzymamy się tylko na chwilkę. Jak już wspominałem nie starczyło mi miejsca w pamięci Atmega88 dlatego też klawisze, które są na schemacie jak i zamontowane w lampce nie są wykorzystywane, jednakże złącze LED_CONN służy do podłączenia pierwej sekcji ledów dla lampki. Co oznacza pierwsza sekcja ? W planie było aby można podłączyć do lampki kolejne lampki, lampiony czy też świecidełka, które miały być sterowane z lampki bloku minecraft. Dlatego też na płytce znalazło się złącze LED_CONN_OUT które na chwile obecną również nie jest używane. Pomysł na rozbudowę lampki już jest i w niedalekiej przyszłości wymienię Atmegę88 na Atmegę328 zyskując tym samym więcej pamięci w mikrokontrolerze nie zmieniając ani schematu ani płytki PCB. Więcej pamięci oznaczać również będzie więcej efektów i możliwości lampki.

Ostatnim fragmentem i najważniejszym układem jest mikrokontroler.

Lampka Blok Minecraft

Tak jak już wspominałem wcześniej w niedalekiej przyszłości ATmega88 zostanie zastąpiona ATmegą328 nie mniej pinologia oraz obudowa mikrokontrolera jest dokładnie taka sama, dlatego też nie trzeba będzie zmieniać ani schematu ani płytki PCB. W tym wypadku jest to typowy fragment schematu z kondensatorami filtrującymi zasilanie mikrokontrolera, z kwarcem zewnętrznym 11.592.000Hz. Dodatkowo na schemacie znajdują się zwykłe diody led sygnalizujące stan połączenia z routerem oraz odbioru i nadawania danych. złącza KBD oraz KBD1 umieszczone są na głównej płytce oraz na płytce z klawiszami. Dodatkowo na płytce głównej zostały wyprowadzone piny do programatora AVR-ISP 2×3 w rastrze 2.54mm

sekcja programatora lampka minecraft

W zasadzie te złącze jest nam potrzebne do zaprogramowania mikrokontrolera, jednakże mając WiFi na pokładzie można się pokusić o zdalne jego programowanie. Moim zdaniem w tym przypadku jest to zbędne gdyż lampkę zaprogramujemy tylko raz ewentualnie gdy będą jakieś poprawki to kolejny raz ale nie stoi nic na przeszkodzie by podłączyć do niej programator.

W kolejnym artykule zajmiemy się płytką PCB oraz podstawą do kolorowych cyfrowych diod led.

Informacje o: majeś

POLECANE POSTY

Komentarze:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *