ME_TIME

by Laiamica in Circuits > Arduino

208 Views, 0 Favorites, 0 Comments

ME_TIME

D4E93681-EAFF-4DDE-8C8B-7DB6B5708823.jpeg

Sometimes one or two seconds can save the life of a person. Every day, accidents happen and Me_Time is designed to optimize the medical intervention.

Me_Time is a system that shares immediately personal medical data with the hospital‘s personnel to attend a patient during an accident or emergency.

It consists on two devices that interact when they are near: Me and Time.

Me is a memory chip installed to the citizens in the neck and contains codified personal medical information.

Time is a lector device placed in the doctor, auxiliary or nurse arm. It allows them to read the information of Me and show it through a screen in the skin.

Therefore, this system can help patients in any situation, specially, if they had suffered and accident and cannot express themselves.


Because the seconds matter.
Because the lives matter.
Because is Me time.
One second, one life.

COMPONENTS

MATERIAL

  • Arduino 1
  • Breadboard
  • Wires
  • Potentiometer
  • Display LCD 16x2
  • Resistence 220
  • RFID RC522 KIT (lector+ card+ key cain)
  • Electric source (3.3V and 5V)
  • Baseline
  • Plaster bandage
  • Water
  • White putty powder
  • Bowl
  • Wood strip or spoon
  • Sandpaper
  • Black spray


PROGRAMS

  • Arduino IDE

CIRCUIT

00.jpg

In this part is presented the circuit that should be plugged in as is showed on the image.

Key points:

The lector of the RFID RC522 kit has to be connecten with GND, 3,3 V and digital pins.

The display LCD 16x2 has to be connected with GND, 5 V, digital pins and potentiometer.

The potentiometer has to be connected with GND, 5V and display LCD 16x2.

CODE

In this step is presented and explained the code of ME_TIME. The code help to register the cards or key chains, configure the screen and write the medical information. It is made with the software Arduino IDE.

