Ajuste de curvas
PROGRAMA PARA REALIZAR MEDICIONES EN EL COLORÍMETRO
En este programa se dan las intrucciones para ingresar el nombre de la hoja de excel en que se guardaran y el numero de muestras arroja un promedio.Contents
Pregunta si quieres empezar
clc close all clear all di=input('Quieres hacer mediciones Si(1) No(2): '); if di>2 | di<1 disp('ERROR VUELVE A INTENTAR...') pause(1) clc di=input('Quieres hacer mediciones Yes(1) No(2): '); else if di==2 pause(1) disp('Adios...') end end
Corre el programa
while di==1
Lama a la tarjeta arduino
a=arduino('COM4'); disp('Comenzamos!!!')
pwm rojo
a.pinMode(9, 'OUTPUT');
pwm verde
a.pinMode(10,'OUTPUT');
pwm azul
a.pinMode(11,'OUTPUT');
En este archivo se registran las mediciones
filename='Mediciones.xlsx';
Es el nombre de la hoja de excel donde se almacenan las mediciones
sheet=input('Escribe el nombre de la hoja : ','s'); mu=input('Ingresa el numero de muestras: '); % in=0; while mu>0
mu=mu-1;
in=in+1;
fprintf('********* Muestra núm %1.0f \n',in)
for i=9:11,
a.digitalWrite(i,1);
end
pause(1)
Rojo ON
a.digitalWrite(9,0)
pause(0.5)
Normaliza el valor leído con la fotorresistencia
vr(in,1)=((1023-analogRead(a,0))/1023)*254;
disp('valor rojo: ')
disp(vr)
a.digitalWrite(9,1)
pause(.5)
Verde ON
a.digitalWrite(10,0)
pause(0.5)
vv(in,1)=((1023-analogRead(a,0))/1023)*254;
disp('valor verde: ')
disp(vv)
a.digitalWrite(10,1)
pause(.5)
Azul ON
a.digitalWrite(11,0)
pause(0.5)
va(in,1)=((1023-analogRead(a,0))/1023)*254;
disp('valor azul: ')
disp(va)
a.digitalWrite(11,1)
pause(.5)
Blanco, todos los leds son encendidos
for i=9:11, a.digitalWrite(i,0); end pause(0.5) vb(in,1)=((1023-analogRead(a,0))/1023)*254; disp('valor blanco: ') disp(vb) pause(.5)
Negro, todos los leds se apagan
for j=9:11, a.digitalWrite(j,1); end pause(0.5) vn(in,1)=((1023-analogRead(a,0))/1023)*254; disp('valor negro: ') disp(vn)
end
Promedia los vectores construidos con el número de muestras pr=mean(vr);
pv=mean(vv);
pa=mean(va);
pb=mean(vb);
pn=mean(vn);
a={'Prom rojo','Prom verde','Prom azul','Prom blanco','Prom negro'; pr, pv, pa, pb, pn};
Escritura en excel
xlswrite(filename,vr,sheet,'A1') xlswrite(filename,vv,sheet,'B1') xlswrite(filename,va,sheet,'C1') xlswrite(filename,vb,sheet,'D1') xlswrite(filename,vn,sheet,'E1') xlswrite(filename,a,sheet,'F1') disp('Si quieres ya puedes ver los datos en el archivo Mediciones.xlsx');Vuelve a preguntar si quieres mas mediciones
di=input('Quieres hacer mediciones: Yes(1) No(2): '); if di >2 | di<1 disp('ERROR VUELVE A INTENTAR...') pause(1) clc di=input('Quieres hacer mediciones Si(1) No(2): '); else if di==2 pause(0.7) disp('Adios...') end end
end
Error using input
Cannot call INPUT from EVALC.
Error in p4 (line 9)
di=input('Quieres hacer mediciones Si(1) No(2): ');