Documente Academic
Documente Profesional
Documente Cultură
INFORME FINAL
SISTEMAS EMPOTRADOS
ÍNDICE
Podómetro 2
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
1Fuente: http://www.yapo.cl/region_metropolitana/arte_antiguedades_colecciones/
antiguo_podometro_de_bolsillo_ingles_funcionando__39435544.htm
Podómetro 3
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
2 Fuente: http://www.todaysiphone.com/2015/03/10-apple-watch-apps-want-see/
Podómetro 4
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
OBJETIVOS
Nuestro objetivo es desarrollar un podómetro con una placa Arduino® 101, que
posee un acelerómetro y un giroscopio integrados. El acelerómetro nos da los
parámetros de movimiento en las tres dimensiones X, Y, Z, mientras que gracias al
giroscopio conocemos el pitch, roll y jaw.
ARDUINO® 101
El Arduino® 101 es una tarjeta de aprendizaje y desarrollo que ofrece el
rendimiento y el bajo consumo de energía del módulo Intel® Curie™, con la
simplicidad de Arduino a un precio básico. Mantiene el mismo factor de forma
robusto y la lista periférica de la Arduino® UNO con la adición de capacidades
Bluetooth LE integradas y un acelerómetro/giroscopio de 6 ejes para ayudarle a
expandir fácilmente su creatividad al mundo conectado.
Podómetro 5
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
3Fuente: https://www.xataka.com/makers/los-arduino-101-dan-la-bienvenida-a-intel-curie-los-
diminutos-soc-orientados-a-makers
4 Fuente: https://www.arduino.cc/en/Main/ArduinoBoard101#
Podómetro 6
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
PROGRAMACIÓN
A continuación mostramos la fase final del programa desarrollado, capaz de
calcular la cadencia y comunicarse a la aplicación de nRF Toolbox.
/*
This sketch example partially implements the standard Bluetooth Low-Energy Heart Rate service.
For more information: https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx
*/
#include "CurieIMU.h"
#include <CurieBLE.h>
// the characteristic is 10 bytes long as the first field needs to be "Flags" as per BLE
specifications
// https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?
u=org.bluetooth.characteristic.heart_rate_measurement.xml
// the characteristic is 2 bytes long as the first field needs to be "Flags" as per BLE
specifications
// https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?
u=org.bluetooth.characteristic.heart_rate_measurement.xml
/* ———————————————————————————————————————————————————————————————————————————————————————————————*/
/* ———————————————————————————————————————————————————————————————————————————————————————————————*/
void setup () {
unsigned int feature_conf = 7; // set the feature of the server: (value = 7) Instantaneous stride
length, total distance and walking/running activated
Podómetro 7
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
CurieIMU.begin();
CurieIMU.setStepDetectionMode(CURIE_IMU_STEP_MODE_NORMAL);
CurieIMU.setStepCountEnabled(true);
randomSeed(millis());
if (stepEventsEnabeled) {
CurieIMU.attachInterrupt(eventCallback);
CurieIMU.interrupts(CURIE_IMU_STEP);
Serial.println("IMU initialization complete, waiting for events...");
}
blePeripheral.setLocalName("RSCSexample");
blePeripheral.setAdvertisedServiceUuid(RSCService.uuid()); // add the service UUID
blePeripheral.addAttribute(RSCService); // add the BLE RSC service
blePeripheral.addAttribute(RSCMeasureChar); // RSC Measurement characteristic
blePeripheral.addAttribute(RSCFeatureChar); // RSC Feature characteristic
RSCFeatureChar.setValue(feature_conf);
/* Now activate the BLE device. It will start continuously transmitting BLE
advertising packets and will be visible to remote BLE central devices
until it receives a new connection */
blePeripheral.begin();
Serial.println("Bluetooth device active, waiting for connections...");
}
void loop () {
if (central) {
Serial.print("Connected to central: ");
Serial.println(central.address());
while (central.connected()) {
updateStepCount();
}
if (!stepEventsEnabeled) {
updateStepCount();
}
}
/* ———————————————————————————————————————————————————————————————————————————————————————————————*/
void updateRSC () {
Podómetro 8
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
else {
val = 7;
// running;
}
//pasamos flags (1 byte) velocidad (2 bytes) cadencia (1 byte) zancada (2 bytes) y dist total (4
bytes), total 10 bytes
/* ———————————————————————————————————————————————————————————————————————————————————————————————*/
/* ———————————————————————————————————————————————————————————————————————————————————————————————*/
/* ———————————————————————————————————————————————————————————————————————————————————————————————*/
/* ———————————————————————————————————————————————————————————————————————————————————————————————*/
Podómetro 9
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
NRF TOOLBOX
La aplicación para teléfono inteligente con Android e iOS. Para que muestre los
datos que queremos, debemos pasarle la cadencia de pasos y es la misma aplicación
quien calcula la velocidad relativa, velocidad, distancia y calorías.
5 Fuente: https://www.arduino.cc/en/Main/ArduinoBoard101#
Podómetro 10
Universidad Europea de Madrid Benito / Muñoz / Sánchez / Tobajas
CONCLUSIONES
Como dijimos en la introducción, podemos destacar la importancia del
proyecto en cuanto a su interesante aplicación y a la capacidad que tuvimos de
aplicar los conceptos aprendidos en la asignatura para mejorarla.
PRIMER TRIMESTRE
El primer trimestre, Alejandro y Alba desarrollaron el código y la máquina de
estados. Hicieron funcionar el contador de pasos propio, monitorearon valores de
ensayo y valor y filtraron la señal que proporcionaba la placa.
SEGUNDO TRIMESTRE
En el segundo trimestre, trabajamos en conjunto para el CurieIMU y la
conexión Bluetooth®. Se presentaron inconvenientes en cuanto a la conexión, la
cadencia caminando y corriendo y una descalibración entre la aplicación para
Android e iOS.
TERCER TRIMESTRE
El tercer trimestre, mejoraremos el código hecho hasta ahora y se harán
avances en el prototipo del podómetro.
Podómetro 11