Spisu treści:

Zegar NeoPixel: 10 kroków (ze zdjęciami)
Zegar NeoPixel: 10 kroków (ze zdjęciami)

Wideo: Zegar NeoPixel: 10 kroków (ze zdjęciami)

Wideo: Zegar NeoPixel: 10 kroków (ze zdjęciami)
Wideo: [A&RPi Day 2020 prelekcje] Od Arduino do kosmicznego strat-upu 2024, Lipiec
Anonim
Image
Image
Wymagane części elektroniczne
Wymagane części elektroniczne

*********************************************************************************************************

TO JEST WPIS DO KONKURSU MIKROSTEROWNIK, PROSZĘ GŁOSUJ NA MNIE

********************************************************************************************************

Zbudowałem lustro nieskończoności NeoPixel kilka lat temu, gdy byłem w Tajlandii i można je zobaczyć TUTAJ.

Zrobiłem to na własnej skórze, nie używając Arduino, ale samodzielnego mikroprocesora, PIC18F2550. Wiązało się to z zagłębieniem się w rejestry i czasy Micro, aby napisać kod, z których część zawierała asembler.

To świetna wiedza, którą posiadam i trzyma mnie w dobrej pozycji, ponieważ sprawia, że praca z Arduino jest dziecinnie prosta. Większość pracy została wykonana przy użyciu bibliotek firm trzecich, podczas gdy wcześniej napisałem własny kod biblioteki.

Ten zegar został zaprojektowany tak, aby emitować światło z obrzeży na ścianę, do której jest przymocowany, za pomocą indywidualnie adresowalnych diod LED RGB WS2812B rozmieszczonych co 144 na metr. To dało mi średnicę zegara 200 mm, coś, co mogłem zrobić sam na mojej drukarce 3D.

Daje oszałamiający efekt, szczególnie w nocy lub w zaciemnionym pomieszczeniu, światło świeci na około 500 mm, dając w sumie olśniewający olśniewający średnicę ponad metra. Wzory są niesamowite.

Zegar wyświetla godziny (niebieski), minuty (zielony) i sekundy (czerwony). Wyświetlana jest również data na 8-cyfrowym 7-segmentowym wyświetlaczu oraz dzień tygodnia w formie listy.

Zegar jest kontrolowany przez smartfon przez Wi-Fi za pomocą aplikacji Blynk i lokalnego serwera Blynk działającego na RPi 3.

Korzystanie z lokalnego serwera dla Blynk jest opcjonalne, a jego konfiguracja nie jest częścią tej instrukcji. Z hostowanego w Internecie Blynk można korzystać po utworzeniu konta na stronie www.blynk.cc i pobraniu aplikacji.

Na ich stronie internetowej jest mnóstwo informacji na temat korzystania z Blynk, więc nie jest to część tej instrukcji.

Na późniejszym etapie tej instrukcji jest kod QR do zeskanowania, a następnie będziesz mieć moją aplikację na swoim telefonie.

Aplikacja posiada elementy sterujące do wyświetlania zegara lub wzorców (z informacją zwrotną na wyświetlaczu LCD w aplikacji), możliwość ustawienia strefy czasowej w dowolnym miejscu na świecie i uzyskania czasu za pośrednictwem serwera NTP. Można go również uśpić.

Moduł zegara czasu rzeczywistego z podtrzymaniem bateryjnym zapewnia Arduino funkcje czasu/daty.

Oprogramowanie układowe na NodeMCU-E12 w zegarze można aktualizować bezprzewodowo (OTA).

Teraz zacznijmy……

Krok 1: Wymagane narzędzia

Dobra lutownica i lut

narzędzia do ściągania izolacji

małe nożyce do drutu

małe szczypce z długimi końcówkami

mała piła do cięcia deski vero

ostry nóż hobby

nożyce

klej do papieru

Krok 2: Wymagane części elektroniczne

Wymagane części elektroniczne
Wymagane części elektroniczne
Wymagane części elektroniczne
Wymagane części elektroniczne

