Sensors

Enter Your Electronics & Design Project for a chance to win a $200 shopping cart!

Submit an EntrySubmit an Entry  Back to homepage
Project14 Home
Monthly Themes
Monthly Theme Poll

 

CONCEPT IDEA

 

This idea behind my project is to solve a problem for your pet.

If you have one, like a cat, dog a rabbit, ecc., you know how much they like to drink fresh water from the tap. It's also healthier for them than drinking it from a bowl that has not been changed for hours or even days.

What about if your pet wants fresh water but you are not there to open the tap? Considering this scenario, my idea is to integrate a sensor into the tap that allows to understand when the pat touches the tap, with his/her nose, the tongue or the pose, because wants water. If the touch is detected the tap will be opened for a few minutes and after will be closed.

This is to teach to your pet to perform an action to get the water, this is the reason why I won't use a range sensor.

 

CatTapWater DogTapWater

 

ELECTRICAL COMPONENTS

 

  • Teensy 3.2 - 1 pc
  • Electromagnetic valve (solenoid valve) 12V - 1 pc
  • 5V relay module - 1 pc
  • Diode 1N4007 or 1N4001 - 1 pc
  • Metal to set up around the valve as capacitive sensor - 1 pc
  • 12V external power supply for solenoid valve - 1 pc

 

 

ARCHITECTURE

 

FritzingPetWaterSystem

INSTRUCTIONS

To limit the touching area around the tap to a specific area, it's important that the capacitive touch sensor is surrounded by not connective material, like plastic.

 

 

CODE

 

/* Pets Tap Water System 
Filippo Aiello
www.filippoaiello.it
*/

const int relay = 3;

long previousMillis = 0;
long interval = 10;           // interval (milliseconds)

const int thresh = 2500;
const int delayTime = 10000;


void setup() {
  pinMode(relay, OUTPUT);
  digitalWrite(relay, LOW);
}

void loop() {
  unsigned long currentMillis = millis();

  if(currentMillis - previousMillis > interval) {
    previousMillis = currentMillis;

    unsigned int readValue = touchRead(0);
   
    Serial.println(readValue);

    if(readValue>thresh){
      Serial.println("TOUCHED");
      digitalWrite(relay, HIGH);
      delay(delayTime);
      digitalWrite(relay, LOW);
      previousMillis = currentMillis;
    }
  }
}

 

 

PHOTO AND VIDEO

PetsTapWaterSensor