Spisu treści:

DIY Inteligentny ściemniacz LED sterowany przez Bluetooth: 7 kroków
DIY Inteligentny ściemniacz LED sterowany przez Bluetooth: 7 kroków

Wideo: DIY Inteligentny ściemniacz LED sterowany przez Bluetooth: 7 kroków

Wideo: DIY Inteligentny ściemniacz LED sterowany przez Bluetooth: 7 kroków
Wideo: Jak podłączyć taśmę LED 12V, Asystent Google, programator /podwójny sterownik LED, FOX LED2S2 -P/ 2024, Lipiec
Anonim
DIY Inteligentny ściemniacz LED sterowany przez Bluetooth
DIY Inteligentny ściemniacz LED sterowany przez Bluetooth

Ta instrukcja opisuje, jak zbudować inteligentny cyfrowy ściemniacz. Ściemniacz to powszechny włącznik światła używany w domach, hotelach i wielu innych budynkach. Starsze wersje ściemniaczy były ręczne i zazwyczaj zawierały przełącznik obrotowy (potencjometr) lub przyciski do sterowania poziomem światła. Ta instrukcja opisuje, jak zbudować cyfrowy ściemniacz, który ma dwa sposoby kontrolowania natężenia światła; smartfon i fizyczne przyciski. Te dwa tryby mogą bezproblemowo ze sobą współpracować, dzięki czemu użytkownik może zwiększać lub zmniejszać jasność zarówno za pomocą przycisku, jak i smartfona. Projekt realizowany jest z wykorzystaniem SLG46620V CMIC, modułu Bluetooth HC-06, przycisków oraz diod LED.

Zamierzamy użyć SLG46620V CMIC, ponieważ pomaga zminimalizować dyskretne elementy projektu. Układy scalone GreenPAK™ są małe i zawierają komponenty wielokrotnego użytku, co pozwala projektantowi zmniejszyć liczbę komponentów i dodać nowe funkcje. Dodatkowo koszt projektu jest następnie redukowany.

SLG46620V zawiera również interfejs połączenia SPI, bloki PWM, FSM i wiele przydatnych dodatkowych bloków w jednym malutkim chipie. Komponenty te pozwalają użytkownikowi zbudować praktyczny inteligentny ściemniacz, którym można sterować za pomocą urządzenia Bluetooth lub przycisków ściennych, obsługują przyciemnianie o wydłużonym czasie i dodawanie wybieralnych funkcji bez użycia mikrokontrolera lub kosztownych komponentów.

Poniżej opisaliśmy kroki potrzebne do zrozumienia, w jaki sposób rozwiązanie zostało zaprogramowane do stworzenia inteligentnego ściemniacza LED sterowanego przez Bluetooth. Jeśli jednak chcesz tylko uzyskać wynik programowania, pobierz oprogramowanie GreenPAK, aby wyświetlić już ukończony plik projektu GreenPAK. Podłącz zestaw rozwojowy GreenPAK do komputera i naciśnij program, aby stworzyć inteligentny ściemniacz LED sterowany przez Bluetooth.

Krok 1: Funkcje projektu i interfejs

Funkcje projektu i interfejs
Funkcje projektu i interfejs

Cechy projektu:

1. Dwie metody kontroli; aplikacja mobilna i prawdziwe przyciski.

2. Płynne przejście włącz-wyłącz dla światła. To zdrowsze dla oczu konsumenta. Daje też poczucie luksusu, co przemawia do hoteli i innych branż usługowych.

3. Funkcja trybu uśpienia. Będzie to wartość dodana dla tej aplikacji. Gdy użytkownik aktywuje ten tryb, jasność światła zmniejsza się stopniowo w ciągu 10 minut. Pomaga to osobom cierpiącym na bezsenność. Przydaje się również w sypialniach dziecięcych i sklepach detalicznych (godzina zamknięcia).

Interfejs projektu

Interfejs projektu ma cztery przyciski, które są używane jako wejścia GreenPAK:

ON\OFF: włącz światło ON\OFF (miękki start\stop).

UP: zwiększ poziom światła.

W dół: zmniejsz poziom światła.

Tryb uśpienia: aktywując tryb uśpienia, jasność światła zmniejsza się stopniowo w ciągu 10 minut. Daje to użytkownikowi czas przed snem i gwarantuje, że światło nie pozostanie włączone przez całą noc.

System wyśle sygnał PWM, który zostanie przekazany do zewnętrznej diody LED i diody LED trybu uśpienia.

Projekt GreenPAK składa się z 4 głównych bloków. Pierwszym z nich jest odbiornik UART, który odbiera dane z modułu Bluetooth, wyodrębnia rozkazy i wysyła je do jednostki sterującej. Drugi blok to jednostka sterująca, która odbiera rozkazy przychodzące z odbiornika UART lub z zewnętrznych przycisków. Jednostka sterująca decyduje o wymaganych czynnościach (włączanie/wyłączanie, zwiększanie, zmniejszanie, włączanie trybu uśpienia). Ta jednostka jest zaimplementowana za pomocą LUT.