<p>#include  <SPI.h>// library inclusion<br>#include < MFRC522.h></p><p>#include < LiquidCrystal.h></p><p>#define RST_PIN         9  // definition of the location of the pin where it is located
#define SS_PIN          10</p><p>MFRC522 mfrc522(SS_PIN, RST_PIN); // create MFRC522 instance
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // create LiquidCrystal instance // definition of the location of the pin where it is located</p><p>byte LecturaUID[4] =  {0x00, 0x00, 0x00, 0x00}; // we store the read value of the UID<br>byte Usuario1 [4] = {0xEB, 0x77, 0xB5, 0x1C};  // uid of the card // 0x in front to indicate that the number is hexadecimal
byte Usuario2 [4] = {0xBA, 0xFB, 0x88, 0x15};</p><p>void setup() {
  
  Serial.begin(9600);  // initialize serial communications with the PC
  SPI.begin();
  mfrc522.PCD_Init();  // initialize the reader module // PCD: Proximity Coupling Device (reader module)
  Serial.println("BIENVENIDO AL SISTEMA"); // to boot without the screen empty
  lcd.begin(16, 2); // inicializacion. Indica el tamaño del lcd de 16columnas y 2filas
  
}</p><p>void loop() {
  
  if ( ! mfrc522.PICC_IsNewCardPresent()) // PICC: Proximity Integrated Circuit Chip (card or keychain) // check if there is NO card present
    return;  // execute a return, return to the previous function // so until it detects a card or keychain</p><p>  if ( ! mfrc522.PICC_ReadCardSerial()) // if you detect a card, ask if you can get information from it
    return; // if you can't get information, make a return</p><p>  Serial.print("UID:");  // to obtain only the card identifier or keychain
  for (byte i = 0; i < mfrc522.uid.size; i++) { // iteration variable of the byte type Loop will be reading one byte at a time
    
    if (mfrc522.uid.uidByte[i] < 0x10) {  // format the text to be displayed by the monitor
      Serial.print(" 0");
    }
    
    else {
      Serial.print(" ");
    }
    
    Serial.print(mfrc522.uid.uidByte[i], HEX); // shows the loop reading on the monitor, Hex indicates that the text in hexadecimal format is displayed
    LecturaUID[i] = mfrc522.uid.uidByte[i];  // go showing the byte at a time and at the same time storing it
  }</p><p>  Serial.print("\t");  // to leave a space between the uid and the number that follows</p><p>  if (comparaUID(LecturaUID, Usuario1)) { // it makes the comparison of the uid of the card / keychain that we approach the reader with the uid of the user 1
    Serial.println("n°1002 061055881 01 08 1 || penicilina, naproxeno sódico"); // if this comparison is successful, a true value, print the text on the screen</p><p>    lcd.setCursor(3, 0); // place in which column and row we start writing
    lcd.print("Mariana Benitez"); // text displayed on screen 
    lcd.setCursor(3, 1);
    lcd.print("penicilina, naproxeno sodico");</p><p>    for (byte j = 1; j < 20; j++) { // delimits the function of displacement to only 20 movements 
      lcd.scrollDisplayLeft(); // left scroll function
      delay(500); //time
    }
    
    delay(1000);
    byte LecturaUID[4] =  {0x00, 0x00, 0x00, 0x00}; // perform the LecturaUID again
    lcd.begin(16, 2); // screen without text</p><p>  }
  
  else if (comparaUID(LecturaUID, Usuario2)) { // it makes the comparison of the uid of the card / keychain that we approach the reader with the uid of the user 2
    Serial.println("n°1007 041089231 03 06 1 || sin alergias conocidas"); // again, if it returns true it prints the text on screen
    
    lcd.setCursor(2, 0);
    lcd.print("Laura Escofet");
    lcd.setCursor(2, 1);
    lcd.print("sin alergias conocidas");</p><p>    for (byte j = 1; j < 15; j++) {
      lcd.scrollDisplayLeft();
      delay(500);
      
    }
    delay(1000);
    byte LecturaUID[4] =  {0x00, 0x00, 0x00, 0x00};
    lcd.begin(16, 2);
    
  }
  
  else{
    Serial.println("usuario no registrado"); // if the comparisons are not successful, text is displayed
   
    lcd.setCursor(0, 0);
    lcd.print("no registrado");    
    delay(2000);
    byte LecturaUID[4] =  {0x00, 0x00, 0x00, 0x00};
    lcd.begin(16, 2);
    
  }</p><p>  mfrc522.PICC_HaltA(); // end the communication with the card
  
}</p><p>boolean comparaUID (byte lectura[], byte usuario[]){  // this function compares and will return a false value if the read uid is different from the user's and true if both are equal</p><p>  for (byte i = 0; i < mfrc522.uid.size; i++) {
    if (lectura[i] != usuario[i]) // if any of the values are not equal
      return (false);  // we leave the function returning a false value
      
  }
  
  return (true); // if all match
  
}</p>

MOCK-UP

402EBD32-9F2D-4922-97C5-6E4A2C605C09.jpeg
42179F67-00A1-4CE1-B824-32272BE10096.jpeg
0300859D-F6A5-4342-9CF1-677188C4015A.jpeg

In this step is explained how we created the mock-up to simulate where will be implanted the different devices in human body.

The mock-up is made following the 3 processes. They has to rest, each time that one process is finished, and follow an order.

The first process consists on make the internal structure of the hand and head. This objective can be achieved following the instructions:

  1. Select a fashion model and put baseline in the part of the body that is going to be replicate.
  2. Cut the plaster band in pieces, mix it with water in a bowl and cover the hand and head of the model. Do not cover the nose, mouth and eyes.
  3. Let the structure rest 15 minutes and retire it of the model’s body when it is not completely dry.
  4. Use wet plaster bands to cover the last holes
  5. Let it dry 20 minutes.

The second process has the objective of making the internal structure more resistant. The next steps explain how to do this:

1. Mix the white putty powder with water in a bowl.

2. Cover the internal structure with the mixture.

3. Let it rest for one day.

4. With sandpaper polish the surface.

The third process consists on paint the mock-ups with black spray and let it dry.

RESULT

D4E93681-EAFF-4DDE-8C8B-7DB6B5708823.jpeg

USE

ME_TIME