Project

# Title Team Members TA Documents Sponsor
22 ARC Machine Monitor
Akhil Kodumuri
Calvin Lee
Rohan Inampudi
Zhicong Fan design_document1.pdf
final_paper1.pdf
photo1.jpg
photo2.jpg
photo3.png
photo4.png
proposal1.pdf
video
# ARC Machine MONITOR

Team Members:
- Calvin Lee (calvinl4)
- Rohan Inampudi (rohani2)
- Akhil Kodumuri (akhilvk2)

# Problem

One question that is always on a college student's mind is "Is the ARC busy?" There have been many times throughout our college career where we have gone to the ARC expecting a quick workout just to see lines to the machines we wanted to use. We've always wished that we could see what machines were being used and what were not. That is why, we would like to create an interface where students can use their phone to visually see which equipment at the ARC are being used and which are not.

# Solution

We would like to create an interface where students can use their phone to visually see which equipment at the ARC are being used and which are not. This way, students can anticipate whether or not they should go to the ARC. At a high level, there would be a button by the equipment being used. The button, upon being pressed by the user when a machine is being used, would then send a signal to an IoT device which would then send a signal to an AWS server. Our website will then use this server to update a UI which users can utilize to see which machine is being used.


# Solution Components

## Subsystem 1 (machine sensor pcb to IoT device)

In order to detect whether or not a machine is in use, we would like to create a PCB with the following components. A button (https://www.amazon.com/Gikfun-Waterproof-Button-Momentary-Arduino/dp/B07F8GBWGG/ref=asc_df_B07F8GBWGG/?tag=hyprod-20&linkCode=df0&hvadid=343224601369&hvpos=&hvnetw=g&hvrand=2325432847971158710&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9022196&hvtargid=pla-757057055269&psc=1&tag=&ref=&adgrpid=70737352522&hvpone=&hvptwo=&hvadid=343224601369&hvpos=&hvnetw=g&hvrand=2325432847971158710&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9022196&hvtargid=pla-757057055269) that will be pressed whenever a machine is being used, a timer in order to keep a time a machine is being used, an alarm (https://www.digikey.com/en/products/detail/tdk-corporation/PS1440P02BT/2236832?utm_adgroup=Alarms%2C%20Buzzers%2C%20and%20Sirens&utm_source=google&utm_medium=cpc&utm_campaign=Shopping_Product_Audio%20Products_NEW&utm_term=&utm_content=Alarms%2C%20Buzzers%2C%20and%20Sirens&gclid=Cj0KCQjw39uYBhCLARIsAD_SzMRocrg56djQZdtSr1banc2WuquRuRWNwZ3Xb1x-w5BqNdJqJw-9-HQaAjB5EALw_wcB), a network card (https://www.espressif.com/en/products/socs), and 2 leds of different colors to indicate that a machine is being used.

## Subsystem 2 (IoT device to AWS Server)

This server will host all information on which machine is being used. In order to send data to the AWS cloud, we will install AWS IoT Device SDK (https://docs.aws.amazon.com/iot/latest/developerguide/connecting-to-existing-device.html#gs-device-view-msg) onto our Raspberry Pi 3 Model B. All machine information that is sent to the Pi will be sent to the AWS cloud.


## Subsystem 3 (AWS Server to website)

The website we will design will keep track and display what machines at the ARC are being used by using the AWS server configured in Subsystem 2. This website will be configured using the Python framework Flask.

## Subsystem 4 (load sensor to alarm)
If there is time in the project, we would like to attach load or motion sensors in order to detect use of the equipment that occurred without pressing the button, which would set off alarm.

# Criterion For Success

Ultimately, we define success on whether or not the UI on our website can change the status of a machine at the ARC when it is being used. This can be tested by the following process: Person at ARC working out, button pressed to indicate machine in use, IoT device receives signal from button, IoT device sends data to AWS server, and, finally, machine status on website changes to "Occupied".


# Important Notes

One facet of our project that needs to be tested is power consumption. In order for this product to be used at the ARC, it is imperative that we find the most lightweight solution to our project. Our current proposal is a product of our preliminary research into the most energy efficient solution to our project idea.


# Appendix

Communication between Aruduino and Pi: https://medium.com/@anujdev11/communication-between-arduino-and-raspberry-pi-using-nrf24l01-818687f7f363

Sending Data Between MQTT:
https://docs.arduino.cc/tutorials/uno-wifi-rev2/uno-wifi-r2-mqtt-device-to-device


VoxBox Robo-Drummer

Craig Bost, Nicholas Dulin, Drake Proffitt

VoxBox Robo-Drummer

Featured Project

Our group proposes to create robot drummer which would respond to human voice "beatboxing" input, via conventional dynamic microphone, and translate the input into the corresponding drum hit performance. For example, if the human user issues a bass-kick voice sound, the robot will recognize it and strike the bass drum; and likewise for the hi-hat/snare and clap. Our design will minimally cover 3 different drum hit types (bass hit, snare hit, clap hit), and respond with minimal latency.

This would involve amplifying the analog signal (as dynamic mics drive fairly low gain signals), which would be sampled by a dsPIC33F DSP/MCU (or comparable chipset), and processed for trigger event recognition. This entails applying Short-Time Fourier Transform analysis to provide spectral content data to our event detection algorithm (i.e. recognizing the "control" signal from the human user). The MCU functionality of the dsPIC33F would be used for relaying the trigger commands to the actuator circuits controlling the robot.

The robot in question would be small; about the size of ventriloquist dummy. The "drum set" would be scaled accordingly (think pots and pans, like a child would play with). Actuators would likely be based on solenoids, as opposed to motors.

Beyond these minimal capabilities, we would add analog prefiltering of the input audio signal, and amplification of the drum hits, as bonus features if the development and implementation process goes better than expected.

Project Videos