Podómetro (Arduino 101)
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Herramientas y máquinas necesarias
|
Aplicaciones y servicios en línea
|
Acerca de este proyecto
Este proyecto tenía como objetivo cumplir con los requisitos de la feria de ciencias que sucedió en mi ciudad el año pasado, en la que fue "Mi cuerpo, mi mundo".
La idea principal fue hacer un dispositivo que mide el rendimiento físico de cada individuo, donde el podómetro en cada movimiento, verifica la distancia recorrida, el número de pasos realizados, las calorías perdidas, la temperatura ambiente y la medición de la humedad.
La mayoría de los datos recolectados provienen propiamente del tablero, ya que tiene una biblioteca que involucra la colección de pasos, y para determinar el resto, solo uso matemáticas.
El estuche se imprimió en una impresora 3D. El podómetro funciona con una batería de 9 voltios.
¿Por qué?
Una parte importante de las personas vive de forma sedentaria, alejada de las prácticas de actividad física y hábitos de vida saludables.
Es necesario reconocer la actividad física como un elemento importante para las actividades metabólicas normales, así como para reducir los riesgos de futuras enfermedades.
Con esta conclusión, realicé un dispositivo prototipo que ayuda en este asunto, recopilando datos que se pueden usar y analizar de una manera más detallada.
Estos datos, al ser visualizados, comienzan a sumarse a un estímulo para la práctica de actividades físicas, ya que, la persona puede monitorear sus ingresos, comprender su cuerpo y mejorar su práctica día tras día.
Si tiene alguna pregunta sobre este proyecto, salga a comentario a continuación.
También puede enviarme un mensaje de correo electrónico.
Código
- Código
Código C / C ++
// Frank, el muerto viviente, hizo este código. // Chapecó, Brasil // Este fue mi primer proyecto en 2017, para una feria de ciencias.// 2018 // Gracias a:// Adafruit // Intel // Filipeflop // Keyes # include#include #include #include "CurieIMU.h" #include #include #define DHTPIN 8 # define DHTTYPE DHT11 LiquidCrystal lcd (12,10,5,4 , 3,2); int state =LOW; int lastState =LOW; const int ledPin =13; boolean stepEventsEnaoted =true; long lastStepCount =0; blinkState booleano =falso; flotar comprimento_do_passo; flotar calorías =0; flotar peso =57; flotar altura =168; flotar calorías_perdidas_por_km; flotar calorías_quemadas; flotar distancia; flotar passos_por_milha; flotar velocidade; opción char; flotar t; DHT_Unified dht (DHTPIN, DHTTYPE); uint32_t delayMS; void setup () {lcd.begin (16, 2); dht.begin (); comprimento_do_passo =0.30 * altura; // Altura en cm calorías_lost_per_km =(0.57 * peso * 1.6) /0.453; // Peso en kg passos_por_milha =160000.0 / comprimento_do_passo; // 16000.0 CM =16 KM lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Podómetro"); lcd.setCursor (0, 1); lcd.print ("Hecho por Frank:P"); retraso (3000); // pinMode (13, SALIDA); CurieIMU.begin (); CurieIMU.setStepDetectionMode (CURIE_IMU_STEP_MODE_NORMAL); CurieIMU.setStepCountEnabled (verdadero); if (stepEventsEna label) {// adjunta la función eventCallback como el // paso controlador de eventos:CurieIMU.attachInterrupt (eventCallback); CurieIMU.interrupts (CURIE_IMU_STEP); }} static void updateStepCount () {// Obtenga el recuento de pasos:int stepCount =CurieIMU.getStepCount (); // Si el recuento de pasos ha cambiado, imprímalo:if (stepCount! =LastStepCount) {// Guarde el recuento actual para la comparación siguiente verificación:lastStepCount =stepCount; }} static void eventCallback (void) {if (CurieIMU.stepsDetected ()) updateStepCount ();} void loop () {if (! stepEventsEna label) {updateStepCount (); } // __________________________________ // lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Pasos:"); lcd.setCursor (0, 1); lcd.print (lastStepCount); delay (4000); // __________________________________ // calorías_quemadas =lastStepCount * (lastStepCount / passos_por_milha); if (opción =='c') {} lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Calorías B .:"); lcd.setCursor (0, 1); lcd.print (calorías_quemadas); lcd.print ("Kcal"); retraso (4000); // __________________________________ // distancia =(comprimento_do_passo * lastStepCount) / 100; // Distancia en metrosif (opción =='d') {} lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Distancia:"); lcd.setCursor (0, 1); lcd .print (distancia); lcd.print ("Meters"); delay (4000); // __________________________________ //// CONECTION IN PIN 8 delay (delayMS); evento sensor_evento_t; dht.temperature (). getEvent (&evento); if (isnan (event.temperature)) {Serial.println ("Error - Temp"); } else {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatura:"); lcd.setCursor (0, 1); lcd.print (evento.temperatura); lcd.print ("C *"); retraso (3000); } dht.humidity (). getEvent (&evento); if (isnan (event.relative_humidity)) {Serial.println ("Error - Humi"); } else {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Humedad:"); lcd.setCursor (0, 1); lcd.print (event.relative_humidity); lcd.print ("%"); retraso (3000); } // __________________________________ // lastState =estado; digitalWrite (13, blinkState); blinkState =! blinkState; retraso (300);
Esquemas
La pantalla LCD es fácil de configurar.Proceso de manufactura
- Dados digitales Arduino
- Iron Man
- Encuéntrame
- Brazo robótico Arduino impreso en 3D
- Control del humidificador Arduino
- Puerta de control de temperatura sin contacto
- Robot de piano controlado por Arduino:PiBot
- NeoMatrix Arduino Pong
- Estación meteorológica ThingSpeak Arduino
- Joystick de Arduino
- Receptor de radio FM Arduino TEA5767