Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02
Inteligentne żarówki zyskują ostatnio na popularności i stale stają się kluczowym elementem zestawu narzędzi do inteligentnego domu. Inteligentne żarówki umożliwiają użytkownikowi sterowanie światłem za pomocą specjalnej aplikacji na smartfonie użytkownika; żarówkę można włączać i wyłączać, a kolor można zmienić z poziomu interfejsu aplikacji. W tym projekcie zbudowaliśmy inteligentny sterownik żarówki, którym można sterować za pomocą ręcznego przycisku lub aplikacji mobilnej przez Bluetooth. Aby nadać temu projektowi szyku, dodaliśmy kilka funkcji, które pozwalają użytkownikowi wybrać kolor oświetlenia z listy kolorów zawartych w interfejsie aplikacji. Może również aktywować „automatyczne miksowanie”, aby generować efekty kolorystyczne i zmieniać oświetlenie co pół sekundy. Użytkownik może stworzyć własną mieszankę kolorów za pomocą funkcji PWM, która może być również używana jako ściemniacz dla trzech podstawowych kolorów (czerwony, zielony, niebieski). Do układu dodaliśmy również zewnętrzne przyciski, aby użytkownik mógł przełączyć się w tryb ręczny i zmienić kolor światła z zewnętrznego przycisku.
Ta instrukcja składa się z dwóch części; projekt GreenPAK™ i projekt aplikacji na Androida. Konstrukcja GreenPAK opiera się na wykorzystaniu interfejsu UART do komunikacji. Wybrano UART, ponieważ jest obsługiwany przez większość modułów Bluetooth, a także większość innych urządzeń peryferyjnych, takich jak moduły WIFI. Dzięki temu konstrukcja GreenPAK może być stosowana w wielu typach połączeń.
Do budowy tego projektu wykorzystamy SLG46620 CMIC, moduł Bluetooth oraz diodę LED RGB. GreenPAK IC będzie rdzeniem kontrolnym tego projektu; odbiera dane z modułu Bluetooth i/lub przycisków zewnętrznych, a następnie rozpoczyna wymaganą procedurę wyświetlania prawidłowego oświetlenia. Generuje również sygnał PWM i wysyła go do diody LED. Rysunek 1 poniżej przedstawia schemat blokowy.
Urządzenie GreenPAK użyte w tym projekcie zawiera interfejs połączenia SPI, bloki PWM, FSM i wiele innych przydatnych dodatkowych bloków w jednym IC. Charakteryzuje się również niewielkimi rozmiarami i niskim zużyciem energii. Umożliwi to producentom zbudowanie małego praktycznego obwodu przy użyciu pojedynczego układu scalonego, dzięki czemu koszty produkcji zostaną zminimalizowane w porównaniu z podobnymi systemami.
W tym projekcie sterujemy jedną diodą LED RGB. Aby projekt był opłacalny komercyjnie, system prawdopodobnie musiałby zwiększyć poziom jasności, łącząc wiele diod LED równolegle i używając odpowiednich tranzystorów; należy również wziąć pod uwagę obwód zasilania.
Możesz przejść przez wszystkie kroki, aby zrozumieć, w jaki sposób chip GreenPAK został zaprogramowany do sterowania kolorem LED RGB przez Bluetooth. Jeśli jednak chcesz po prostu łatwo zaprogramować układ scalony bez zrozumienia wszystkich wewnętrznych obwodów, pobierz oprogramowanie GreenPAK, aby wyświetlić już ukończony plik projektu GreenPAK. Podłącz zestaw rozwojowy GreenPAK do komputera i naciśnij program, aby utworzyć niestandardowy układ scalony do sterowania kolorem LED RGB przez Bluetooth.
Konstrukcja GreenPAK składa się z odbiornika UART, jednostki PWM i jednostki sterującej opisanej w poniższych krokach.
Krok 1: Odbiornik UART
Najpierw musimy skonfigurować moduł Bluetooth. Większość układów Bluetooth IC obsługuje 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 odebrane w module Bluetooth zostaną przesłane do naszego urządzenia GreenPAK. Stan bezczynności dla Pin10 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.
Nadajnik UART wysyła 1 bit START, 8 bitów danych i jeden bit STOP. Zazwyczaj domyślna szybkość transmisji dla modułu Bluetooth UART wynosi 9600. Bajt danych wyślemy z układu Bluetooth IC do bloku SPI urządzenia GreenPAK™ SLG46620.
Ponieważ blok GreenPAK SPI nie ma kontroli bitów START ani STOP, użyjemy tych bitów do włączania i wyłączania sygnału zegarowego SPI (SCLK). Kiedy Pin10 przechodzi w stan LOW, wiemy, że otrzymaliśmy 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 upewnić się, że nie przegapimy żadnych danych, musimy opóźnić zegar SPI o pół cyklu zegara, aby blok SPI był taktowany we właściwym czasie. Osiągnęliśmy 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 połowę naszego 104 μs okresu SCLK. Gdy CNT6 jest w stanie wysokim, 2-bitowa bramka AND LUT1 umożliwia przejście sygnału 2 MHz OSC do EXT. Wejście CLK0, którego wyjście jest połączone z CNT0.
Krok 2: Jednostka PWM
Sygnał PWM jest generowany przy użyciu PWM0 i skojarzonego generatora impulsów zegarowych (CNT8/DLY8). Ponieważ szerokość impulsu jest kontrolowana przez użytkownika, używamy FSM0 (który może być podłączony do PWM0) do zliczania danych użytkownika.
W SLG46620 8-bitowy FSM1 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ą muksowane z DCMP1, DMCP2 oraz OUT1 i OUT0 LF OSC CLK. PWM0 uzyskuje dane wyjściowe z 16-bitowego FSM0. Pozostawione bez zmian powoduje przeciążenie szerokości impulsu. 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 jest używany do generowania impulsu PWM. FSM0 i FSM1 muszą być zsynchronizowane. Ponieważ oba FSM mają wstępnie ustawione opcje zegara, CNT1 i CNT3 są używane jako mediatory do przekazywania CLK do obu FSM. Oba liczniki są ustawione na tę samą wartość, która wynosi 25 dla tej instrukcji. Możemy zmienić szybkość zmian wartości PWM, zmieniając te wartości licznika.
Wartości FSM są zwiększane i zmniejszane przez sygnały „+” i „-”, które pochodzą z wyjścia równoległego SPI.
Krok 3: Jednostka sterująca
Wewnątrz jednostki sterującej odebrany bajt jest pobierany z modułu Bluetooth do wyjścia równoległego SPI, a następnie przekazywany do powiązanych funkcji. Na początku, wyjścia PWM CS1 i PWM CS2 zostaną sprawdzone w celu sprawdzenia, czy wzorzec PWM jest aktywny, czy nie. Jeśli jest aktywowany, określi, który kanał będzie wysyłał PWM przez LUT4, LUT6 i LUT7.
LUT9, LUT11 i LUT14 są odpowiedzialne za sprawdzenie stanu pozostałych dwóch diod LED. LUT10, LUT12 i LUT13 sprawdzają, czy przycisk Ręczny jest aktywny, czy nie. Jeżeli tryb Ręczny jest aktywny, to wyjścia RGB pracują zgodnie ze stanami wyjścia D0, D1, D2, które zmieniają się po każdym naciśnięciu przycisku Kolor. Zmienia się wraz ze wzrostem zbocza pochodzącego z CNT9, który jest używany jako debouncer zbocza narastającego.
Pin 20 jest skonfigurowany jako wejście i służy do przełączania między sterowaniem ręcznym i Bluetooth.
Jeśli tryb Manual jest wyłączony i włączony jest tryb Auto mixer, kolor zmienia się co 500ms z rosnącym zboczem pochodzącym z CNT7. 4-bitowy LUT1 służy do zapobiegania stanowi „000” dla D0 D1 D2, ponieważ ten stan powoduje wyłączenie światła w trybie automatycznego miksera.
Jeśli tryb ręczny, tryb PWM i tryb automatycznego miksera nie są aktywowane, czerwone, zielone i niebieskie polecenia SPI przepływają do pinów 12, 13 i 14, które są skonfigurowane jako wyjścia i są podłączone do zewnętrznej diody LED RGB.
DFF1, DFF2 i DFF3 służą do budowy 3-bitowego licznika binarnego. Wartość licznika wzrasta wraz z impulsami CNT7, które przechodzą przez P14 w trybie miksera Auto lub z sygnałów pochodzących z przycisku Kolor (PIN3) w trybie ręcznym.
Krok 4: Aplikacja na Androida
W tej sekcji zbudujemy aplikację na Androida, która będzie monitorować i wyświetlać wybory kontrolne użytkownika. Interfejs składa się z dwóch sekcji: pierwsza sekcja zawiera zestaw przycisków, które mają predefiniowane kolory, dzięki czemu po naciśnięciu dowolnego z tych przycisków zapala się dioda LED o tym samym kolorze. Druga sekcja (kwadrat MIX) tworzy dla użytkownika mieszany kolor.
W pierwszej sekcji użytkownik wybiera pin LED, przez który ma przechodzić sygnał PWM; sygnał PWM może być przekazywany tylko do jednego pinu na raz. Dolna lista steruje logicznie włączaniem/wyłączaniem pozostałych dwóch kolorów w trybie PWM.
Przycisk automatycznego miksera odpowiada za uruchomienie schematu automatycznej zmiany światła, w którym światło będzie się zmieniać co pół sekundy. Sekcja MIX zawiera dwie listy pól wyboru, dzięki którym użytkownik może zdecydować, które dwa kolory należy ze sobą mieszać.
Aplikację zbudowaliśmy korzystając ze strony internetowej wynalazcy aplikacji MIT. Jest to witryna, która umożliwia tworzenie aplikacji na Androida bez wcześniejszego doświadczenia z oprogramowaniem przy użyciu graficznych bloków oprogramowania.
Na początku zaprojektowaliśmy interfejs graficzny dodając zestaw przycisków odpowiedzialnych za wyświetlanie predefiniowanych kolorów, dodaliśmy również dwie listy checkboxów, a każda lista ma 3 elementy; każdy element jest opisany w osobnym polu, jak pokazano na rysunku 5.
Przyciski w interfejsie użytkownika są powiązane z poleceniami oprogramowania: wszystkie polecenia, które aplikacja wyśle przez Bluetooth, będą miały format bajtowy, a każdy bit odpowiada za określoną funkcję. Tabela 1 przedstawia formę ramek poleceń wysyłanych do GreenPAK.
Pierwsze trzy bity, B0, B1 i B2, utrzymają stan diod RGB w trybie bezpośredniego sterowania przyciskami o predefiniowanych kolorach. Tak więc po kliknięciu w którykolwiek z nich zostanie wysłana odpowiednia wartość przycisku, jak pokazano w Tabeli 2.
Bity B3 i B4 zawierają polecenia „+” i „-”, które odpowiadają za zwiększanie i zmniejszanie szerokości impulsu. Po naciśnięciu przycisku wartość bitu będzie wynosić 1, a po zwolnieniu przycisku wartość bitu będzie wynosić 0.
Bity B5 i B6 odpowiadają za wybór pinu (koloru), przez który będzie przechodził sygnał PWM: oznaczenia kolorów tych bitów pokazano w tabeli 3. Ostatni bit, B7, odpowiada za aktywację automatycznego miksera.
Rysunek 6 i rysunek 7 przedstawiają proces łączenia przycisków z blokami programistycznymi odpowiedzialnymi za wysyłanie poprzednich wartości.
Aby obejrzeć pełny projekt aplikacji, możesz pobrać załączony plik „.aia” z plikami projektu i otworzyć go na stronie głównej.
Rysunek 8 poniżej przedstawia schemat obwodu najwyższego poziomu.
Krok 5: Wyniki
Kontroler został pomyślnie przetestowany i wykazano, że mieszanie kolorów oraz inne funkcje działają prawidłowo.
Wniosek
W tej instrukcji zbudowano obwód inteligentnej żarówki, który ma być sterowany bezprzewodowo przez aplikację na Androida. Zastosowany w tym projekcie GreenPAK CMIC pomógł również skrócić i osadzić kilka istotnych komponentów do kontroli światła w jednym małym układzie scalonym.
Zalecana:
Sterowanie jasnością Sterowanie diodami LED w oparciu o PWM za pomocą przycisków, Raspberry Pi i Scratch: 8 kroków (ze zdjęciami)
Kontrola jasności Sterowanie diodami LED w oparciu o PWM za pomocą przycisków, Raspberry Pi i Scratch: Próbowałem znaleźć sposób, aby wyjaśnić moim uczniom, jak działa PWM, więc wyznaczyłem sobie zadanie kontrolowania jasności diody LED za pomocą 2 przycisków - jeden przycisk zwiększający jasność diody LED a drugi ją przyciemniający. Aby zaprogramować
ESP8266 TAŚMA LED RGB Sterowanie WIFI - NODEMCU jako pilot na podczerwień do taśmy Led kontrolowanej przez Wifi - TAŚMA LED RGB Sterowanie smartfonem: 4 kroki
ESP8266 TAŚMA LED RGB Sterowanie WIFI | NODEMCU jako pilot na podczerwień do taśmy Led kontrolowanej przez Wifi | Sterowanie smartfonem z taśmą LED RGB: Cześć, w tym samouczku dowiemy się, jak używać nodemcu lub esp8266 jako pilota na podczerwień do sterowania taśmą RGB LED, a Nodemcu będzie kontrolowane przez smartfon przez Wi-Fi. Więc w zasadzie możesz sterować TAŚMĄ LED RGB za pomocą smartfona
IOT: ESP 8266 Nodemcu Sterowanie taśmą LED RGB przez Internet za pomocą aplikacji BLYNK: 9 kroków
IOT: ESP 8266 Nodemcu Sterowanie taśmą LED RGB przez Internet Korzystanie z aplikacji BLYNK: Witam, w tej instrukcji pokazałem, jak zrobić kontroler taśmy LED RGB z nodemcu, który może sterować taśmą LED RGB na całym świecie przez Internet za pomocą BLYNK APP. więc ciesz się tworzeniem tego projektu i amp; spraw, aby Twój dom był kolorowy w
Termometr z kolorem względnym temperatury na 2-calowym wyświetlaczu TFT i wieloma czujnikami: 5 kroków
Termometr z względnym kolorem temperatury na 2-calowym wyświetlaczu TFT i wieloma czujnikami: Wykonałem wyświetlacz pokazujący pomiary kilku czujników temperatury. Fajną rzeczą jest to, że kolor wartości zmienia się wraz z temperaturą:> 75 stopni Celsjusza = CZERWONY>; 60 > 75 = POMARAŃCZOWY> 40 < 60 = ŻÓŁTY> 30 < 40
Sterowanie diodami LED RGB przez WebSocketsServer - NodeMcu Początkujący: 5 kroków
Sterowanie diodami LED RGB przez WebSocketsServer | NodeMcu Beginner: sterowanie diodami LED RGB przez samouczek WebSocketsServer