Anna’s Status Report for 4/12/25

This week, I focused on setting up and testing the passive infrared sensor. I explored multiple approaches to verify its accuracy, but unfortunately, I haven’t fully resolved the issue yet. Initially, I connected the sensor directly to the GPIO pins and printed “detection” based on the PIR’s state. However, this approach produced frequent false positives. In response, I researched alternative methods—experimenting with both the gpiozero and RPi.GPIO libraries, changing conditionals, sensitivity and timeout parameters, and even incorporating a LED diode that lights up upon detection. Despite these efforts, the false positives persisted regardless of how much I changed it. I suspect the issue may be related to the sensor’s sensitivity and timing, which I plan to debug further.

Outside of the PIR, I successfully helped Ashira get the speakers to produce sound by adjusting the wiring—this involved some frustrating debugging, but we eventually resolved it. I also assisted David with the motors by suggesting that lowering the Vref on the motor drivers could help achieve the expected rotation, which thankfully worked. Additionally, I reorganized the motor circuitry, consolidating it from 3 breadboards to 1 with Ashira.

Although I’m currently a bit behind schedule due to the PIR sensor not being integrated yet, I plan to go into the lab tomorrow to continue debugging. Hopefully, by next week, motion detection will be more reliable and we can move forward with integration.

David’s status report for 3/29/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

Personally, I didn’t accomplish anything really significant, since I spent my entire week debugging components without much success. For the first half of the week, I spent time working with Anna on debugging the speaker and trying to get sound output. I tried soldering wires to the speaker module and connecting them to the raspberry pi. I also installed the libraries and tried making changes to the config files but that didn’t work either. Another thing that I worked on in the second half of the week is trying to get all 6 motors set up along with their motor drivers. The circuit board is set up but the motors need to be debugged. Anna and Ashira had fixed the motor code and schematic for 2 motors, but since we added 4 more motors, I haven’t figured out the issue with unstable and unpredictable movements. 

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule? 

I’d say my progress is still on schedule but I really need to try and figure out the speaker issue and the 6 motor integration issues this week. 

What deliverables do you hope to complete in the next week?

For this next week, I will try to get all 6 motors moving the way they should when the program is running. Ashira had some suggestions about the currents going through the motors and those adjustments, so that is like food for thought for me. Hopefully, making those measurements will give me some better idea about what is going wrong at the moment. 

 

Team Status Report for 3/29/25

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready? 

One of the most significant risks we’re facing is getting the speakers to work, as we’ve encountered persistent issues despite extensive troubleshooting. Additionally, while we’ve started setting up the circuitry for the six motors, initial testing with two motors did not perform as expected, indicating potential challenges ahead. Another concern, as mentioned in Anna’s report, is the ultrasonic sensor’s susceptibility to inaccurate measurements due to the sensitivity of the sensor. We plan to schedule dedicated work sessions where each team member focuses on a specific task while collaborating as needed and discussing the next steps such as any potential design changes moving forward.

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward? 

At this point, no notable changes were made in the design of the system.

Provide an updated schedule if changes have occurred. This is also the place to put some photos of your progress or to brag about a component you got working.

Anna’s Status Report for 3/29/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient
effort into the project over the course of the week (12+ hours).

This week, I focused on getting the peripherals working, specifically understanding how it works more in depth and setting up testing code for the ultrasonic sensor. While testing it, I realized potential issues that could arise. Our project’s primary goal is not to proctor the user but rather to encourage discipline by detecting their presence nearby to continue a timed study session. However, the ultrasonic sensor has some limitations due to how it operates—it sends a trigger signal and relies on the echo signal reflecting back to determine distance. This method is highly susceptible to interference, as various obstacles can cause inaccurate readings.

Initially, we referenced a previous project that used the same sensor for a similar purpose. However, after working with it firsthand, I discussed with the team the possibility of pairing it with a passive infrared (PIR) sensor, which detects heat. This combination could improve reliability, ensuring more accurate presence detection. Despite its challenges, the ultrasonic sensor still holds value in our setup, and I am continuing to refine its integration. Besides this observation, I was able to set up the code for the sensor to detect within our 1 meter threshold range and I also attempted to integrate it into our main code so that the timer paused when the distance detected was greater than the threshold.

I also dedicated many hours to assisting David with debugging the speakers. Despite extensive research and multiple attempts at reconfiguring both hardware and software, we have yet to produce any sound. Troubleshooting this component has been time-intensive, but we are actively working on finding a solution.

Is your progress on schedule or behind? If you are behind, what actions will be
taken to catch up to the project schedule?

Due to the time spent troubleshooting the speakers, I wasn’t able to dedicate as much time as I had planned to integrating the sensor with the GUI. As a result, I’m slightly behind my intended progress. To get back on track, I will prioritize integrating the sensor next week before revisiting the speaker issues if needed.

What deliverables do you hope to complete in the next week?

I hope to integrate the ultrasonic sensor to the code and test its functionality so as to see how I can further refine its accuracy.

Anna’s Status Report for 3/22/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I focused on helping the team with motor control. I also worked on integrating LEDs into our design. Initially, this was challenging due to outdated information on certain forums. Through troubleshooting, I discovered that the RPi OS did not support externally managed packages, which required me to transition all dependencies and code to a virtual environment to install the necessary packages for the LEDs. I also learned that the LEDs should be controlled using SPI dev tools rather than PWM for the RPi. Once I got them working, I incorporated the code into our GUI. However, I ran into issues with PyQt modules conflicting in the virtual environment. With Ashira’s help, I was able to debug this issue and integrate the LEDs so that they are triggered by the UI. Beyond the LED integration, I also worked on adding a sensor to our circuit and tested its functionality. Lastly, I helped Ashira integrate a single motor into our code, ensuring that it rotates only when expected, during the snack dispensing process. This needs a little more tweaking though.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My schedule is in progress.

