Dog ExtraSense

by mirejs in Circuits > Arduino

502 Views, 1 Favorites, 0 Comments

Dog ExtraSense

snoopy.png

Technology is improving exponentially and, nowadays, thanks to that we can do extraordinary things. We have everything we want in a “push of a button”. But, what if it becomes a part of ourselves? What if we use technology to “improve” human beings? This concept already exists: it is called a cyborg.

In this project, we are going to create a device that you could implement in your body to have an ability or sense that without this technology, you would not be able to do it.

Pets, another member of the family

"4/10 families have at least one pet in their homes" it says the “Asociación Madrileña de Veterinarios de Animales de Compañía” (AMVAC) and nearly 30% are dogs.

When you introduce a pet in your family it becomes another member of it. As a pet owner, you worry about its health, mood, and comfort. When the pet starts to behave differently, owners worry and start to struggle to understand what is happening to their pets.

Due to that, we have decided to combine a group of sensors that will let people feel, understand or experience the mood of their pets. For the project, we are going to center on dogs.

Relevant Data

  • Should I bring my dog to the veterinarian?

A dog/cat should visit the veterinarian at least one time per year, however, vets recommend to make a check a between two and four times a year considering that a human year is equivalent to four/seven dogs/cat’s years. Going to the vet is indeed an extra expense that not every family can face, but it could help to prevent some illness that the cure is much more expensive.

  • Trining issues?

The main training problem pet owners deal with, is to make them understand where they can and cannot do their necessities. This problem is one of the main reasons that people give up on their dogs and abandon them, or they give it to another family.

If a dog over six months, still pees where it is not permitted, it is considered a badly trained dog. Change this habit is difficult and it requires a lot of implication and effort from the owner.

  • Heat Strokes in dogs?

Dogs like to explore new places and have new experiences. Normally, dog owners, when they go to nature, brought their dogs to make them happy. The danger of that activity (mostly in summer) is that your dog could suffer a heat stroke.

A head stroke in dogs is much easier to happen than to a person because they can only decrease body temperature by their mouths. It is tragic because in just 15min your dog could die because of collapse. Panting, denial to walk or trembling, are some of the symptoms.

The Inputs

inputs.png

For this project, we will need to consider that the dog has inserted a microchip that has multiple sensors: temperature, GPS Locator and Cardiac Rhythm sensor. Via Bluetooth, we are going to be connected to the microchip to receive the inputs explained in the image above.

The Outputs

outputs.png

A cyborg is a person that has an electronic device inserted in the body that makes him/her capable of extra abilities. Because we are not going to practice surgery, we are going to sew up the electronic components over a t-shirt. We are going to use vibration buttons and a resistor.

List of Components:

  • 3 vibrating buttons
  • 1 resistor
  • Cables
  • T-Shirt
  • Arduino Starter Kit
  • Sew machine or needles
  • Thread

Arduino Set Up

fritzing.png

The image above is the final display of all the arduino components. The resistor on the right, represents the ceramic resistor of 12V that produces heat.

The Code

/*We set up four buttons to recreate the imputs form the chip implanted in our dog, Because we are not going to configure the chip and connect it to this code via bluetooth*/

const int button1 = 12;

const int button2 = 11;

const int button3 = 10;

const int button4 = 8;

/*The following variable are the outputs that we considered in our stady to let the owner know their dog's behaviour*/

const int vibra1 = 9; //vibration

const int vibra2 = 7; //vibration

const int vibra3 = 6; //vibration

const int temperature = 5; //tempperature

// variables will change: //

buttons int buttonState1 = 0;

int buttonState2 = 0;

int buttonState3 = 0;

int buttonState4 = 0;

//variables of the fade option

int vibration = 0;

int intensity = 10;

void setup() { // initialize the outputs:

pinMode(vibra1, OUTPUT);

pinMode(vibra2, OUTPUT);

pinMode(vibra3, OUTPUT);

pinMode(temperature, OUTPUT);

// initialize the inputs:

pinMode(button1, INPUT);

pinMode(button2, INPUT);

pinMode(button3, INPUT);

pinMode(button4, INPUT);

}

void loop() { // read the state of the pushbuttons value:

buttonState1 = digitalRead(button1);

buttonState2 = digitalRead(button2);

buttonState3 = digitalRead(button3);

buttonState4 = digitalRead(button4);

// check if the pushbutton is pressed. If it is, the buttonState is HIGH: //Output 1: when our dog needs to pee

if (buttonState1 == LOW) { // turn LED on:

analogWrite(vibra1, vibration);

vibration = vibration + intensity;

if (vibration <= 0 || vibration >= 255) {

intensity = -intensity; }

delay(500); }

else { // turn LED off:

digitalWrite(vibra1, LOW); }

//Output 2: when we must stop

if (buttonState2 == LOW) {

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

digitalWrite(vibra2, HIGH);

delay(120);

digitalWrite(vibra2, LOW);

delay(120);

} else{

digitalWrite(vibra2, LOW);

}

//Output3 : when our dog scaped

if (buttonState3 == LOW) {

digitalWrite(vibra3, HIGH);

delay(200);

digitalWrite(vibra3, LOW);

delay(200);

digitalWrite(vibra3, HIGH);

delay(1000);

digitalWrite(vibra3, LOW);

delay(1000);

digitalWrite(vibra3, HIGH);

delay(200);

digitalWrite(vibra3, LOW);

delay(200);

digitalWrite(vibra3, HIGH);

delay(1000);

digitalWrite(vibra3, LOW);

delay(1000);

} else {

digitalWrite(vibra3, LOW);

}

//Output4 : when our dog has fiever

if (buttonState3 == HIGH) {

digitalWrite(temperature, HIGH);

} else {

digitalWrite(temperature, LOW); }

}

The Prototype

prototype.png

In the upper photos we can see the t-shirt reversed and with the trials stitched to display correctly the wires that are connected to the outputs.

To buld this prototype follow this simple steps:

  1. First of all turn reverse the T-Shirt.
  2. Cut a long and thin piece of fabric. We are going to sewed up to display the path of the wires.
  3. Draw with a pencil the paths.
  4. Sew the fabric just over the borders.
  5. Then make some cuts arround the path to let the T-Shirt stretch so it can be dressed easily.
  6. Sew up a pocket to hang on the protoboard and the arduino.
  7. Weld the components to the wires and connect them to the arduino.
  8. Set the cables arround the paths
  9. Turn arround the T-Shirt.
  10. Enjoy It!

Prototype Photos

conexions.png
outpouts-2.png

The image on the left represents the path each component does to connect to the Arduino plaque. On the right, we can see a front view of the T-Shirt and where are displayed the components and which one is in each position.

Conclusions

During this project we have worked with all the knowledge we had of Arduino to develop a possible future product, a werable. Becuase we hadn't had a lot of time to develop this project we developed a formal prototype of where the electronic components would be displayed arround the body.

Thanks to that project we could open our mind to innovate and develop products that are the future of our society and also, we have seen that despite is a very new and disruptive concpet, make technology be literally part of us is not as distant as we think.