Codigo Para Controlar Un Acelerometro Con Arduino, Por Victor Mayén
victormayen0525 de Noviembre de 2012
490 Palabras (2 Páginas)949 Visitas
codigo para controlar un acelerometro con arduino, por victor mayén
const int tierrapin = 18;
const int alimentacionpin = 19;
int val; // puntos en el eke X
int val1;// puntos en el eje Y
int sensorValue = 0;
const int valormedio = 14;
const int valorminimo = 25;
const int valormaximo= 170;
int salida1 = 2;
int salida2 = 3;
int salida3 = 4;
int salida4 = 5;
int salida5 = 6;
void setup()
{
Serial.begin(9600);
pinMode(salida1,OUTPUT);
pinMode(salida2,OUTPUT);
pinMode(salida3,OUTPUT);
pinMode(salida4,OUTPUT);
pinMode(salida5,OUTPUT);
pinMode(tierrapin, OUTPUT);
pinMode(alimentacionpin, OUTPUT);
digitalWrite(tierrapin, LOW);
digitalWrite(alimentacionpin, HIGH);
}
void loop()
{
Serial.print("y:\t");
Serial.print("\t");
Serial.print(analogRead(A2));
Serial.print("\t");
Serial.print("x:\t");
Serial.print("\t");
Serial.print(analogRead(A3));
Serial.println();
val = analogRead(A3);
val = map(val, 374, 660 , 0 , 260);//VARIACION DE RANGOS EN X
Serial.print(val);
val1 = analogRead(A2);
val1 = map(val1, 374, 660 , 0 , 200);//VARIACION EN Y
Serial.print(val1);
int range = map(val, valorminimo, valormaximo, 0, 4);
switch (range) {
case 0://X HACIA ABAJO
Serial.println("alto");
digitalWrite(salida1,HIGH);
digitalWrite(salida2,LOW);
digitalWrite(salida3,LOW);
digitalWrite(salida4,LOW);
digitalWrite(salida5,LOW);
break;
case 1:
digitalWrite(salida1,LOW);
digitalWrite(salida2,LOW);
digitalWrite(salida3,LOW);
digitalWrite(salida4,LOW);
digitalWrite(salida5,LOW);
break;
case 2:
break;
case 3:
digitalWrite(salida1,LOW);
digitalWrite(salida2,LOW);
digitalWrite(salida3,LOW);
digitalWrite(salida4,LOW);
digitalWrite(salida5,LOW);
break;
case 4://X HACIA ARRIBA
Serial.println("abajo");
digitalWrite(salida1,LOW);
digitalWrite(salida2,LOW);
digitalWrite(salida3,HIGH);
digitalWrite(salida4,LOW);
digitalWrite(salida5,LOW);
break;
}
int range1 = map(val1, valorminimo, valormaximo, 0, 4);
switch (range1) {
case 0:// VARIACION EN Y
Serial.println("derecha");
digitalWrite(salida1,LOW);
digitalWrite(salida2,LOW);
digitalWrite(salida3,LOW);
digitalWrite(salida4,HIGH);
digitalWrite(salida5,LOW);
break;
case 1:
break;
case 2:
digitalWrite(salida1,LOW);
digitalWrite(salida2,LOW);
digitalWrite(salida3,LOW);
digitalWrite(salida4,LOW);
digitalWrite(salida5,LOW);
break;
case 3:
break;
case 4:
Serial.println("izquierda");
...