Está en la página 1de 1

Programación

 Avanzada  Arduino  
 

Ponderación  de  entradas  


Cuando  trabajamos  con  sensores  uno  de  los  problemas  que  podemos  tener  es  que  
cada  cierto  tiempo  el  sensor  lea  un  valor  erroneo.  Para  evitar  esos  picos  de  valores  
aleatorios  podemos  hacer  una  lectura  ponderada.  
Vactual=Vanterior*0,8+  Vactual*0,2  

Calibracion    
Al   conectar   un   sensor   analógico   este   nos   envia   un   numero   entre   0   y   1024,   no  
obstante  en  función  del  sensor  el  valor  minimo  puede  ser  mayor  que  0  y  el  valor  
máximo   menor   de   1024.   Asi   hemos   de   realizar   una   calibración   para   obtener  
valores  dentro  de  un  rango  determinado.  
Por  ejemplo  si  queremos  obtener  valores  de  0  a  255  

Vfinal=(Vactual-­‐Vmin)*255/(Vmax-­‐Vmin)  

Calibración  dinamica  de  sensores  


Tambien  nos  podemos  encontrar  que  el  valor  numerico  que  recibimos  depende  en  
gran   medida   de   las   condiciones   ambientales   en   las   que   se   encuentra   nuesto  
montaje.  
if  (Vact<Vmin)  Vmin  =Vact;  

if  (Vact>Vmax)  Vmax  =Vact;;  


Trucos  para  evitar  usar  bucles  y  delays  
Cuando  desarrollamos  aplicaciones  para  uso  en  tiempo  real  hemos  de  evitar  el  uso  
de  delays  o  bucles.  Para  contar  el  tiempo  que  pasa  usaremos  millis()  
int  tiempo_ini;  
int  tiempo_act;  
void  setup  (){  
tiempo_ini=millis();  
}  
void  loop  (){  
  tiempo_act=millis();  
  if  (tiempo_act>tiempo_ini+1000)  {  
  //aquí  escribimos  la  secuencia  de  operaciones  
  tiempo_ini=millis();  
  }  
}  
 
 
 
 
Fuente:  Computación  Fisica  en  Secundaria  Autor:  Marco  Antonio  Rodriguez  Fernandez  

También podría gustarte