FINAL PROJECT
In this section, I will describe the step-by-step process of the creation and design of my final project. Welcome to this journey that will surprise you.
Research
Methodology: Desing Thinking
Design Thinking is an approach to problem-solving that focuses on understanding user needs and developing creative solutions through multidisciplinary collaboration. It is based on an iterative process that includes stages such as empathy, definition, ideation, prototyping, and testing.
Define Stage
Central Problem: Users desire a smart band that not only measures physical activity but also allows the information to be measurable by experts in the case of known diseases or simply for preventive purposes. Discomfort and lack of style are barriers to adoption, and most users seek a solution that is both accurate and motivating.
Empathy Stage
Ideas Stage
Now in this stage, with all my information, the problematic and the user I started with a brainstorming and sketching my ideas to understand more the way I wanted to work.
IDEA DESCRIPTION
This smart band aims to measure body reactions in order to consistently store them in a database. The goal is to update the information released by the body on a daily basis. A health expert in a specific medical field can then evaluate this information and generate diagnoses related to existing or potential diseases.
SENSORS
At least we need this 9 different sensors to evaluate the body signals and for the creation of a diagnoses.
Sensor | Measurement | Function |
---|---|---|
Accelerometer | Physical activity, steps, distance traveled, sleep quality. | Detects the acceleration of movement and is crucial for tracking daily physical activity. |
Gyroscope | Orientation and movement. | Measures device rotation and orientation, useful for specific physical activities and motion detection. |
Heart Rate Sensor | Real-time heart rate. | Uses optical technology to measure blood flow and determine heart rate. |
SpO2 Sensor (Pulse Oximetry) | Blood oxygen saturation levels. | Evaluates the amount of oxygen transported by the blood, useful for detecting potential respiratory issues. |
Body Temperature Sensor | Body temperature. | Some wearables include temperature sensors to monitor changes in body temperature, useful for fever detection or other health issues. |
Barometer | Atmospheric pressure. | Used to measure changes in altitude and predict weather changes. |
Ambient Light Sensor | Ambient light intensity. | Automatically adjusts screen brightness and records data on light exposure. |
Linear Motion Sensor | Linear motion. | Complements the accelerometer to measure specific movements and detect changes in speed. |
Skin Galvanometer Sensor (GSR) | Skin conductivity. | Can indicate stress or emotion levels by measuring skin electrical conductivity. |
3D MODEL
SMART BAND
SMART BAND CONTEXT
SMART BAND COLORS
ARDUINO SESNORS CODE
Here's the progress of my code with some sensors I'll be using.
#include <math.h>
const int x_out = A1;
const int y_out = A2;
const int z_out = A3;
int pinSensor = 8;
int pinLed = 4;
int Lectura;
#define LEDROJO 13
#define LEDVERDE 6
void setup() {
Serial.begin(9600);
pinMode(pinSensor,INPUT);
pinMode(pinLed,OUTPUT);
}
void loop(){
acelerometro();
inclinacion();
cardicaco();
}
void acelerometro() {
int x_adc_value, y_adc_value, z_adc_value;
double x_g_value, y_g_value, z_g_value;
double roll, pitch, yaw;
x_adc_value = analogRead(x_out);
y_adc_value = analogRead(y_out);
z_adc_value = analogRead(z_out);
Serial.print("x = ");
Serial.print(x_adc_value);
Serial.print("\t\t");
Serial.print("y = ");
Serial.print(y_adc_value);
Serial.print("\t\t");
Serial.print("z = ");
Serial.print(z_adc_value);
Serial.print("\t\t");
//delay(100);
x_g_value = ( ( ( (double)(x_adc_value * 5)/1024) - 1.65 ) / 0.330 );
y_g_value = ( ( ( (double)(y_adc_value * 5)/1024) - 1.65 ) / 0.330 );
z_g_value = ( ( ( (double)(z_adc_value * 5)/1024) - 1.80 ) / 0.330 );
roll = ( ( (atan2(y_g_value,z_g_value) * 180) / 3.14 ) + 180 ); // Formula para el roll
pitch = ( ( (atan2(z_g_value,x_g_value) * 180) / 3.14 ) + 180 );
Serial.print("Roll = ");
Serial.print(roll);
Serial.print("\t");
Serial.print("Pitch = ");
Serial.print(pitch);
Serial.print("\n\n");
delay(1000);
}
void inclinacion(){
if(digitalRead(pinSensor))
{
digitalWrite(pinLed,HIGH);
delay(1000);
digitalWrite(pinLed,LOW);
delay(1000);
}
else
digitalWrite(pinLed,LOW);
}
void cardicaco(){
Lectura=analogRead(A0);
Serial.println(Lectura);
if(Lectura > 200 && Lectura < 250){
digitalWrite(LEDVERDE,HIGH);
digitalWrite(LEDROJO,LOW);
}
if(Lectura > 250 && Lectura < 300){
digitalWrite(LEDVERDE,LOW);
digitalWrite(LEDROJO,HIGH);
delay(50);
}
}
Task | Description | Date |
---|---|---|
PCB creation | PCB desing with the sensors and Datebase | 05/05/2024 |
Code Optimization | Refactor the code to improve efficiency and readability. | 10/05/2024 |
Testing and Debugging | Perform thorough testing and debug any potential errors. | 15/05/2024 |