Está en la página 1de 2

function domotica

l = [0,0,0,0,0,0,0,0];
f = figure('Units','pixels','Position',[1,1,850,150],...
'MenuBar','none','Name','Domtica','NumberTitle','off',...
'Resize','off');
pb1 = uicontrol('Style','pushbutton','String','Cocina0',...
'Position',[50,50,50,50],'CallBack',@enviar);
pb2 = uicontrol('Style','pushbutton','String','Cuarto1',...
'Position',[150,50,50,50],'CallBack',@enviar);
pb3 = uicontrol('Style','pushbutton','String','Cuarto2',...
'Position',[250,50,50,50],'CallBack',@enviar);
pb4 = uicontrol('Style','pushbutton','String','Sala 3',...
'Position',[350,50,50,50],'CallBack',@enviar);
pb5 = uicontrol('Style','pushbutton','String','Baos 4',...
'Position',[450,50,50,50],'CallBack',@enviar);
pb6 = uicontrol('Style','pushbutton','String','Patio 5',...
'Position',[550,50,50,50],'CallBack',@enviar);
pb7 = uicontrol('Style','pushbutton','String','Patio 6',...
'Position',[650,50,50,50],'CallBack',@enviar);
pb8 = uicontrol('Style','pushbutton','String','Garage7',...
'Position',[750,50,50,50],'CallBack',@enviar);
gris = get(pb8,'BackgroundColor');
rojo = [1,0.25,0.25];
movegui(f,'center')
ma = uimenu('Label','Archivo');
mas = uimenu('Parent',ma,'Label','Salir','CallBack',@salir);
mc = uimenu('Label','Comandos');
mcet = uimenu('Parent',mc,'Label','Encender todos','CallBack',@encendertodos);
mcat = uimenu('Parent',mc,'Label','Apagar todos','CallBack',@apagartodos);
delete(instrfind)
s = serial('COM7');
while strcmp(s.Status,'closed')
try
fopen(s)
end
end
function enviar(varargin)
nombre = get(gcbo,'String');
p = str2num(nombre(7));
l(p+1) = not(l(p+1));
if l(p+1) == 1
set(gcbo,'BackgroundColor',rojo)
else
set(gcbo,'BackgroundColor',gris)
end
fwrite(s,binvec2dec(l))
end
function salir(varargin)
apagartodos;
fclose(s)
delete(s)
delete(f)
end
function encendertodos(varargin)
fwrite(s,255)
l = [1,1,1,1,1,1,1,1];

set([pb1,pb2,pb3,pb4,pb5,pb6,pb7,pb8],'BackgroundColor',rojo)
end
function apagartodos(varargin)
fwrite(s,0)
l = [0,0,0,0,0,0,0,0];
set([pb1,pb2,pb3,pb4,pb5,pb6,pb7,pb8],'BackgroundColor',gris)
end
end

También podría gustarte