Paso 5: Código de Arduino
-----------
const int ledPin1 = 13; LED conectado al pin digital 1
const int ledPin2 = 12;
const int ledPin3 = 11;
const int ledPin4 = 10;
const int ledPin5 = 9;
const int ledPin6 = 8;
const int knockSensor1 = A0; el piezoeléctrico es conectado al pin analógico 0
const int knockSensor2 = A1;
const int knockSensor3 = A2;
const int knockSensor4 = A3;
const int knockSensor5 = A4;
const int knockSensor6 = A5;
const int umbral = 500; valor de umbral para decidir cuándo el sonido detectado es un golpe o no
estas variables va a cambiar:
int sensorReading1 = 0;
int sensorReading2 = 0;
int sensorReading3 = 0;
int sensorReading4 = 0;
int sensorReading5 = 0;
int sensorReading6 = 0; / / variable para almacenar el valor leído desde el conector de sensor
int ledState = bajo; variable utilizada para almacenar el estado del pasado, para cambiar la luz
int lastReading1 = 0;
int lastReading2 = 0;
int lastReading3 = 0;
int lastReading4 = 0;
int lastReading5 = 0;
int lastReading6 = 0;
void setup() {}
pinMode (ledPin1, salida); declara el ledPin como salida
pinMode (ledPin2, salida);
pinMode (ledPin3, salida);
pinMode (ledPin4, salida);
pinMode (ledPin5, salida);
pinMode (ledPin6, salida); / / declara el ledPin como salida
Serial.Begin(9600); utilizar el puerto serie
digitalWrite (ledPin1, LOW);
digitalWrite (ledPin2, LOW);
digitalWrite (ledPin3, LOW);
digitalWrite (ledPin4, LOW);
digitalWrite (ledPin5, LOW);
digitalWrite (ledPin6, LOW);
lastReading1 = analogRead(knockSensor1);
lastReading2 = analogRead(knockSensor2);
lastReading3 = analogRead(knockSensor3);
lastReading4 = analogRead(knockSensor4);
lastReading5 = analogRead(knockSensor5);
lastReading6 = analogRead(knockSensor6);
}
void loop() {}
leer el sensor y almacenarlo en la variable sensorReading:
sensorReading1 = analogRead(knockSensor1);
sensorReading2 = analogRead(knockSensor2);
sensorReading3 = analogRead(knockSensor3);
sensorReading4 = analogRead(knockSensor4);
sensorReading5 = analogRead(knockSensor5);
sensorReading6 = analogRead(knockSensor6);
Serial.println(sensorReading4);
Serial.println(lastReading4);
Si la lectura del sensor es mayor que el umbral:
Si (sensorReading1-40 > lastReading1) {}
lastReading1 = sensorReading1;
Delay(50);
digitalWrite (ledPin1, HIGH);
}
Si (sensorReading2-100 > lastReading2) {}
lastReading2 = sensorReading2;
Delay(50);
digitalWrite (ledPin2, HIGH);
}
Si (sensorReading3-50 > lastReading3) {}
lastReading2 = sensorReading2;
Delay(50);
digitalWrite (ledPin3, HIGH);
}
Si (sensorReading4-50 > lastReading4) {}
lastReading4 = sensorReading4;
Delay(50);
digitalWrite (ledPin4, HIGH);
}
Si (sensorReading5-78 > lastReading5) {}
lastReading5 = sensorReading5;
Delay(50);
digitalWrite (ledPin5, HIGH);
}
Si (sensorReading6-50 > lastReading6) {}
lastReading6 = sensorReading6;
Delay(50);
digitalWrite (ledPin6, HIGH);
}
}