1 x moduł NodeMCE-12E TUTAJ

1 x moduł zegara RTC TUTAJ

1 x 8-cyfrowy 7-segmentowy moduł Max7219 tutaj

1 x gniazdo zasilania prądem stałym tutaj

2 x przełączniki poziomu (wymagane, ponieważ Arduino ma 3,3 V, a RTC i 7-segmentowy wyświetlacz to 5 V) tutaj

68 diod LED z taśmy LED WS2812B 114/mtr tutaj.

Zasilacz DC 5v 10A tutaj.

Rezystor 10kOhm 1/4W.

W razie potrzeby przewód przyłączeniowy.

Około 77 mm x 56 mm płyta Vero do montażu wszystkich modułów i okablowania.

Właściwie użyłem przełącznika poziomu Adafruit dla linii I2c modułu RTC, ponieważ miał być bezpieczny dla I2c !!

Myślę jednak, że większość dwukierunkowych przełączników logicznych od 3,3 V do 5 V powinna działać.

Cięcie taśmy LED zmarnowało diodę LED, ponieważ wymagane były podkładki do lutowania obu końców paska 60 LED, a podkładki są wymagane na pasku 7 LED.

Krok 3: Części drukowane

Części drukowane
Części drukowane
Części drukowane
Części drukowane
Części drukowane
Części drukowane

Istnieją trzy drukowane części 3D; główny korpus zegara, przednia pokrywa i pokrywa baterii z tyłu.

Pokrywę baterii można było pominąć.

Pod przednią okładką nadrukowana „Maska” z dniami tygodnia. Wydrukowałem to na zwykłym papierze. Dostarczyłem plik.dwg i.dxf tego.

Dostępne są 2 przednie okładki, jedna nie ma nazwy, na wypadek, gdybyś nie mógł edytować części.

Moja drukarka 3D (dysza 0,4 mm) miała następujące ustawienia z Slic3r:

wysokość pierwszej warstwy = 0,2 mm

wysokość warstw = 0,2 mm

temp. złoża = 60 C

temp. dyszy = 210 C

obwody pionowe = 2

muszle poziome = 3

infill = gwiazdy prostoliniowe przy 45 deg

bez brzegów

brak materiału podporowego

Zdecydowanie zaleca się posiadanie metody poziomowania łóżka

Drukowane pliki 3D i rysunek maski tutaj:

Krok 4: Kompletny plik zespołu

Poniżej znajduje się plik IGS kompletnego zestawu dla każdego, kto chce zmodyfikować zegar.

Krok 5: Instalacja bibliotek

ZAINSTALUJ PŁYTY ESP

Będziesz potrzebował Arduino IDE. Instalacja tego nie jest częścią tej instrukcji, ale można ją pobrać TUTAJ.

Po zainstalowaniu Arduino IDE, jeśli nie zostało to jeszcze zrobione, musisz skopiować/wkleić poniższy tekst do pola tekstowego w obszarze Plik>Preferencje - Adresy URL menedżera dodatkowych tablic:

arduino.esp8266.com/stable/package_esp8266com_index.json

Uruchom ponownie środowisko IDE.

Po wykonaniu tej czynności przejdź do Narzędzia>Płyta>Menedżer tablic. Niech zakończy aktualizację i powinieneś zobaczyć wersję społeczności ESP8266 na liście zainstalowanych płyt.

ZAINSTALUJ BIBLIOTEKI

Instalowanie wszystkich bibliotek w folderze Documents/Arduino/Libraries jak zwykle oprócz tych zainstalowanych przez menedżera tablicy.

Po zainstalowaniu bibliotek uruchom ponownie Arduino IDE, przejdź do Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami, pozwól na zakończenie aktualizacji, powinieneś zobaczyć nowe biblioteki na liście.

RTClib – dostępny tutajAdafruit_NeoPixel – dostępny tutaj

HCMAX7219 stąd

Blynk - dostępny tutaj. postępuj zgodnie z instrukcją instalacji.

