Back to Parent

Outcome


Problem Statement. 

My parents own two gorgeous Schnauzer dogs. They have the same routine every day: first thing in the morning, they both start parking because they want to go to the back yard so they can make their doggy stuff. Although they are so lovely 99% of the time, their barking every morning is annoying. They will bark and try to push the door until somebody opens it for them. 

Goal.

This project will allow my parents to stay in bed for longer during the morning with no sleep-threatening barking. This project intends to use the dogs' morning routine so they can go out to the backyard by themselves. 

Components. 

- Photo Resistor

- LED (Red, 5mm)

- 10K-Ohm Resistors (Brown-Black-Orange)

- 1K-Ohm Resistors (Brown-Black-Red)

- Electret (FC-04)

- Emax ES08A Mini RC Servo Motor

- Mini Pushbutton

- Jumper Wires (15x) 

Process. 

I started this process by creating flow diagrams to understand what I was wanted the solution to do, considering the things the dogs are used to do every morning so no training is required for them. 
After this, attached all the components in the breadboard and I added "//" type of comments in Particle Dev, and filling them out with functions and variables. This turned out to be not the best efficient process, so I got to a point that I had to delete everything and start over again. I unplugged everything from the breadboard and then I started adding and testing every component individually. I believe that doing this was a good thing for my process since I reaffirmed everything was working properly, this is why I added an LED to monitor the functions of every component, although it was not required for the final solution. As shown in the Code, dividing constants & variables, setup, loop and functions was very helpful for me to manage all the information and confirm functionality. 

Photo jan 29  4 20 14 pm.thumb
Show Advanced Options
Photo jan 29  4 19 43 pm.thumb
Show Advanced Options

Final components attached 

Show Advanced Options

Outcome.

This solution works as follows:


1. It will detect if there is light around, since the dogs are supposed to go to the backyard only during the daytime. 

2. It will detect if the dogs are barking (this part was kind of tricky - I had to play with the sensibility of the microphone so it could differentiate very loud from not very loud noises).

3. The Servo Motor acts as a door latch  and if the microphone hears the barks (or very loud noises) it will rotate 90. 

4. The door will be open, and the dogs will be able to push it so they can go out. A notification will be sent. 

5. I included a button so the latch can be closed again. 


While I was doing this project I realised that probably the microphone was not the most effective idea to detect if the dogs are ready to go out, since there might be other loud noises around. Therefore, if I was to continue to develop this solution, I would probably try this solution and also a limit switch to react to the dogs' push and see which one works best. 

Show Advanced Options
Photo jan 29  2 43 31 pm %281%29.thumb
Show Advanced Options

Reflection.

During this process I learned that it is more efficient if I try step by step and prove that the individual components are working correctly. Although it did not make sense to me at the beginning of this IoT class, using jumping wires can be very helpful to make changes and, ironically, maintain a "clean" layout in the breadboard. I also learned to divide functions and then call them on the loop segment so I can have a better organisation within the code. 
Drop files here or click to select

You can upload files of up to 20MB using this form.