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

  • Descripción de la imagen
  • 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.

    Animated Images
    Image 1
    Image 2

    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

    Image 1

    SMART BAND

    Image 2

    SMART BAND CONTEXT

    Image 3

    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