Last Updated: February 25, 2016
·
1.029K
· urielmaniaco

Código para el uso del sensor de flexibilidad con Arduino Uno

/*
Programa para recibir datos del sensor de flexibilidad
y mostrar el grado de flexion con 10 leds.
*/
// Pin donde se encuentra el sensor en la entrada analoga
int flexPin = 0;

void setup() {
// Decimos los pines de salida para los 10 leds
for (int i = 4; i <= 13; i++) {
pinMode(i, OUTPUT);
}
}

// Funcion para prender el nivel con los leds
void blink(int ledActive, int onTime, int offTime) {
// Se enciende el led y dura solo una fraccion de segundo
digitalWrite(ledActive, HIGH);
delay(onTime);
// Se vuelve a apagar el led
digitalWrite(ledActive, LOW);
delay(offTime);
}

void loop() {
// Se apagan todas las salidas de los leds
for (int i = 4; i <= 13; i++) {
digitalWrite(i, LOW);
}
// Cambiamos la entrada del sensor por un numero entre 4 y 13
int lightLevel = map(analogRead(flexPin), 130, 275, 4, 13);
// Nos aseguramos que tengamos un valor entre 4 y 13
int ledOn = constrain(lightLevel, 4, 13);
// Mandamos cual led se enciende a la funcion
blink(ledOn, 10, 1);
}