Trzeci blok zasila generatory CLK. W tym projekcie do sterowania PWM wykorzystywany jest licznik FSM. Wartość FSM będzie się zmieniać (w górę, w dół) zgodnie z kolejnością 3 częstotliwości (wysoką, średnią i niską). W tej sekcji zostaną wygenerowane trzy częstotliwości, a wymagane CLK zostaną przekazane do FSM zgodnie z wymaganą kolejnością; Podczas operacji włączania/wyłączania wysoka częstotliwość przechodzi do FSM do miękkiego startu/zatrzymania. Podczas ściemniania przechodzi średnia częstotliwość. Niska częstotliwość przechodzi w tryb uśpienia, aby wolniej zmniejszać wartość FSM. Wtedy też powoli spada jasność światła. Czwarty blok to jednostka PWM, która generuje impulsy do zewnętrznych diod LED.

Krok 2: Projekt GreenPAK

Najlepszym sposobem na zbudowanie ściemniacza przy użyciu GreenPAK jest użycie 8-bitowego FSM i PWM. W SLG46620 FSM1 zawiera 8 bitów i może być używany z PWM1 i PWM2. Moduł Bluetooth musi być podłączony, co oznacza, że należy użyć wyjścia równoległego SPI. Bity wyjścia równoległego SPI od 0 do 7 są łączone z wyjściami DCMP1, DMCP2 i LF OSC CLK, OUT1, OUT0 OSC. PWM0 uzyskuje swoje wyjście z FSM0 (16 bitów). FSM0 nie zatrzymuje się na 255; wzrasta do 16383. Aby ograniczyć wartość licznika do 8 bitów, dodawany jest kolejny FSM; FSM1 jest używany jako wskaźnik, aby wiedzieć, kiedy licznik osiągnie 0 lub 255. FSM0 został użyty do wygenerowania impulsu PWM. Ponieważ dwie wartości FSM muszą być zmieniane w tym samym czasie, aby mieć tę samą wartość, projekt staje się nieco złożony, ponieważ oba FSM mają predefiniowane, ograniczone, wybieralne CLK. CNT1 i CNT3 są używane jako mediatory do przekazywania CLK do obu FSM.

Projekt składa się z następujących sekcji:

- Odbiornik UART

- Jednostka sterująca

- Generatory CLK i multiplekser

- PWM

Krok 3: Odbiornik UART

Odbiornik UART
Odbiornik UART

Najpierw musimy skonfigurować moduł Bluetooth HC06. HC06 wykorzystuje do komunikacji protokół UART. UART to skrót od Universal Asynchronous Receiver / Transmitter. UART może konwertować dane tam iz powrotem między formatami równoległymi i szeregowymi. Zawiera odbiornik szeregowy na równoległy i konwerter równoległy na szeregowy, które są taktowane oddzielnie. Dane otrzymane w HC06 zostaną przesłane do naszego urządzenia GreenPAK. Stan bezczynności styku 10 jest WYSOKI. Każdy wysłany znak rozpoczyna się logicznym NISKIM bitem startu, po którym następuje konfigurowalna liczba bitów danych i jeden lub więcej logicznych WYSOKICH bitów stopu.

HC06 wysyła 1 bit START, 8 bitów danych i jeden bit STOP. Jego domyślna szybkość transmisji to 9600. Wyślemy bajt danych z HC06 do bloku SPI GreenPAK SLG46620V.

Ponieważ blok SPI nie ma kontroli bitowej START ani STOP, te bity są zamiast tego używane do włączania i wyłączania sygnału zegarowego SPI (SCLK). Kiedy pin 10 przechodzi w stan LOW, układ scalony otrzymał bit START, więc używamy detektora zbocza opadającego PDLY do identyfikacji początku komunikacji. Ten detektor zbocza opadającego taktuje DFF0, co umożliwia sygnałowi SCLK taktowanie bloku SPI.

Nasza szybkość transmisji wynosi 9600 bitów na sekundę, więc nasz okres SCLK musi wynosić 1/9600 = 104 µs. Dlatego ustawiliśmy częstotliwość OSC na 2 MHz i użyliśmy CNT0 jako dzielnika częstotliwości.

2 MHz - 1 = 0,5 µs

(104 µs / 0,5 µs) - 1 = 207

Dlatego chcemy, aby wartość licznika CNT0 wynosiła 207. Aby zapewnić, że dane nie zostaną pominięte, dodaje się opóźnienie o pół cyklu zegara na zegarze SPI, aby blok SPI był taktowany we właściwym czasie. Osiąga się to za pomocą CNT6, 2-bitowego LUT1 i zegara zewnętrznego bloku OSC. Wyjście CNT6 nie osiąga wysokiego poziomu do 52 µs po taktowaniu DFF0, co stanowi dokładnie połowę naszego okresu SCLK wynoszącego 104 µs. Kiedy jest wysoki, 2-bitowa bramka LUT1 AND pozwala na przejście sygnału 2 MHz OSC do EXT. Wejście CLK0, którego wyjście jest połączone z CNT0.

Krok 4: Jednostka sterująca

Jednostka sterująca
Jednostka sterująca

