Team Status Report for 3/11/2023

Current Project Risks

As of now, the most significant risk we face as a team is managing the amount of connections and wires necessary to mount our motors and lights to the haptic vest. We need to ensure that our wiring will not become disconnected or tangled as a player moves with the suit, takes it on and off, and adjusts the straps on the suit. If a wire becomes disconnected, it may result in a motor/RGB light system or the suit all together failing to turn on, thus adversely impacting the player’s immersive experience. Although we are not at the stage of mounting the motors/lights, we need to keep this in mind in order to save us the trouble in the future. As such, we are designing our circuit schematic to use color-coordinated ribbon wires that correspond with specific systems in order to locate systems with ease. Moreover, we plan to measure the wirelength from each connection to the Arduino in advance, making sure it is long enough to expand and contract with the different sizes. 

Changes to the Existing Design

As Amelia stated in her report last week, we have decided to add motor systems instead of individual motors to each part of the torso. We’ve determined this is necessary because, while one motor has a large feedback while someone isn’t playing a game, adding the game component may distract a person, lowering the impact they feel from one motor. To mitigate this, we can increase the amount of force a person can feel. 

We have also decided to add a slide bar on our website page so people can customize the power of the motors. With the upgraded motor systems, the motors will achieve much more force. However, we have had questions about how to make our project more accessible to people who may feel sensations differently. We think that adding this customizable power option will allow users to choose what they feel and have a more customized experience.

Schedule Changes

There has been no update to our schedule since last week. 

Components We’ve Improved Upon

We submitted our design report which established a lot of the nuances of our design implementations such as: game action precedence, configuration of motors, and motor haptic algorithm sequence. 

New Tools to Learn

Since we added motor systems instead of singular motors in each area of the chest, we’ve decided to mount these motors to a PCB.  The PCB will take the PWM signal from the servo driver and expand it to drive multiple motors with minimal power and current loss.

Since our team has no prior experience designing a PCB, we will have to allocate time to go over Eagle/Fusion 360 tutorials since these platforms are dedicated to PCB layout design.

Sophia’s Status Report for 3/4/2023

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).  

I personally accomplished creating a function that can take in a 2D array of motor pins, 2D array of motor powers, array of timings, and array of pauses. This function can then drive the motors in the given pattern set by the inputs. This is all in the team GitHub under mutlipl_wave.io. It’s print statements are not cleaned up because I’m still probably going to use those with testing further on. I also started to make a Response class which will hold all the motor info so you can just tell the class to “run_response” and have the response you want happen. I started setting up the .cpp and .h files in “BasicDesign” but it’s not functional yet. Lastly, I did some math for what I would need for a PCB to take in 3-wire PWM and make it 2-wire PWM, but I forgot to take a picture of it and don’t have it on hand. Lastly, I also worked on the project report this week.

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

I am on schedule for what I had planned. However, I had assumed the motors would run properly so that’s a parallel task I’m working on in addition to what I have on the schedule for myself.

I have decided to exchange the Adafruit PWM servo driver for a Sparkfun I/O expander. The expander can do digital, analog, and PWM writes. The one thing I’m unsure of is if it can supply 5V. The device is rated for working up to 5.5V but it has 3.6V operating power. Anyways, it only costs $7, $15 with shipping. I figure I can pick it up when I get back from vacation on Friday, try it out, and then see if I need to come up with the PCB that I talked about last week. And I’ll still be on schedule because I didn’t plan anything for this week.

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

Absolutely nothing. This is the last thing I am doing before I’m fully on vacation. Once I’m done, I’m checked out. Anything productive will happen when I’m on a beach, soaking up sun and possibly thinking about what I may want to do when I get back.

But the week after, I plan to test the Sparkfun I/O expander. If it worked better than the Adafruit device, I will edit my current code to include it. I also plan to continue to turn the functions to run the motors into a class.