Project

# Title Team Members TA Documents Sponsor
27 An Automatic Pet Door(seeking for approval)
Haijian Wang
Haoran Zheng
Zhihao Xu
Yixuan Wang design_document1.pdf
final_paper1.pdf
other1.pptx
photo2.png
photo3.png
proposal1.pdf
video1.mp4
video
An Automatic Pet Door
Team Members:
- Student 1 (netid) Haijian Wang (haijian4)
- Student 2 (netid) Haoran Zheng (haoranz8)
- Student 3 (netid)Zhihao Xu (zhihaox4)

1. Problem
For those people living near small natural ecosystems, some small-sized wildlife animals like racoons or lizards may enter their house through pet doors from time to time. If we can design an electronic device attached on the pet door with proper sensors that can distinguish cats and dogs from non-pet animals, then when the pets attempt to enter or exit the house, the pet door will automatically unlock with the help from some external mechanical devices, but if wildlife animals try to enter, the pet door will stay locked. Additionally, the practical use of such device is not limited to pets-scenario, and any problem involved in automatically distinguishing different types of objects and taking different actions can utilize this device because the training sets can be altered to fit different scenarios.

2. Solution and Design Graph
The solution to our problem is to design an automatic pet door. We will have several subsystems. The most important subsystem would be a camera module to help us identify the animal at the door. The camera will be connected to an FPGA that runs pre-trained AI models. We will also have weight sensors and motion sensors to further verify that we have the correct type of animal. We will use batteries for our power subsystem and motors to unlock the latches. We would also have a notification subsystem that uses LEDs to indicate the status of the lock and sends out text notifications to users. Our customized PCB will connect every subsystem together and a microcontroller will control everything



3. Solution Components



3.1 Subsystem 1: Camera module and FPGA with pretrained AI implemented
An AI programmed on the FPGA board will be trained and tested on recognizing pets' facial images with numerous photos as training, development, and testing sets. After completing the training process and reaching a desirable successful rate, the FPGA would be connected to the camera through PCB. The camera will monitor the outside of the door and send image data to FPGA, so the AI would determine whether the object is pet and generate different signals accordingly.

3.2 Subsystem 2: Assisting sensors
3.2.1 Infrared Motion Sensor:
Detect whether some objects are near the pet door, if there is currently no object, then the camera, display device, and FPGA will remain shut down to avoid wasting energy.
3.2.2 Weight Sensor:
This sensor serves as a fail-safe, and if the measured weight is lower or higher than the boundary of the expected weight range of normal cats and dogs, then the latch will always be locked even if the camera falsely recognizes the object as a pet.

3.3 Subsystem 3: Microcontroller on a Customized PCB

3.4 Subsystem 4: Sound Notification and Visual Display Device
Basic: Single LED, if the latch unlocks, then the LED will light up.
Intermediate: a full LED Array to form a rectangular board, if the latch is unlocked, corresponding individual LEDs in the Array will be lit up and display “unlocked”.
Advanced: LCD screen

3.5 Subsystem 5: Power Supply
Battery for supporting LED and mechanical controller. Using a voltage converter to supply the electric energy for operating the whole system.

3.6 Subsystem 6: Motor and Mechanical locking/unlocking device
keeping a door closed until a release mechanism is activated which is related to our multiple sensors. When every sensor is satisfied, the unlocking mechanism will be activated and the door will be opened and will go back into locking status after pets pass through the door. Otherwise, the door will keep closed.

4. Criterion For Success
For our project, we need to achieve this system with great efficiency and accuracy for recognizing the general characteristics of pets.
We need to make sure the accuracy of the systems could identify animals without being disturbed by other objects. The door will be closed automatically when there are no pets appearing in front of the camera.
The recognition of motion, weight, and graph should be satisfied at the same time to identify the pet as the correct type. Any incorrect recognition will make the door keeping closed.
The door should be closed in a short time after pets have passed through the door and presented the status of door through the LEDs.
The door should respond to the recognition result in a short time. If the recognition is correct/false, the door should open/close and the status of the LED should be changed.

Monitor for Dough and Sourdough Starter

Jake Hayes, Abhitya Krishnaraj, Alec Thompson

Monitor for Dough and Sourdough Starter

Featured Project

Team Members:

- Jake Hayes (jhayes)

- Abhitya Krishnaraj (abhitya2)

- Alec Thompson (alect3)

# Problem

Making bread at home, especially sourdough, has become very popular because it is an affordable way to get fresh-baked bread that's free of preservatives and other ingredients that many people are not comfortable with. Sourdough also has other health benefits such as a lower glycemic index and greater bioavailability of nutrients.

However, the bulk fermentation process (letting the dough rise) can be tricky and requires a lot of attention, which leads to many people giving up on making sourdough. Ideally, the dough should be kept at around 80 degrees F, which is warmer than most people keep their homes, so many people try to find a warm place in their home such as in an oven with a light on; but it's hard to know if the dough is kept at a good temperature. Other steps need to be taken when the dough has risen enough, but rise time varies greatly, so you can't just set a timer; and if you wait too long the dough can start to shrink again. In the case of activating dehydrated sourdough starter, this rise and fall is normal and must happen several times; and its peak volume is what tells you when it's ready to use.

# Solution

Our solution is to design a device with a distance sensor (probably ultrasonic) and a temperature sensor that can be attached to the underside of most types of lids, probably with magnets. The sensors would be controlled with a microcontroller; and a display (probably LCD) would show the minimum, current, and maximum heights of the dough along with the temperature. This way the user can see at a glance how much the dough has risen, whether it has already peaked and started to shrink, and whether the temperature is acceptable or not. There is no need to remove it from its warm place and uncover it, introducing cold air; and there is no need to puncture it to measure its height or use some other awkward method.

The device would require a PCB, microcontroller, sensors, display, and maybe some type of wireless communication. Other features could be added, such as an audible alarm or a graph of dough height and/or temperature over time.

# Solution Components

## Height and Temperature Sensors

Sensors would be placed on the part of the device that attaches to the underside of a lid. A temperature sensor would measure the ambient temperature near the dough to ensure the dough is kept at an acceptable temperature. A proximity sensor or sensors would first measure the height of the container, then begin measuring the height of the dough periodically. If we can achieve acceptable accuracy with one distance sensor, that would be ideal; otherwise we could use 2-4 sensors.

Possible temperature sensor: [Texas Instruments LM61BIZ/LFT3](https://www.digikey.com/en/products/detail/texas-instruments/LM61BIZ%252FLFT3/12324753)

Proximity sensors could be ultrasonic, infrared LED, or VCSEL.\

Ultrasonic: [Adafruit ULTRASONIC SENSOR SONAR DISTANCE 3942](https://www.digikey.com/en/products/detail/adafruit-industries-llc/3942/9658069)\

IR LED: [Vishay VCNL3020-GS18](https://www.mouser.com/ProductDetail/Vishay-Semiconductors/VCNL3020-GS18?qs=5csRq1wdUj612SFHAvx1XQ%3D%3D)\

VCSEL: [Vishay VCNL36826S](https://www.mouser.com/ProductDetail/Vishay-Semiconductors/VCNL36826S?qs=d0WKAl%252BL4KbhexPI0ncp8A%3D%3D)

## MCU

An MCU reads data from the sensors and displays it in an easily understandable format on the LCD display. It also reads input from the user interface and adjusts the operation and/or output accordingly. For example, when the user presses the button to reset the minimum dough height, the MCU sends a signal to the proximity sensor to measure the distance, then the MCU reads the data, calculates the height, and makes the display show it as the minimum height.

Possible MCU: [STM32F303K8T6TR](https://www.mouser.com/ProductDetail/STMicroelectronics/STM32F303K8T6TR?qs=sPbYRqrBIVk%252Bs3Q4t9a02w%3D%3D)

## Digital Display

- A [4x16 Character LCD](https://newhavendisplay.com/4x16-character-lcd-stn-blue-display-with-white-side-backlight/) would attach to the top of the lid and display the lowest height, current height, maximum height, and temperature.

## User Interface

The UI would attach to the top of the lid and consist of a number of simple switches and push buttons to control the device. For example, a switch to turn the device on and off, a button to measure the height of the container, a button to reset the minimum dough height, etc.

Possible switch: [E-Switch RA1113112R](https://www.digikey.com/en/products/detail/e-switch/RA1113112R/3778055)\

Possible button: [CUI Devices TS02-66-50-BK-160-LCR-D](https://www.digikey.com/en/products/detail/cui-devices/TS02-66-50-BK-160-LCR-D/15634352)

## Power

- Rechargeable Lithium Ion battery capable of staying on for a few rounds of dough ([2000 mAh](https://www.microcenter.com/product/503621/Lithium_Ion_Battery_-_37v_2000mAh) or more) along with a USB charging port and the necessary circuitry to charge the battery. The two halves of the device (top and underside of lid) would probably be wired together to share power and send and receive data.

## (stretch goal) Wireless Notification System

- Push notifications to a user’s phone whenever the dough has peaked. This would likely be an add-on achieved with a Raspberry Pi Zero, Gotify, and Tailscale.

# Criterion For Success

- Charge the battery and operate on battery power for at least 10 hours, but ideally a few days for wider use cases and convenience.

- Accurately read (within a centimeter) and store distance values, convert distance to dough height, and display the minimum, maximum, and current height values on a display.

- Accurately read and report the temperature to the display.

- (stretch goal) Inform the user when the dough has peaked (visual, audio, or app based).

Project Videos