|
Home! |
Lab /
NivelElectronicoNivel electrónico basado en Arduino y ADXL322J Bueno, el Arduino ya saben que es.... El ADXL322 es un Acelerometro de dos canales (X e Y), en este ejemplo solo se usa uno solo, el X Codigo: //Nivel electronico un canal con ADXL322J //www.sector7gp.com.ar int nivel = 0;
void setup(){ // definimos los pines de salida pinMode(errorDMax, OUTPUT); pinMode(errorDMin, OUTPUT); pinMode(unKiloYdoPancito, OUTPUT); pinMode(errorIMin, OUTPUT); pinMode(errorIMax, OUTPUT); } void loop () { // leo el pin0 analogico
nivel = (analogRead(0))/4;
//gestion de datos...
if((nivel > (centro - H + NerrorDMax)) && (nivel < centro + H + NerrorDMax)){
digitalWrite(errorDMax, 1);
}
else digitalWrite(errorDMax, 0);
if((nivel > (centro - H + NerrorDMin)) && (nivel < centro + H + NerrorDMin)){
digitalWrite(errorDMin, 1);
}
else digitalWrite(errorDMin, 0);
if((nivel > (centro - H)) && (nivel < centro + H)){
digitalWrite(unKiloYdoPancito, 1);
}
else digitalWrite(unKiloYdoPancito, 0);
if((nivel > (centro - H + NerrorIMin)) && (nivel < centro + H + NerrorIMin)){
digitalWrite(errorIMin, 1);
}
else digitalWrite(errorIMin, 0);
if((nivel > (centro - H + NerrorIMax)) && (nivel < centro + H + NerrorIMax)){
digitalWrite(errorIMax, 1);
}
else digitalWrite(errorIMax, 0);
} |