Conosciamo tutti la parola "automazione", in cui l'interazione umana è minima e le cose possono essere controllate automaticamente o da remoto. La domotica è un concetto molto popolare ed esigente nel campo dell'elettronica, e stiamo anche facendo del nostro meglio per rendere questo concetto facilmente comprensibile e gestibile come progetti elettronici. Abbiamo precedentemente sviluppato diversi tipi di progetti di automazione domestica con un video e un codice funzionanti, controlla:
- Domotica basata su DTMF
- Domotica basata su GSM con Arduino
- Domotica controllata da PC utilizzando Arduino
- Automazione domestica controllata tramite Bluetooth utilizzando 8051
- Automazione domestica telecomandata IR utilizzando Arduino
E in questo progetto, costruiremo il nostro prossimo progetto di automazione domestica utilizzando MATLAB e Arduino, che è un sistema di automazione domestica basato su GUI che utilizza Arduino e MATLAB
Componenti:
- Arduino UNO
- Cavo USB
- ULN2003
- Relè 5 volt
- Lampadina con supporto
- Cavi di collegamento
- Il computer portatile
- Alimentazione elettrica
- PVT
Spiegazione di lavoro:
In questo progetto, stiamo usando MATLAB con Arduino per controllare gli elettrodomestici, attraverso un'interfaccia utente grafica nel computer. Qui abbiamo utilizzato la comunicazione cablata per inviare dati dal computer (MATLAB) ad Arduino. Dal lato computer, abbiamo utilizzato la GUI in MATLAB per creare alcuni pulsanti per il controllo degli elettrodomestici. Per la comunicazione tra Arduino e MATLAB, dobbiamo prima installare il " Supporto MATLAB e Simulink per Arduino " o " Pacchetto IO Arduino ". Per farlo, segui i passaggi seguenti o guarda il video qui sotto:
- Scarica il pacchetto IO Arduino da qui. Devi registrarti prima del download.
- Quindi masterizza / carica il file adioe.pde su Arduino utilizzando l'IDE di Arduino. Questo file adioe.pde può essere trovato in Arduino IO Package - ArduinoIO \ pde \ adioe \ adioe.pde
- Quindi apri il software MATLAB, passa attraverso la cartella Arduino IO, apri il file install_arduino.m ed eseguilo in Matlab. Vedrai un messaggio di "Cartelle Arduino aggiunte al percorso" nella finestra di comando di MATLAB, significa che il percorso MATLAB è aggiornato alle cartelle Arduino.
È così che creiamo Arduino, comunichiamo con MATLAB. Il metodo sopra è adatto per "MATLAB R2013b o versioni precedenti", se stai utilizzando la versione successiva di MATLAB (come R2015b o R2016a), puoi fare clic direttamente sulla scheda Componenti aggiuntivi in MATLAB e quindi fare clic su "Ottieni pacchetti di supporto hardware", da dove puoi installare i pacchetti Arduino per MATLAB.
Dopo aver installato i file, ora puoi creare una GUI per il progetto di automazione domestica. Fondamentalmente nella GUI, stiamo creando pulsanti per il controllo degli elettrodomestici dal computer. I pulsanti possono essere creati andando in "Interfaccia utente grafica" nel menu "Nuovo" in MATLAB. Inoltre possiamo impostare il nome ei colori di questi pulsanti, abbiamo creato 8 pulsanti, di cui sei per accendere e spegnere tre elettrodomestici e due pulsanti per accendere e spegnere tutti gli elettrodomestici contemporaneamente.
Ora, dopo aver creato i pulsanti, quando fai clic sul pulsante Esegui nella finestra della GUI, ti verrà chiesto di salvare questo file della GUI (con estensione.fig), noto anche come " file fig". Non appena hai salvato il file, verrà automaticamente creato un file di codice (con estensione.m), noto anche come ' file M' (vedi schermata di seguito), dove puoi inserire il codice (indicato nella sezione Codice di seguito). Puoi scaricare il file della GUI e il file del codice per questo progetto da qui: Home_Automation_system.fig e Home_Automation_system.m (fai clic con il tasto destro e seleziona Salva collegamento come…), oppure puoi crearli tu stesso come abbiamo spiegato.
Dopo la codifica ora puoi finalmente eseguire il file.m dalla finestra del codice, vedrai "Tentativo di connessione.." nella finestra di comando. Quindi viene visualizzato un messaggio "Arduino connesso correttamente", se tutto va bene. E infine vedrai la GUI (pulsanti) creata in precedenza nella finestra della GUI, da cui puoi controllare gli elettrodomestici semplicemente facendo clic sui pulsanti nel tuo computer. Assicurati che Arduino sia collegato ad Arduino tramite cavo USB. Qui in questo progetto abbiamo utilizzato 3 lampadine per la dimostrazione, che indica Fan, Light e TV.
Il funzionamento dell'intero progetto, dall'installazione del pacchetto di supporto Arduino MATLAB all'accensione o allo spegnimento dell'appliance, può essere compreso nel video alla fine.
Spiegazione del circuito:
Il circuito di questo progetto è molto semplice. Qui abbiamo utilizzato una scheda Arduino UNO e un driver relè ULN2003 per pilotare i relè. Tre relè SPDT da 5 volt sono collegati ai pin numero 3, 4 e 5 di Arduino, tramite il driver del relè ULN2003, per controllare rispettivamente LUCE, VENTOLA e TV.
Spiegazione della programmazione:
Quando premiamo un pulsante qualsiasi dalla finestra della GUI, invia alcuni comandi ad Arduino e quindi Arduino esegue l'operazione. Dopo aver installato il pacchetto di supporto Arduino MATLAB IO, possiamo accedere ad Arduino da MATLAB utilizzando le stesse funzioni di Arduino, con qualche piccola variazione, come:
Per creare un pin HIGH in Arduino scriviamo il codice come digitalWrite (pin, HIGH)
In MATLAB useremo questa funzione con l'aiuto di un oggetto o di una variabile come, e allo stesso modo così via.
Prima di fare ciò dobbiamo inizializzare la variabile in questo modo:
In questo progetto, non c'è codice Arduino tranne il codice o il file del pacchetto di supporto MATLAB di Arduino. Come spiegato in precedenza, il file di codice (file.m) viene generato automaticamente durante il salvataggio del file della GUI (file.fig). C'è già del codice già scritto nel file.m. Fondamentalmente queste sono funzioni di richiamata per i pulsanti, significa che possiamo definire cosa dovrebbe accadere facendo clic su questi pulsanti.
Nel codice MATLAB, per prima cosa inizializziamo la porta seriale e la rendiamo un oggetto utilizzando una variabile. E poi possiamo iniziare a programmare come Arduino usando la variabile.
clear ar; ar globale; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
Nella funzione di richiamata di ogni pulsante abbiamo scritto il relativo codice per Accendere o Spegnere i rispettivi Elettrodomestici, collegati ad Arduino tramite Relay. Come per esempio, la funzione di richiamata per Luce accesa è fornita di seguito:
function light_on_Callback (hObject, eventdata, handle)% hObject handle to light_on (vedi GCBO)% eventdata reserved - da definire in una futura versione di MATLAB% gestisce la struttura con handle e dati utente (vedi GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Allo stesso modo possiamo scrivere il codice nelle funzioni di Callback di tutti i pulsanti, per controllare gli altri Elettrodomestici collegati, controllare il codice MATLAB completo di seguito (file.m).