Paso 4: Programar el LilyPad
Una vez que el sistema se fija en su lugar con pinzas y todo conectado correctamente, el código debe implementarse en el LilyPad para que la información se puede procesar en una manera interpretable.Descargar el código desde el siguiente enlace:
-La lectura del sensor es algo que se lee el sensor y escribir el valor. Puede utilizar esto para probar el sensor flex.
https://IU.Box.com/s/69miroptlyszumy7ae7r
Estas son partes importantes del código que hace que este sistema de trabajo. Puede realizar cambios en ellos para hacer que el código funcione mejor para usted.
Esta parte del código incluye la función EEPROM y el serial para que pueda leer los datos y mostrar en su computadora.
#include < EEPROM.h >
#include < SoftwareSerial.h >
Esta parte del código es esencial ya que permite el lilypad sabe qué pernos están conectados los sensores y cómo tratar a cada sensor.
void setup()
{
pinMode (vibrador, salida);
pinMode (flex_sensor_1, entrada);
pinMode (botón, entrada);
digitalWrite (botón, HIGH);
}
Esta parte del código indica el lilypad que el dispositivo debe estar en lo que llamamos, el modo "off". Tiene entonces el lilypad espere hasta que se pulsa el botón. Sin demora, cuando se pulsa el botón al final del día, apaga el dispositivo y luego en antes de tener tiempo de sacar el dedo de la tecla.
Si (button_pressed == 0)
{
Val = 0;
Delay(1000);
potencia = digitalRead(button);
Si (potencia == LOW)
{
button_pressed = button_pressed + 1;
}
}
Esta parte del código es lo que llamamos el modo de "encendido". Después se pulsa el botón por primera vez, el dispositivo se encenderá y comenzar leyendo el sensor de flex.
else if (button_pressed == 1)
{
sensor_1 int = analogRead(flex_sensor_1) / 4;
}
Estas dos líneas de código son los que definen lo que hemos considerado a ser buena y mala postura. La primera línea es una mala postura y la segunda es una buena postura.
Si ((sensor_1 < 115) || (sensor_1 > 130))
Si ((sensor_1 > 115) & & (sensor_1 < 130))
Enciende el motor de la vibración en una mala postura y luego retrasos por un segundo da al usuario tiempo para ajustarse.
digitalWrite (vibrador, HIGH);
Delay(1000);
Esta parte del código indica el dispositivo qué hacer cuando se pulsa el botón una segunda vez. Comprueba para asegurarse de que está escribiendo los datos correctos a la dirección correcta para la EEPROM y que los datos que escribe es válidos. A continuación, devuelve el dispositivo al modo de apagado. Este código aparece en dos separados si declaraciones para asegurarse de que el aparato puede ser apagado si la persona está sentada con una buena postura o no.
Si (button_pressed == 2)
{
Si (addr > = 7)
{
addr = 0;
Si (val < 256)
{
EEPROM.write (addr, val);
addr = addr + 1;
button_pressed = 0;
}
}
else if (addr < = 6)
{
Si (val < 256)
{
EEPROM.write (addr, val);
addr = addr + 1;
button_pressed = 0;
}
}
}
Esta parte del código dice que el serial lo que quieras para cada dirección. Dirección cero el lunes, dirección uno es el martes, y así sucesivamente. Mostrarán las líneas impresas para cada día de la semana y los datos se almacenarán durante sólo siete días.
Si (dirección == 0)
{
valor = EEPROM.read(address);
Si (valor == 255)
{
Serial.Print ("no llevas tu camiseta el lunes.");
Serial.Print("\n");
Dirección = Dirección + 1;
}
otra cosa
{
Serial.Print ("había una mala postura");
Serial.Print(Value);
Serial.Print ("veces el lunes de esta semana.");
Serial.Print("\n");
total = valor;
Dirección = Dirección + 1;
}
}