Miguel Delgado
3 years ago
commit
cbd2bcfccb
1 changed files with 75 additions and 0 deletions
@ -0,0 +1,75 @@ |
|||||
|
|
||||
|
int sensores[]={A0,A1,A2,A3,A4,A5,A6,A7};//Sensores
|
||||
|
int valores[8]; |
||||
|
int umbral[]={1023,1023,1023,1023,1023,1023,1023,1023}; |
||||
|
int numSensores=8;//total de sensres en la barra
|
||||
|
int ir =2;//encender y apagar la barra
|
||||
|
|
||||
|
|
||||
|
void setup() { |
||||
|
Serial.begin(115200); |
||||
|
//Inicializamos los pines de los sensores
|
||||
|
for(int x=0;x<numSensores;x++){ |
||||
|
pinMode(sensores[x],INPUT); |
||||
|
} |
||||
|
pinMode(LED_BUILTIN,OUTPUT); |
||||
|
//pin para controlar el encendido de la barra
|
||||
|
pinMode(ir,OUTPUT); |
||||
|
digitalWrite(ir,HIGH);//Encendemos la barra
|
||||
|
calibracion(); |
||||
|
} |
||||
|
|
||||
|
void loop() { |
||||
|
int pos=getPosicion(); |
||||
|
|
||||
|
//PINTAR LOS VALORES
|
||||
|
for(int x=0;x<numSensores;x++){ |
||||
|
Serial.print(valores[x]); |
||||
|
Serial.print("\t"); |
||||
|
} |
||||
|
Serial.println(pos); |
||||
|
delay(100); |
||||
|
} |
||||
|
|
||||
|
void leerRAW(){ |
||||
|
//LEER LOS VALORES DE LOS SENSORES
|
||||
|
for(int x=0;x<numSensores;x++){ |
||||
|
valores[x]=analogRead(sensores[x]); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
int getPosicion(){ |
||||
|
leerDigital(); |
||||
|
int activos=0; |
||||
|
int suma=0; |
||||
|
for(int x=0;x<numSensores;x++){ |
||||
|
suma=suma+valores[x]; |
||||
|
if(valores[x]!=0){ |
||||
|
activos++; |
||||
|
} |
||||
|
} |
||||
|
return suma/activos; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
void leerDigital(){ |
||||
|
//LEER LOS VALORES DE LOS SENSORES
|
||||
|
for(int x=0;x<numSensores;x++){ |
||||
|
valores[x]=analogRead(sensores[x])>(umbral[x]+70)?(x*500)+500:0; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
void calibracion(){ |
||||
|
digitalWrite(LED_BUILTIN,HIGH); |
||||
|
for(int y=0;y<400;y++){ |
||||
|
for(int x=0;x<numSensores;x++){ |
||||
|
int v=analogRead(sensores[x]); |
||||
|
if(umbral[x]>v){ |
||||
|
umbral[x]=v; |
||||
|
} |
||||
|
} |
||||
|
delay(10); |
||||
|
} |
||||
|
|
||||
|
digitalWrite(LED_BUILTIN,LOW); |
||||
|
} |
Loading…
Reference in new issue