Obsah:
- Krok 1: Funkce a rozhraní projektu
- Krok 2: GreenPAK Design
- Krok 3: Přijímač UART
- Krok 4: Řídicí jednotka
- Krok 5: CLK generátory a multiplexer
- Krok 6: PWM
- Krok 7: Aplikace pro Android
Video: Inteligentní LED stmívač ovládaný pomocí Bluetooth: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Tento Instructable popisuje, jak vytvořit inteligentní digitální stmívač. Stmívač je běžný spínač osvětlení, který se používá v domech, hotelech a mnoha dalších budovách. Starší verze stmívačů byly manuální a obvykle obsahovaly otočný přepínač (potenciometr) nebo tlačítka pro ovládání úrovně světla. Tento Instructable popisuje, jak vytvořit digitální stmívač, který má dva způsoby ovládání intenzity světla; smartphone a fyzická tlačítka. Oba režimy mohou bezproblémově spolupracovat, takže uživatel může zvýšit nebo snížit svítivost pomocí tlačítka i chytrého telefonu. Projekt je realizován pomocí modulu SLG46620V CMIC, modulu Bluetooth HC-06, tlačítek a LED diod.
Budeme používat SLG46620V CMIC, protože pomáhá minimalizovat diskrétní součásti projektu. Integrované obvody GreenPAK ™ jsou malé a mají víceúčelové komponenty, což umožňuje konstruktérovi zmenšovat součásti a přidávat nové funkce. Navíc se následně sníží náklady na projekt.
SLG46620V také obsahuje připojovací rozhraní SPI, bloky PWM, FSM a spoustu dalších užitečných bloků v jednom malém čipu. Tyto komponenty umožňují uživateli vybudovat praktický inteligentní stmívač, který lze ovládat pomocí zařízení Bluetooth nebo nástěnných tlačítek, podporuje prodloužené stmívání a přidání volitelných funkcí bez použití mikrokontroléru nebo drahých komponent.
Níže jsme popsali kroky potřebné k pochopení toho, jak bylo řešení naprogramováno pro vytvoření inteligentního LED stmívače ovládaného přes Bluetooth. Pokud však chcete získat pouze výsledek programování, stáhněte si software GreenPAK a zobrazte již dokončený soubor návrhu GreenPAK. Připojte vývojovou sadu GreenPAK k počítači a spusťte program a vytvořte inteligentní stmívač LED ovládaný přes Bluetooth.
Krok 1: Funkce a rozhraní projektu
Vlastnosti projektu:
1. Dva způsoby ovládání; mobilní aplikace a skutečná tlačítka.
2. Plynulý přechod na světlo. To je pro oči spotřebitele zdravější. To také dává luxusnější pocit, který je atraktivní pro hotely a další odvětví služeb.
3. Funkce režimu spánku. To bude pro tuto aplikaci přidaná hodnota. Když uživatel aktivuje tento režim, jas světla se postupně snižuje za 10 minut. To pomáhá lidem, kteří trpí nespavostí. Je také užitečný pro dětské pokoje a maloobchodní prodejny (zavírací doba).
Rozhraní projektu
Rozhraní projektu má čtyři tlačítka, která se používají jako vstupy GreenPAK:
ZAPNOUT / VYPNUTO: zapnout / vypnout světlo (soft-start / stop).
NAHOR: zvýší úroveň světla.
Dolů: snížení úrovně světla.
Režim spánku: aktivací režimu spánku se jas světla postupně snižuje po dobu 10 minut. To dává uživateli čas před spaním a zaručuje, že světlo nezůstane svítit celou noc.
Systém vydá signál PWM, který bude předán externí LED a LED indikátoru režimu spánku.
Design GreenPAK se skládá ze 4 hlavních bloků. Prvním je přijímač UART, který přijímá data z modulu Bluetooth, extrahuje objednávky a odesílá je do řídicí jednotky. Druhým blokem je řídicí jednotka, která přijímá příkazy přicházející z přijímače UART nebo z externích tlačítek. Řídicí jednotka rozhodne o požadované akci (zapnutí/vypnutí, zvýšení, snížení, povolení režimu spánku). Tato jednotka je implementována pomocí LUT.
Třetí blok zásobuje generátory CLK. V tomto projektu se k řízení PWM používá čítač FSM. Hodnota FSM se bude měnit (nahoru, dolů) podle objednávek daných 3 frekvencemi (vysoká, střední a nízká). V této sekci budou vygenerovány tři frekvence a požadovaný CLK předá FSM podle požadovaného pořadí; Při zapínání/vypínání přechází vysoká frekvence do FSM k měkkému startu/zastavení. Během stmívání prochází střední frekvence. Nízká frekvence přechází v režimu spánku, aby se hodnota FSM snižovala pomaleji. Potom se také pomalu snižuje jas světla. Čtvrtým blokem je jednotka PWM, která generuje impulsy do externích LED diod.
Krok 2: GreenPAK Design
Nejlepší způsob, jak vytvořit stmívač pomocí GreenPAK, je pomocí 8bitového FSM a PWM. V SLG46620 obsahuje FSM1 8 bitů a lze jej použít s PWM1 a PWM2. Modul Bluetooth musí být připojen, což znamená, že musí být použit paralelní výstup SPI. Bity paralelního výstupu SPI 0 až 7 jsou propojeny výstupy DCMP1, DMCP2 a LF OSC CLK, OUT1, OUT0 OSC. PWM0 získává svůj výstup z FSM0 (16 bitů). FSM0 se nezastaví na 255; zvyšuje se až na 16383. Pro omezení hodnoty čítače na 8 bitů je přidán další FSM; FSM1 se používá jako ukazatel, aby věděl, kdy čítač dosáhne 0 nebo 255. FSM0 byl použit ke generování PWM impulsu. Jelikož obě hodnoty FSM musí být změněny současně, aby měly stejnou hodnotu, návrh se stává poněkud složitým, protože v obou FSM mají předdefinované, omezené a volitelné CLK. CNT1 a CNT3 se používají jako mediátory pro předávání CLK do obou FSM.
Návrh se skládá z následujících částí:
- Přijímač UART
- Řídící jednotka
- Generátory CLK a multiplexer
- PWM
Krok 3: Přijímač UART
Nejprve musíme nastavit modul Bluetooth HC06. HC06 používá pro komunikaci protokol UART. UART je zkratka pro Universal Asynchronous Receiver / Transmitter. UART dokáže převádět data tam a zpět mezi paralelními a sériovými formáty. Obsahuje přijímač sériového na paralelní a převodník paralelního na sériový, které jsou oba taktovány samostatně. Data přijatá v HC06 budou přenesena do našeho zařízení GreenPAK. Pohotovostní stav pro Pin 10 je VYSOKÝ. Každý odeslaný znak začíná logickým LOW start bitem, za ním následuje konfigurovatelný počet datových bitů a jeden nebo více logických HIGH stop bitů.
HC06 posílá 1 START bit, 8 datových bitů a jeden STOP bit. Jeho výchozí přenosová rychlost je 9600. Datový bajt z HC06 odešleme do bloku SPI GreenPAK SLG46620V.
Protože blok SPI nemá ovládání bitů START nebo STOP, jsou tyto bity místo toho použity k povolení a zakázání hodinového signálu SPI (SCLK). Když pin 10 přejde na NÍZKOU, integrovaný obvod přijal bit START, takže k identifikaci začátku komunikace používáme detektor sestupné hrany PDLY. Tento detektor sestupné hrany taktuje DFF0, což umožňuje signálu SCLK taktovat blok SPI.
Naše přenosová rychlost je 9600 bitů za sekundu, takže naše SCLK perioda musí být 1/9600 = 104 µs. Proto jsme nastavili frekvenci OSC na 2 MHz a jako dělič frekvence jsme použili CNT0.
2 MHz - 1 = 0,5 µs
(104 µs / 0,5 µs) - 1 = 207
Proto chceme, aby hodnota čítače CNT0 byla 207. Aby se zajistilo, že data nebudou zmeškána, přidá se na hodiny SPI zpoždění půlhodinového cyklu, aby se blok SPI taktoval ve správný čas. Toho je dosaženo použitím CNT6, 2bitového LUT1 a externích hodin bloku OSC. Produkce CNT6 se nezvyšuje, dokud není 52 µs po taktování DFF0, což je přesně polovina naší periody SCLK 104 µs. Když jde vysoko, 2bitová brána LUT1 AND umožňuje 2 MHz OSC signál projít do EXT. Vstup CLK0, jehož výstup je připojen k CNT0.
Krok 4: Řídicí jednotka
V této části budou příkazy prováděny podle přijatého bajtu z přijímače UART nebo podle signálů z externích tlačítek. Piny 12, 13, 14, 15 jsou inicializovány jako vstupy a jsou připojeny k externím tlačítkům.
Každý pin je interně připojen ke vstupu brány OR, zatímco druhý vstup brány je spojen s odpovídajícím signálem přicházejícím ze smartphonu přes Bluetooth, který se objeví na paralelním výstupu SPI.
DFF6 se používá k aktivaci režimu spánku, kde se jeho výstup mění na vysoký s rostoucí hranou pocházející z 2bitového LUT4, zatímco DFF10 se používá k udržování stavu osvětlení a jeho výstup se mění z nízkého na vysoký a naopak s každou stoupající hranou z 3bitového výstupu LUT10.
FSM1 je 8bitový čítač; dává vysoký impuls na výstupu, když jeho hodnota dosáhne 0 nebo 255. V důsledku toho se používá k zabránění FSM0 (16bitové) v překročení hodnoty 255, protože jeho výstup resetuje DFF a mění stav DFF10 ze zapnuto na vypnuto a naopak, pokud je osvětlení ovládáno tlačítky +, - a bylo dosaženo maximální/minimální úrovně.
Signály připojené ke vstupům FSM1 udržují, nahoru dosáhnou FSM0 přes P11 a P12, aby synchronizovaly a udržovaly stejnou hodnotu na obou čítačích.
Krok 5: CLK generátory a multiplexer
V této části budou generovány tři frekvence, ale pouze jedna bude v jednu chvíli taktovat FSM. První frekvence je RC OSC, která se načítá z matice 0 až P0. Druhá frekvence je LF OSC, která se také načítá z matice 0 až P1; třetí frekvence je výstup CNT7.
3bitové LUT9 a 3bitové LUT11 umožňují průchod jedné frekvence podle 3bitového výstupu LUT14. Poté vybrané hodiny vysílají na FSM0 a FSM1 přes CNT1 a CNT3.
Krok 6: PWM
Nakonec se hodnota FSM0 transformuje na signál PWM, aby se objevil prostřednictvím kolíku 20, který je inicializován jako výstup a je připojen k externím LED diodám.
Krok 7: Aplikace pro Android
Aplikace pro Android má virtuální ovládací rozhraní podobné skutečnému rozhraní. Má pět tlačítek; ON / OFF, UP, DOWN, režim spánku a připojení. Tato aplikace pro Android bude schopna převést stisknutí tlačítka na příkaz a odešle příkazy k provedení modulu Bluetooth.
Tato aplikace byla vytvořena pomocí aplikace MIT App Inventor, která nevyžaduje žádné zkušenosti s programováním. App Inventor umožňuje vývojáři vytvořit aplikaci pro zařízení Android OS pomocí webového prohlížeče propojením programovacích bloků. Naši aplikaci můžete importovat do aplikace MIT App Inventor kliknutím na Projekty -> Importovat projekt (.aia) z mého počítače a výběrem souboru.aia, který je součástí této poznámky k aplikaci.
K vytvoření aplikace pro Android je třeba spustit nový projekt. Je požadováno pět tlačítek: jedno je výběr seznamu pro zařízení Bluetooth a ostatní jsou ovládací tlačítka. Musíme také přidat klienta Bluetooth. Obrázek 6 je snímek obrazovky uživatelského rozhraní naší aplikace pro Android.
Poté, co přidáme tlačítka, přiřadíme každému tlačítku softwarovou funkci. Pro znázornění stavu tlačítek použijeme 4 bity. Jeden bit pro každé tlačítko, proto po stisknutí tlačítka bude přes Bluetooth odesláno konkrétní číslo do fyzického obvodu.
Tato čísla jsou uvedena v tabulce 1.
Závěr
Tento Instructable popisuje inteligentní stmívač, který lze ovládat dvěma způsoby; aplikace pro Android a skutečná tlačítka. V GreenPAK SLG46620V jsou nastíněny čtyři samostatné bloky, které řídí tok procesu pro zvýšení nebo snížení PWM světla. Funkce spánkového režimu je navíc nastíněna jako příklad extra modulace dostupné pro aplikaci. Uvedený příklad je nízké napětí, ale lze jej upravit pro implementace vyššího napětí.
Doporučuje:
Inteligentní budík: inteligentní budík vyrobený z Raspberry Pi: 10 kroků (s obrázky)
Chytrý budík: Chytrý budík vyrobený z Raspberry Pi: Chtěli jste někdy chytré hodiny? Pokud ano, toto je řešení pro vás! Vytvořil jsem inteligentní budík, toto jsou hodiny, u kterých můžete podle času na webu změnit čas budíku. Když se spustí alarm, ozve se zvuk (bzučák) a 2 kontrolky
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: 7 kroků
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: Svět se mění v čase a také v zemědělství. V dnešní době lidé integrují elektroniku do všech oblastí a zemědělství pro to není výjimkou. Toto sloučení elektroniky v zemědělství pomáhá zemědělcům a lidem, kteří spravují zahrady
Robot Arduino se vzdáleností, směrem a stupněm otáčení (východ, západ, sever, jih) ovládaný hlasem pomocí modulu Bluetooth a autonomního pohybu robota .: 6 kroků
Robot Arduino se vzdáleností, směrem a stupněm otáčení (východ, západ, sever, jih) ovládaný hlasem pomocí modulu Bluetooth a pohybu autonomního robota: Tento návod vysvětluje, jak vyrobit robota Arduino, který lze přesouvat v požadovaném směru (vpřed, vzad (Vlevo, Vpravo, Východ, Západ, Sever, Jih) požadovaná vzdálenost v centimetrech pomocí hlasového příkazu. Robota lze také pohybovat autonomně
Základní LED stmívač: 5 kroků (s obrázky)
Základní LED stmívač: V tomto Instructable se naučíte, jak vytvořit jednoduchý LED stmívač pomocí pouze potenciometru. Soupravu Arduino, kterou používám, laskavě poskytl Kuman (kumantech.com). Najdete ho zde
LED stmívač s potenciometrem: 5 kroků (s obrázky)
LED stmívač s potenciometrem: Toto je návod, který vás naučí, jak pomocí potenciometru ztlumit LED