What deliverables do you hope to complete in the next week?

I hope to fine tune the sensor to detect within a specific threshold and integrate it into the code as seamlessly as possible. Additionally, I hope to assist the team in attaching the springs to the stepper motors and assembling one fully functional dispensing slot for the demo.

David’s status report for 3/22/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

On Monday, I worked with my team on trying to debug the motor issue that remained from last week. While I personally wasn’t able to figure out what was wrong with the schematic and code, my teammates were able to, which was awesome. They were able to get the motors to spin in a more clean motion as well.  Additionally, I’ve been spending time this week getting the schematic for the speaker to set up, installing needed scripts, and trying to run them to produce sound. Currently, no sound comes out of the speaker which leads me to believe that the wiring is wrong since there is also no indication of the speaker module turning on. I’m trying to fix that part. 

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

I believe my schedule is in progress, but that’s mainly because of the amount of help I am getting from my teammates, who are the best.

What deliverables do you hope to complete in the next week?

I hope to figure out the issue with the speakers and get those to output sound depending on what is happening in the system. Also, I think our team is trying to get the motors attached to the vending machine structure so I hope to assist with that. 

 

Anna’s Status Report for 3/15/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I completed the ethics assignment and collaborated with my team to draft the group collaboration section. Additionally, I acted on feedback from our weekly meeting, particularly condensing our talking points into concise notes, such as further justifying our product’s size by researching and documenting studies that support ergonomic factors of our design. I also assisted Ashira with laser cutting and assembling parts of the physical enclosure. Besides this, I upgraded the RPi, installed necessary dependencies, and uploaded the GUI code to test its functionality. This test revealed that I need to adjust the display configuration as I encountered issues with the screen orientation and parts of the interface being cut off, so I also spent some time trying to fix these issues.  Additionally, I tried to help David on debugging the motor control system to ensure the team stays on track.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is on schedule.

What deliverables do you hope to complete in the next week?

I hope to properly fit the GUI within the display by updating the current code and have some functioning peripherals.

Anna’s Status Report for 3/8/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I dedicated a significant amount of time to writing our Design Review Report, as this was our primary objective. Additionally, I began researching the installation process for the OS Imager on our RPi. I spent my time watching tutorials, and working to enable SSH to streamline our development process since none of us have had prior experience with it. I installed the OS on the micro SD card, edited the service settings (for SSH) of the RPi, found its MAC address so as to register to CMU-DEVICE, registered the device, and configured WEP file and SSH onto the RPi. Although it took longer than expected because I didn’t realize that a monitor was needed, we were able to successfully log into the RPi via SSH. Besides this, I also finalized the coding for the general layout of our GUI touchscreen, including its corresponding functionality. You can find the completed work here.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule? 

My progress is well ahead of schedule. However, we have fallen behind on the laser cutting of the enclosure because the material we initially wanted was unavailable at TechSpark, so we had to order it last week. Unfortunately, it did not arrive before spring break, causing a delay. To help catch up, I finished my main task for the project, prioritizing laser cutting as soon as the material arrives.

What deliverables do you hope to complete in the next week?

After spring break, I plan to meet with my team to laser cut the enclosure and begin testing the components to ensure everything functions as expected.

Anna’s Status Report for 2/22/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I finalized the design review slides and integrated feedback we received from the team. Additionally, I assisted in finalizing our Bill of Materials and submitting purchase orders, which was one of our group’s primary objectives for the week. I also began the Design Review Report, extracting the template from Canvas, making some changes to it, and sharing it with Ashira and David via Overleaf Editor. On the development side, I worked on the screens, specifically implementing and enhancing the timer screen, improving its design, and adding the necessary functionality. Project repository: Vendibaddie GitHub.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule? 

I’d say that my progress is on schedule with the Gantt chart we made.

What deliverables do you hope to complete in the next week?

Next week, I plan to complete the design review report and implement the study session ended/item dispensed screen (frontend) as well as help Ashira with the laser cutting for the enclosure.

Anna’s Status Report for 2/15/25

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient
effort into the project over the course of the week (12+ hours).

This week, I focused on researching the necessary components for our project, ensuring compatibility and reviewing documentation. A significant portion of my time was dedicated to refining our use-case requirements based on the feedback we received. This included tailoring the application to meet the updated requirements and establishing an initial quantitative baseline for our design specifications through research.

Additionally, I worked on finalizing the bill of materials by organizing components by supplier to optimize our budget. I also contributed to developing a more detailed block diagram of our project, ensuring better clarity in our system architecture.

On the technical side, I made progress with the GUI implementation using PyQt, setting up a virtual environment and GitHub repository. I was able to learn how to create widgets for the welcome and main screens, though they still require further refinement. Lastly, I submitted an inventory request and pickup for the Raspberry Pi to ensure we have the necessary hardware.

Is your progress on schedule or behind? If you are behind, what actions will be
taken to catch up to the project schedule?

Due to adjustments in our project timeline, Week 6 was moved up to Week 5, which limited my ability to fully focus on my originally planned tasks from the Gantt chart. However, I was still able to start experimenting with window creation in PyQt and make initial progress on the GUI.

Since we began next week’s tasks early, I will focus on this week’s originally planned tasks next week to ensure I stay on track with our project schedule.

What deliverables do you hope to complete in the next week?

By next week, I aim to have a fully functional welcome screen and main screen setup in PyQt, with smoother navigation between them. I also plan to refine the GUI layout and begin integrating some input functionalities simulations as we have yet to get the touchscreen.