W tej sekcji komendy będą wykonywane zgodnie z odebranym bajtem z odbiornika UART lub zgodnie z sygnałami z przycisków zewnętrznych. Piny 12, 13, 14, 15 są inicjalizowane jako wejścia i są połączone z przyciskami zewnętrznymi.

Każdy pin jest wewnętrznie podłączony do wejścia bramki OR, podczas gdy drugie wejście bramki jest połączone z odpowiednim sygnałem pochodzącym ze smartfona przez Bluetooth, który pojawi się na wyjściu równoległym SPI.

DFF6 służy do aktywacji trybu uśpienia, w którym jego wyjście zmienia się na wysoki wraz ze wzrostem zbocza pochodzącego z 2-bitowego LUT4, podczas gdy DFF10 służy do utrzymywania stanu oświetlenia, a jego wyjście zmienia się z niskiego na wysoki i odwrotnie z każdym narastającym zboczem z 3-bitowego wyjścia LUT10.

FSM1 to 8-bitowy licznik; daje wysoki impuls na swoim wyjściu, gdy jego wartość osiągnie 0 lub 255. W konsekwencji jest używany, aby zapobiec przekroczeniu przez FSM0 (16-bitowy) wartości 255, ponieważ jego wyjście resetuje DFF i zmienia stan DFF10 z on na off i odwrotnie, jeśli oświetlenie jest sterowane przyciskami +, - i osiągnięto poziom maksymalny/minimalny.

Sygnały podłączone do wejść FSM1 utrzymują, w górę osiągną FSM0 przez P11 i P12 w celu zsynchronizowania i utrzymania tej samej wartości na obu licznikach.

Krok 5: Generatory CLK i multiplekser

Generatory i multipleksery CLK
Generatory i multipleksery CLK

W tej sekcji zostaną wygenerowane trzy częstotliwości, ale tylko jedna będzie taktować FSM w dowolnym momencie. Pierwsza częstotliwość to RC OSC, która jest pobierana z macierzy od 0 do P0. Druga częstotliwość to LF OSC, która jest również pobierana z macierzy od 0 do P1; trzecia częstotliwość to wyjście CNT7.

3-bitowe LUT9 i 3-bitowe LUT11 pozwalają na przejście jednej częstotliwości, zgodnie z 3-bitowym wyjściem LUT14. Następnie wybrany zegar przesyła do FSM0 i FSM1 poprzez CNT1 i CNT3.

Krok 6: PWM

PWM
PWM

Na koniec wartość FSM0 przekształca się w sygnał PWM, który pojawia się przez pin 20, który jest inicjowany jako wyjście i jest podłączony do zewnętrznych diod LED.

Krok 7: aplikacja na Androida

Aplikacja na Androida
Aplikacja na Androida
Aplikacja na Androida
Aplikacja na Androida
Aplikacja na Androida
Aplikacja na Androida

Aplikacja na Androida ma wirtualny interfejs sterowania podobny do rzeczywistego interfejsu. Posiada pięć przycisków; ON\OFF, GÓRA, DÓŁ, Tryb uśpienia i Połącz. Ta aplikacja na Androida będzie mogła konwertować naciśnięcia przycisków na polecenia i wysyłać polecenia do modułu Bluetooth w celu ich wykonania.

Ta aplikacja została stworzona przy użyciu MIT App Inventor, co nie wymaga żadnego doświadczenia w programowaniu. App Inventor pozwala programiście stworzyć aplikację na urządzenia z systemem Android za pomocą przeglądarki internetowej, łącząc bloki programistyczne. Możesz zaimportować naszą aplikację do MIT App Inventor, klikając Projekty -> Importuj projekt (.aia) z mojego komputera i wybierając plik.aia dołączony do tej notatki aplikacji.

Aby stworzyć Aplikację Android należy rozpocząć nowy projekt. Potrzebnych jest pięć przycisków: jeden to selektor listy urządzeń Bluetooth, a pozostałe to przyciski sterujące. Musimy również dodać klienta Bluetooth. Rysunek 6 to zrzut ekranu interfejsu użytkownika naszej aplikacji na Androida.

Po dodaniu przycisków przypiszemy funkcję oprogramowania do każdego przycisku. Zamierzamy użyć 4 bitów do reprezentowania stanu przycisków. Jeden bit na każdy przycisk, dlatego po naciśnięciu przycisku określony numer zostanie wysłany przez Bluetooth do obwodu fizycznego.

Liczby te przedstawiono w tabeli 1.

Wniosek

Ta instrukcja opisuje inteligentny ściemniacz, który można kontrolować na dwa sposoby; aplikacja na Androida i prawdziwe przyciski. W GreenPAK SLG46620V przedstawiono cztery oddzielne bloki, które kontrolują przebieg procesu w celu zwiększenia lub zmniejszenia PWM światła. Dodatkowo funkcja trybu uśpienia jest przedstawiona jako przykład dodatkowej modulacji dostępnej dla aplikacji. Pokazany przykład dotyczy niskiego napięcia, ale można go zmodyfikować w przypadku implementacji o wyższym napięciu.

Zalecana: