Technical Specifications
Functional Requirements
High Level:
- Shall add grocery items to inventory via OuiCan iOS application
- Shall track each inventory item’s quantity remaining
- Shall track each inventory item’s time since added to inventory
- Shall detect disposed items via OuiCan’s speech recognition
- Shall detect weight of disposed items in OuiCan
- Shall detect garbage level in OuiCan
- Shall update OuiCan application inventory via wireless communication
Technical Requirements:
- Shall allow inputs of type and quantity to OuiCan application via receipt image
- Shall keep track of number of days since each item added to inventory
- Shall open OuiCan lid when motion is detected at a distance of ~1 foot above lid
- Shall detect disposed items via OuiCan using speech recognition
- Shall detect weight of disposed items via wheatstone bridge of load cells under OuiCan
- Shall detect garbage level via ultrasonic sensor
- Shall process the sensor information via wired serial connections to Raspberry Pi
- All circuitry and sensors shall be packaged within the trash can container
- Shall send data to OuiCan application via Wi-Fi
Future Goals:
- Shall allow inputs to OuiCan application inventory via speech recognition
- Shall detect disposed items via OuiCan using UPC scanner via CCD camera
- Shall send garbage weight data for city collection to improve garbage route efficiency
- Shall suggest personalized shopping tips based on waste production history
Components
Hardware
- Simple Human Trash Can with Motion Detection
- Raspberry Pi 2 Model B
- Ultrasonic Range Finder MaxSonar-EZ3
- UPC Barcode Reader/Scanner
- Condenser Microphone
- Hazardous Gas Sensor
- Mechanical Switch
- Load Cells (x4)
- Custom Printed Circuit Board

Software
- System level: Python
- iOS Programming: Swift
- Server: Firebase
- Google Speech API
- Tesseract: OCR Engine
Architecture