Wszystkie inne „zawarte” w pliku NeoPixelClock są instalowane przez Board Manager lub są pakowane wraz z instalacją Arduino IDE.

Krok 6: Instalacja oprogramowania sprzętowego

Na tym etapie dobrym pomysłem jest połączenie wszystkiego razem na płytce do krojenia chleba w celach testowych.

Przed podłączeniem zasilacza 5 V i/lub kabla USB dokładnie sprawdź wszystkie przewody.

Przejdź do folderu Sketch Dokumenty> Arduino.

Utwórz folder „NeopixelClock”.

umieść poniższy plik.ino w folderze.

Otwórz środowisko Arduino IDE.

Ustaw IDE, aby wyświetlać numery linii, przejdź do Plik>Preferencje i zaznacz pole „Wyświetl numery linii”, kliknij OK.

Podłącz płytę NodeMCU do portu USB.

Przejdź do Narzędzia>Płyta i wybierz NodeMCU 1.0 (moduł ESP-12E)

Przejdź do Narzędzia>Port i wybierz port, do którego podłączona jest twoja płyta.

ZAINSTALUJ OPROGRAMOWANIE OTA

Aby użyć aktualizacji OTA, musisz najpierw wypalić specjalny kawałek oprogramowania układowego na NodeMCU.

przejdź do Plik>Przykłady>ArduinoOTA>BasicOTA.

program załaduje się w IDE, wypełnij część dotyczącą ssid identyfikatorem SSID routera. Możesz zobaczyć tę nazwę, jeśli najedziesz myszą na ikonę Wi-Fi na pasku zadań.

