Všichni známe slovo „Automation“, kde je lidská interakce minimální a věci lze ovládat automaticky nebo na dálku. Domácí automatizace je velmi populární a náročný koncept v oblasti elektroniky a vynakládáme také maximální úsilí, aby byl tento koncept snadno srozumitelný a spravovatelný jako projekty elektroniky. Dříve jsme vyvinuli několik typů projektů domácí automatizace s fungujícím videem a kódem, zkontrolujte prosím:
- Automatizace domácnosti na základě DTMF
- GSM domácí automatizace pomocí Arduina
- Počítačem řízená domácí automatizace pomocí Arduina
- Bluetooth řízená domácí automatizace pomocí 8051
- IR dálkově ovládaná domácí automatizace pomocí Arduina
A v tomto projektu budeme stavět náš další projekt domácí automatizace pomocí MATLAB a Arduino, což je domácí automatizační systém založený na GUI využívající Arduino a MATLAB
Součásti:
- Arduino UNO
- USB kabel
- ULN2003
- Relé 5 voltů
- Žárovka s držákem
- Připojovací vodiče
- Notebook
- Zdroj napájení
- PVT
Pracovní vysvětlení:
V tomto projektu používáme MATLAB s Arduino k ovládání domácích spotřebičů prostřednictvím grafického uživatelského rozhraní v počítači. Zde jsme použili kabelovou komunikaci pro odesílání dat z počítače (MATLAB) do Arduina. Na straně počítače jsme pomocí grafického uživatelského rozhraní v MATLABu vytvořili některá tlačítka pro ovládání domácích spotřebičů. Pro komunikaci mezi Arduino a MATLAB musíme nejdříve nainstalovat „ MATLAB and Simulink Support for Arduino “ nebo „ Arduino IO Package “. Postupujte podle níže uvedených kroků nebo zkontrolujte video níže:
- Stáhněte si balíček Arduino IO zde. Před stažením se musíte zaregistrovat.
- Poté vypalte / nahrajte soubor adioe.pde do Arduina pomocí Arduino IDE. Tento soubor adioe.pde najdete v balíčku Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- Poté otevřete software MATLAB, projděte složku Arduino IO, otevřete soubor install_arduino.m a spusťte jej v Matlabu. V příkazovém okně MATLABu se zobrazí zpráva „Adresáře Arduino přidané k cestě“, což znamená, že cesta MATLAB byla aktualizována na složky Arduino.
Tak vyrobíme Arduino, komunikujeme s MATLABem. Výše uvedená metoda je vhodná pro „MATLAB R2013b nebo starší verze“, pokud používáte vyšší verzi MATLAB (jako R2015b nebo R2016a), můžete přímo kliknout na záložku Doplňky v MATLABu a poté kliknout na „Získat hardwarové podpůrné balíčky“, odkud můžete nainstalovat balíčky Arduino pro MATLAB.
Po instalaci souborů můžete nyní vytvořit GUI pro projekt domácí automatizace. V zásadě v GUI vytváříme tlačítka pro ovládání domácích spotřebičů z počítače. Tlačítka lze vytvořit přechodem do „Grafického uživatelského rozhraní“ v nabídce „Nové“ v MATLABu. Dále můžeme nastavit název a barvy těchto tlačítek, vytvořili jsme 8 tlačítek, ve kterých šest pro zapnutí a vypnutí tři domácí spotřebiče a dvě tlačítka pro zapnutí a vypnutí všech zařízení současně.
Nyní po vytvoření tlačítek, když kliknete na tlačítko Spustit v daném okně grafického uživatelského rozhraní, vás požádá o uložení tohoto souboru grafického uživatelského rozhraní (s příponou.fig), známého také jako ' fíkový soubor'. Jakmile soubor uložíte, automaticky se vytvoří soubor kódu (s příponou.m), známý také jako soubor „M“ (viz níže snímek obrazovky), kam můžete vložit kód (uvedený v části Kód níže). Soubor grafického uživatelského rozhraní a soubor kódu pro tento projekt si můžete stáhnout zde: Home_Automation_system.fig a Home_Automation_system.m (klikněte pravým tlačítkem a vyberte Uložit odkaz jako…), nebo si je můžete vytvořit sami, jak jsme vysvětlili.
Po kódování můžete nyní konečně spustit soubor.m z okna kódu, v příkazovém okně uvidíte „Pokus o připojení..“. Pokud vše proběhne v pořádku, zobrazí se zpráva „Arduino úspěšně připojeno“. A nakonec uvidíte dříve vytvořené GUI (tlačítka) v okně GUI, odkud můžete ovládat domácí spotřebiče pouhým kliknutím na tlačítka ve vašem počítači. Ujistěte se, že je Arduino připojeno k Arduinu pomocí kabelu USB. Zde v tomto projektu jsme pro předvedení použili 3 žárovky, což označuje ventilátor, světlo a televizi.
Fungování celého projektu, od instalace podpůrného balíčku Arduino MATLAB až po zapnutí nebo vypnutí zařízení, lze pochopit na videu na konci.
Vysvětlení obvodu:
Okruh tohoto projektu je velmi snadný. Zde jsme pro řízení relé použili desku Arduino UNO a reléový ovladač ULN2003. Tři 5 voltová relé SPDT jsou připojena k pinům Arduino číslo 3, 4 a 5 prostřednictvím ovladače relé ULN2003, pro ovládání LIGHT, FAN a TV.
Vysvětlení programování:
Když stiskneme libovolné tlačítko v okně grafického uživatelského rozhraní, odešle nějaké příkazy do Arduina a poté Arduino provede tuto operaci. Po instalaci podpůrného balíčku Arduino MATLAB IO můžeme přistupovat k Arduinu z MATLABu pomocí stejných funkcí Arduino, s malou variací, například:
Pro vytvoření kolíku HIGH v Arduinu napíšeme kód jako digitalWrite (pin, HIGH)
V MATLABu použijeme tuto funkci pomocí objektu nebo proměnné jako, a podobně tak dále.
Než to uděláme, musíme inicializovat proměnnou takto:
V tomto projektu není žádný kód Arduino kromě kódu nebo souboru podpůrného balíčku Arduino MATLAB. Jak již bylo vysvětleno dříve, soubor kódu (soubor.m) se automaticky generuje při ukládání souboru GUI (soubor.fig). V souboru.m již je nějaký kód předepsaný. V zásadě se jedná o funkce zpětného volání pro tlačítka, což znamená, že můžeme definovat, co by se mělo stát po kliknutí na tato tlačítka.
V kódu MATLAB nejprve inicializujeme sériový port a uděláme z něj objekt pomocí proměnné. A pak můžeme pomocí proměnné začít programovat jako Arduino.
jasný ar; globální ar; ar = arduino ('COM13'); ar.pinMode (3, 'VÝSTUP'); ar.pinMode (4, 'VÝSTUP'); ar.pinMode (5, 'VÝSTUP'); ar.pinMode (13, 'VÝSTUP');
Ve funkci zpětného volání každého tlačítka jsme napsali příslušný kód pro zapnutí nebo vypnutí příslušných domácích spotřebičů, připojených k Arduinu přes relé. Stejně jako například funkce zpětného volání pro Light ON je uvedena níže:
funkce light_on_Callback (hObject, eventdata, handles)% hObject handle to light_on (viz GCBO)% eventdata rezervováno - bude definováno v budoucí verzi struktury MATLAB% handles with handles and user data (see GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Podobně můžeme napsat kód do funkcí zpětného volání všech tlačítek, abychom mohli ovládat ostatní připojená domácí zařízení, zkontrolujte celý níže uvedený kód MATLAB (soubor.m).