It can be stressful leaving your pet behind when you need to go to work or go away for the weekend. The pet monitoring system helps ease that stress by keeping you up to date on your pets status. The three piece sensor system sends notifications to your phone when your pet is in need of food or water. The system also notifies you the live temperature in your home and will ping your phone if it is too hot or cold depending on the season.
FoodLevelSensor
An Ultrasonic Sensor uses sound waves to determine the level of food present in a bowl. The user can set the threshold level in which the code triggers "FoodLow" which sends a notification to your phone. Depending on the size of the bowl the distance will change. The Ultrasonic Sensor requires 5V of power to run. In the interest of time and money we used the myDAQ device as a power supply but there are more space efficient ways of powering the sensor such as a portable charger.
The distance data was graphed via adafruit and is shown below.
TemperatureSensor
The thermistor based temperature sensor (Ky-028) will record the temperature of the room. The user can set a value in the code in which "TempThreshold" is triggered and you are notified. The live temperature graph can be viewed on adafruit.io. The temperature sensor runs on 3.3V of power so the argon output was sufficient.
To show that this sensor works data collection was started inside and then the sensor was placed outside. The graph of live data below shows the result. The thermistor is properly measuring temperature.
WaterLevelSensor
The water Level sensor uses a bobber to detect when the water is low. When the water is low the circuit will be completed which will prompt a webhook to your phone. The water level sensor also runs on 3.3V power from the argon power port.
Because the water level sensor is built off of completing a circuit, it is either on or off. The spikes in the live data graph shown below indicate that the water is low at those points.
Cross Communication
While the communication of the three argons was not necessary to make our project function, it was required to be demonstrated. To do this we created a new variable called "GotIt" to prove that the argons were talking to each other. We had one argon publish the "GotIt" data and the other two were subscribed to this data. As shown below the "GotIt" data appeared in the console of the other two argons. Shown below is the code from the water level sensor (See code section for full code) which publishes our variable.
And then the other two codes subscribe to it:
This resulted in the "GotIt" data showing up in between the measurements that the particular argon was taking. For example the food level would output a distance measurement followed by "GotIt" and then another distance measurement. The temperature sensor behaved the same way.
Comments