Wpisz hasło hasłem sieciowym (zazwyczaj napisanym na spodzie routera bezprzewodowego.

Teraz prześlij na swoją płytkę NodeMCU przez USB.

Po zakończeniu naciśnij przycisk resetowania na płycie NodeMCU.

ZAINSTALUJ OPROGRAMOWANIE NEOPIXELCLOCK

Przejdź do Plik>Szkicownik>NeoPixelClock i otwórz plik NeoPixelClock.

Wpisz swoje „auth”, „ssid” i „pass” powinny znajdować się w wierszu 114.

Notatka; jak zdobyć token autorytetu wyjaśniono w następnym kroku

Możesz również ustawić lokalną strefę czasową na linii 121, może to być dowolna 1/4 godziny między -12 a +14, zgodnie ze strefami czasowymi na całym świecie. Jeśli wolisz, możesz to również ustawić w aplikacji. Obecnie jest ustawiony na Queensland w Australii.

W linii numer 332 musisz ustawić adres IP swojego lokalnego serwera, jeśli go używasz.

Uwaga dotycząca portu lokalnego serwera. Ze względu na niedawną aktualizację oprogramowania Blynk port to teraz 8080, a nie 8442.

Jeśli używasz nowego zaktualizowanego oprogramowania, zmień to.

Lub jeśli korzystasz z serwera WWW Blynk, skomentuj wiersz 332 i odkomentuj wiersz 333.

To wszystko, co trzeba zrobić.

Teraz prześlij to na swoją płytkę NodeMCU przez USB.

Po pomyślnym załadowaniu odłącz kabel USB od płyty.

Zobaczysz w Narzędzia> Port a nowy port (wygląda jak adres IP), wybierz go jako swój port do komunikacji z NodeMCU w celu przyszłych aktualizacji, które możesz zrobić.

Jeśli wszystko poszło dobrze, zegar powinien się uruchomić, jeśli nie, naciśnij przycisk „reset” na module NodeMCU.

Uwaga: zauważyłem, że czasami nie uruchamia się za pierwszym razem, stwierdziłem, że odłączenie zasilania i ponowne podłączenie działa najczęściej. Pracuję nad rozwiązaniem tego problemu, który nie uruchamia się poprawnie.

Krok 7: Aplikacja na smartfona

Aplikacja na smartfony
Aplikacja na smartfony
Aplikacja na smartfony
Aplikacja na smartfony

Aby zacząć z niego korzystać:

1. Pobierz aplikację Blynk: https://j.mp/blynk_Android lub https://j.mp/blynk_iOS, jeśli nie jest jeszcze zainstalowana.

2. otwórz aplikację lub zaloguj się, jeśli nowy będziesz musiał założyć konto.

UWAGA, to nie to samo, co konto online.

3. Dotknij ikony QR w aplikacji u góry i skieruj aparat na powyższy kod QR lub otwórz poniższy link -

tinyurl.com/yaqv2czw

4. na wskazany adres e-mail należy wysłać kod autoryzacji, który należy umieścić w kodzie Arduino, gdzie podano w późniejszym kroku. Jeśli naciśniesz ikonę nakrętki, w razie potrzeby będziesz mógł ponownie wysłać e-mail.

Jak wspomniano wcześniej, powinieneś utworzyć konto online na www. Blynk.cc. zanim to zrobisz.

Wybacz niejasności, nie mogę tego przetestować, ponieważ mam już aplikację i nie korzystam z serwera WWW.

Krok 8: Budowanie zespołu płytki Vero

Budowanie zespołu zarządu Vero
Budowanie zespołu zarządu Vero
Budowanie zespołu zarządu Vero
Budowanie zespołu zarządu Vero
Budowanie zespołu zarządu Vero
Budowanie zespołu zarządu Vero

Postanowiłem umieścić wszystkie płytki i moduły na kawałku płytki vero.

Dzięki temu wszystko jest schludne i uporządkowane.

Schemat można zobaczyć w pliku.pdf poniżej.

Nagłówki na płycie zostały usunięte po testach, podłączyłem wszystkie urządzenia peryferyjne bezpośrednio do płyty vero, ponieważ nie było wystarczająco dużo miejsca na nagłówki i związane z nimi złącza.

Przepraszam, że nie zrobiłem żadnych zdjęć spodu deski, ale nie powinno być trudno to rozgryźć. Możesz nawet poprawić mój układ. Zachowaj ten sam rozmiar płyty Vero, w przeciwnym razie nie będzie pasować do drukowanej w 3D podstawy.

Z przełącznikami poziomu logicznego LV (+3.3v) przechodzi do 3.3v na dowolnym z pinów 3v w module Arduino, HV (+5v) przechodzi do pinu VIN na płycie Arduino.

Wszystkie masy pochodzą z dowolnych/wszystkich pinów Arduino GND i powinny być wszystkie połączone ze sobą, aby uniknąć pętli.

Podłączyć za pomocą czegoś w rodzaju izolowanego przewodu jednożyłowego o grubości 26, izolacja PTFE byłaby dobra, ponieważ się nie topi.

Sprawdź dokładnie całe okablowanie 2 lub 3 razy.

Przejdź przez to multimetrem ustawionym na sprawdzanie ciągłości, sprawdź, czy wszystkie Gnds są podłączone z powrotem do VIN GND.

Sprawdź wszystkie połączenia +5v na module RTC, dwa styki HV modułów zmiany poziomu oraz styki VIN +5v na module NodeMCU.

Dobrym pomysłem jest również sprawdzenie wszystkich innych przewodów.

Krok 9: Montaż zegara

Montaż zegara
Montaż zegara
Montaż zegara
Montaż zegara
Montaż zegara
Montaż zegara

Po wydrukowaniu części wyczyść wszelkie przebłyski oraz grudki i nierówności za pomocą ostrego noża hobbystycznego.

Ponieważ miałem tylko niebieski i czarny żarnik, pomalowałem wnętrze wnęk LED srebrną farbą modelarską.

Myślę, że powinno to pomóc lepiej odbijać światło, a także zapobiegać przenikaniu światła przez ściany do sąsiednich wnęk.

Zespół płytki vero musi być okablowany:

do taśmy LED +5v, Gnd i DIN z montażu płytki vero.

do 7-segmentowego wyświetlacza z zespołu płyty vero.

do gniazda DC z zespołu płyty vero.

Przewód do oddzielnego 7-stykowego paska LED (DIN) od końca (numer 60) głównej 60-stykowej taśmy LED (DOUT).

Wylutowałem tylko dane (DOUT) z końca (LED numer 60) 60-stykowej taśmy LED, +5v i Gnd dla 7-stykowej taśmy LED, którą okablowałem z zespołu płyty vero.

aby zapobiec zwarciom, umieściłem mały kawałek cienkiej karty między początkiem a końcem 60-drożnego paska LED, ponieważ były bardzo blisko.

Odmierz i przytnij wszystkie przewody na odpowiednią długość, dodałem 5 lub 6 mm, aby zapewnić trochę luzu.

Nie usunąłem papieru samoprzylepnego z taśm LED, co utrudniłoby włożenie do podstawy i bardzo trudne do usunięcia w razie potrzeby.

Zauważyłem, że paski pasują ładnie i ciasno, a następnie wepchnij je do samego dna wnęki.

Umieść zespół płytki Vero we wnęce, są odstępy, aby utrzymać ją od dna o 2 mm.

Umieść 8-segmentowy wyświetlacz 7-segmentowy we wnęce, znajdują się słupki do montażu.

Gniazdo DC pasuje do jego wnęki, przylutuj przewody do tego po wewnętrznej stronie tagów. Usuń boczną metkę, jeśli chcesz.

Wszystkie przewody powinny być starannie ułożone w przewidzianych wnękach.

Na koniec przełóż gniazdo zasilania z zasilacza przez otwór i umieść je w gnieździe DC, wepchnij kabel do rowka znajdującego się pod spodem.

Sprawdź dokładnie całe okablowanie 2 lub 3 razy. Zobacz schemat połączeń poniżej.

Krok 10: Dopasuj przednią pokrywę do zakończenia

Blok podstawy ma kilka małych kołków wystających z zewnętrznego pierścienia, które powinny być wyrównane z otworami w przedniej pokrywie.

Maskę papierową należy wydrukować w kolorze czarnym, wyciąć i przykleić do przedniej okładki czymś w rodzaju kleju w sztyfcie.

Otwory zostaną przedziurkowane w papierze, gdy zostanie on dociśnięty przednią pokrywą do podstawy.

Wszyscy jesteśmy gotowi do pracy, podłącz go, zegar powinien uruchomić się automatycznie, jeśli nie, jak się kilka razy przekonałem, odłącz zasilanie i podłącz ponownie.

Jeśli nie masz baterii w module RTC, musisz ustawić godzinę i datę.

Zrób to za pomocą aplikacji, ustaw strefę czasową za pomocą regulatora góra/dół, a następnie naciśnij przycisk „USTAW CZAS NTP”.

Zobaczysz w terminalu aplikacji, czy się powiedzie, czy nie, jeśli nie spróbuj ponownie.

Po wyświetleniu DONE można nacisnąć przycisk Clock, a zegar powinien działać i wyświetlać godzinę, datę i dzień tygodnia.

Wzory można uruchomić, naciskając przycisk Wzory, można to przerwać w dowolnym momencie, naciskając ponownie przycisk Zegar lub przycisk Wzory.

Jasność diod LED zegara i 7-segmentowego wyświetlacza można regulować za pomocą odpowiednich suwaków.

Wszystkie diody LED można wyłączyć, naciskając przycisk wyłączenia zegara.

Zawieś go na ścianie, a światło będzie świecić na zewnątrz na ścianę, szczególnie pięknie w zaciemnionym pomieszczeniu.

Wszelkie pytania z przyjemnością postaram się odpowiedzieć.

CIESZ SIĘ i nie zapomnij zagłosować na mnie.

************************************************** ************************************************** *****TO JEST WPIS DO KONKURSU NA MIKROSTEROWNIK, PROSZĘ GŁOSUJ NA MNIE ******************************* ************************************************** ***********************

Zalecana: