Team Status Report – 4/20/24

  • 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?

The most significant risk at this point is not having enough time to recover if we run into significant issues with completing the full system, i.e., getting a single dance working with a song and ensuring that the backup system works when fully integrated. This risk is being managed as best as possible by recognizing what is and isn’t a priority, communicating between the three of us what we need from each other to be successful, and being careful to make the best decisions we can make in terms of design, knowing that the final demo is around the corner.

  • 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?

The only changes in the lock within the past two weeks have been adding the amplifier circuit to the speaker and switching out the solenoid lock for the servo motor. These changes were necessary to hear the audio coming from the speaker and protect the Arduino from excessive strain, and make the lock/unlock transition much clearer while decreasing power consumption. At under $20 in total, these costs were minimal; since our project was relatively inexpensive, this cost is not a large concern. The only change that has really been made to the mat has been the expansion of the space for cables to ease assembly; externally, everything should be the same as initially planned.

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

Brooke’s Status Report – 4/20/24

The plan for this week was to finish finalizing the board and prepare the final project. Although the board doesn’t have the final polishing layers, testing, and assembly have mostly been completed. In addition to verification of functionality testing, I also had the chance to test out different styles for the pads on the board. I tried various combinations of wood, stainless steel, and polycarbonate and ultimately settled on a layer of wood and a layer of polycarbonate. This added tension and an excellent feel to the board without increasing the thickness too much. I was hoping to get the final board done, but next week, I can dedicate this week to making the board look like a complete product and finishing up any testing and issues I may run into as time passes in the building.

I fell a bit behind overall this week, but that doesn’t change the timeline, as it can’t. The due date doesn’t change, and fortunately, I gave myself a bit of slack this upcoming week in case I ran into some issues like I did this week with assembly, such as the fake acrylic and delayed orders. In the end, this final week is finishing up everything that hasn’t been done and preparing for the final presentation. It’s a good bit of work, but I should be ready to finish on time for demo day. Below are some photos of the new parts being assembled.

Testing different materials. Unfortunately, the acrylic was fake, so we had to work with polycarbonate.

We tried out different wiring configurations. The final design required me to expand the wiring space, as the overlapping wires were difficult to keep from spreading out.

Thanks to the wood bending, the inside of the board was glued together with way more clamps than necessary.

Zoe’s Status Report – 4/20/24

This week I made considerable progress on the project. First, I finished my app. I made the Bluetooth connection work from my app to the mat, so now when I click on a specific song on the app, the mat microcontroller receives the corresponding song number. It works reliably well when the correct procedure is followed. Tomorrow I am going to work on testing this connection, to 1) check that the correct procedure always works, and 2) to find and fix edge cases where the connection might not work. I also made the app better looking by adding a font and splash screen, and removing an unnecessary page menu. In addition, I continued working on the other mat code. The mat should be completed soon, so then I can debug this code on the mat. Lastly, I started working on the connection between the mat and the lock Arduino. I am going to complete these in the next few days, so that I have time to perform all of the testing that I want to by the end of the week.

I am on time with my work, because I can get everything done that I need to this week (I don’t have anything else to do, so I have a lot of time).

Jada’s Status Report – 4/20/24

For the past two weeks, I have ordered additional parts that should bring the lock sub-system to completion. This included amplifier transistors, more robust speakers, and servo motors. Addressing the most pressing issue of the lock over the last two weeks, the lack of speaker amplification, I used an example circuit, the amplifier transistor I ordered, and various resistors and capacitors sourced from the 18-220 lab to build an amplifier circuit, modifying the resistance and capacitance values in attempts to improve the overall sound quality and volume. There is still some room for improvement here, and I hope to reach out to Prof. Sullivan to discuss possible adjustments if time permits. If I don’t have time, and since this is now a lower-priority item, the current speaker setup is sufficient for the final demo. I also added an elementary “song selection” function to the main lock code to select from different songs that are stored on the microSD card. In terms of testing the speaker, I downloaded a decibel reader onto my phone and checked for a safe reading (<75dB) at 6″, 1′, 2′, and 3′ away from the speaker, uncovered. All were under 75dB, and the 6″ reading is included in the images below.

Addressing the issue of the solenoid lock not having sufficient power and being an unclear indicator of the lock being locked or unlocked, the servo motor will soon replace the solenoid. The servo requires much less power and does not need constant power to be “unlocked”, meaning the system can be more efficient. It is also easy to make more clear with the servo what is “locked” and what is “unlocked.”

Another key item I began was testing possible coverings for the keypad to add another layer of security. With Brooke’s help, I was able to 3D print a 0.5mm thick sheet to tape over the keypad and hide the numbers. While the keypad still functions fully with this cover, I am unsure if it will be implemented in the final demo.

Every module needed for the lock is now physically added to the main circuit, aside from the servo which will replace the solenoid tomorrow. My next steps will be to move the amplifier circuit to a much smaller breadboard to consolidate space, solder any connections that I haven’t done yet,  laser cut a box to act as a housing for the lock electronics, and 3D print a small part to connect to the servo and act as the lock piece that moves in and out. I am not a mechE, however, so I doubt I will be able to create a simple box or door to accompany the lock in a sufficiently short amount of time.

All of these tasks can be completed in this upcoming week, so I feel that I am on track to completing my tasks for the project. However, I am concerned about testing the full BeatLock system, as we are still working on connecting the three sub-systems. To catch the team up this week, I’m hoping to have the lock completely ready at the beginning of the week for Zoe to work on the Bluetooth functionality when she is ready to work on the connection between the mat and the lock.

Additional Considerations: Learning Strategies

As I have gone throughout this process of creating the lock subsystem this semester, I have gained new knowledge about how to work with Arduino, specifically the Uno R3, its specific architecture, and how to be flexible with finding modules to accommodate it, such as the Bluetooth and microSD card reader modules. My strategy throughout the semester for each new addition has been to read datasheets when available to get a sense of different design parameters and how the item generally functions, then to move from that to looking for examples of the item being used, either through reading through example code to get an idea of function or through videos of someone walking the viewer through an example circuit with the item used. From here, I tend to debug and optimize, using strategies such as googling Arduino IDE errors for understanding, reading forums when I run into specific hardware issues, and even downloading multiple libraries to try to get a specific component working. I have also learned through the short time span of this class that while certain ideas in theory will work best, when trying to debug for two weeks leads nowhere, it is time to pivot and choose another plan; this can specifically be seen in my attempts at getting the Seeed Xiao to work and switching to the Arduino Uno R3 after being unsuccessful.

Team Status Report – 4/6/24

  • 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?

The main risk still appears to be the Bluetooth connection between each subsystem, as we are still unable to thoroughly test that. There are a few more minor issues mentioned in Jada’s status report regarding the speaker and BT module, which controls song selection and audio output; however, those will likely be solved within the upcoming week. Another risk is that the mat system has not yet been put together (physical mat, electronics, and code), so there has been no testing to see if everything works together. With time running out, we will have fewer options if we realize there is something wrong with our system and we need to change something.

No changes have been made to the system’s existing design within the past week.

Updated Schedule:
April 8 – April 15
Finish mat construction: Brooke and Jada assist when needed
Play song through lock: Jada
Order rubber covering and battery for mat for installation: Brooke
Get BT connection between app, mat, and lock: all
3D print lock housing: Jada
April 15 – April 22
Get one dance functioning on the complete system: all
Testing: all

 

Now that you have some portions of your project built, and entering into the verification and validation phase of your project, provide a comprehensive update on what tests you have run or are planning to run. In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements? Validation is usually related to your overall project and is likely to be discussed in your team reports.

Additional Discussion:

The following tests have been or will be run on the comprehensive system for validation:

  • Bluetooth connection—the connections between the three subsystems will be verified by checking for a connection. This will be more rigorously tested once the system is mostly completed by checking for connection when the user with the phone app walks up to the mat and locks.
  • Timing and consistency—The timing between the song and the dance detection will be tested for consistent starting. They do not need to start precisely at the same time, but they need to start consistently at the same amount of time apart. This will be done by repeatedly measuring timing.
  • Backup entry – The backup entry method (keypad) will be tested for entry time (under ten seconds) using a stopwatch.
  • User experience—the dance experience will be tested and reviewed by multiple third-party people to gain unbiased opinions. We have already used this type of testing to help us make decisions regarding the size of the mat, and we plan to use it to test the dance experience once we have made the mat functional.

Brooke’s Status Report – 4/6/24

This week, I mainly was finalizing the construction of the board with the parts I was not able to get done last week, and I am beginning to set up the low-power and Bluetooth aspects of the microcontroller. Now that the sensors are set up and functioning, these other parts and integration with the other pieces are now going to be the focus, along with the game aspect being set up with the passcodes. I don’t have any photos this week, as nothing has changed visually from the previous week; it’s just behind-the-scenes stuff.

I am currently scheduled to complete my parts. The focus now is the board’s aesthetics and the wireless connectivity with the application and door lock. I will spend the next week on both of these two parts. However, the main focus will be the wireless connection and low power, as functionality needs to come first for verification and testing.

Verifications:

  • Ensure the consistency of the sensors and that they work with every step, and ignore instances of the user standing on the board, NOT stepping. This should work nearly every time without fail.
  • Ensure an extended battery life using the low-power system to minimize the time required to charge the device. Ideally, I would like the board to last a bare minimum of a few days of heavy usage.
  • Ensure the device is durable from dust, dirt, water, and usage. We will have to throw water and dirt on the device, poorly treat the device by stomping way past the weight limit, etc. This device needs to last and be reliable for everyday use, so we must go a bit extreme in this area.

Validations:

  • Ensuring a quick and low-latency Bluetooth connection to the door lock and the app so that there is no difference in time to traditional lock systems and there isn’t a delay causing a malfunction. This needs to work every time without fail or else it can’t beat out a conventional locking system.
  • Ensure that the entire system works with a smooth flow that you can verify on the app, use the board, and then unlock the door as desired. This does not have metrics and is more of a test of comfort and ease of usage with multiple users with varying experiences with the device and/or Dance Dance Revolution.

 

Zoe’s Status Report – 4/6/24

This week, I got Bluetooth working on our app! It was able to scan for devices and connect to my iPhone.  Below are photos showing 1) my iPhone being connected to the Android phone and b) connecting to my iPhone (named mtn dew) from the Beatlock app on my Android phone. 

This means our app is mostly done. To finish it, we need BLE implemented on the Seeed XIAO microcontroller in our mat. So, after the app was working, I went back to working on the mat code. Once BLE works on the mat, I will change the app code to not scan for devices but simply locate and connect to the mat. Getting BLE working in the mat and then making them work together is my goal for this week, since I have already finished most of the code for the mat. I just need to try out the code on the microcontroller and debug any problems that arise. I also have other code to test out (the code to deal with the dance input) that I will debug as soon as the mat is functional.

I am on schedule, because I have made the progress that I was hoping to make. There is still lots of work to be done, but since Booth and one of my classes will be done by this Wednesday, I will have even more time to work on it after then.

Jada’s Status Report – 4/6/24

This past week, I have been working on the Bluetooth module and the microSD card module. I was able to solder speaker connections to the Bluetooth module as well as manipulate two audio files for testing the system; however, I’ve run into two problems that set me slightly behind schedule. Once the microSD card module and microSD cards arrived, I had some difficulty finding an SD card adapter until this morning (Saturday); once I had the adapter, getting test song mp3 files downloaded and wiring the microSD card module for testing was straightforward. The other, still standing, issue I’ve run into is getting the Bluetooth module to see the files that are on the microSD card. I believe the current library for the Bluetooth module was made for a specific adaptation of an Arduino Uno that includes built-in memory, so I’m currently researching how to get the BT module to reach the files. One step I’ve made towards getting this working is verifying that the microSD card module works; I found that Arduino has built-in example code for memory cards, which can both verify that there is a connection to the card as well as list files on the card (as seen in the photo at the bottom). I plan to take time tomorrow to learn from the example code how to see the files so that I can copy the paths for the BT module.

Another potential issue that may come up once I solve the file issue is wiring the speaker to the BT module since it has a useful audio function library. In the diagram given for the BT module, there are three connections (GND, VCC, and DACL) going from the BT module to the speaker; however, our current speaker only has two connections. This may be as simple as wiring only GND and DACL, but I won’t know until after I can get the BT chip reading from the SD card.

Because of these main issues, my progress is slightly behind schedule. To catch up, I plan on working most of tomorrow to get the BT and microSD card communicating, and maybe testing my speaker hypothesis if I have time. If the speaker doesn’t work, I will look for a speaker to order.

This upcoming week, I hope to have the speaker, microSD card module, BT module working together. After this, I hope to have these items integrated into the main lock system as well as begin testing the BT connection between the app and the lock.

Additional Discussion

In terms of verification of the lock subsystem, I have tested or plan on testing the following measures:

  • Keypad functionality – this was completed by hardcoding a correct PIN and verifying that the keypad outputted a “correct” signal when the correct PIN was entered.
  • Solenoid lock functionality – this was completed by connecting the solenoid to the 5V pin of the Arduino and verifying that it unlocked when powered.
  • Bluetooth connection – this was initially confirmed by connecting my iPhone to the module without the rest of the system. Better validation will come by testing the connection between app/lock, and mat/lock.
  • Audio quality and level – this will be verified in two parts. Quality will be qualitatively measured by listening to the audio files through my laptop and comparing to the audio quality from the speaker. Level will be measured hopefully through a decibel reader, likely through a downloaded phone app.

Brooke’s Status Report – 3/30/24

This week has been focused primarily on really finalizing the prototype of the dance pad for demo day. After acquiring some of the main things we needed from Home Depot that could not be shipped, the assembly was finished, and a rough version of the final planned board was made. I have decided to go a very affordable route, with many of the materials relying on wood for most parts of it. As it is so thin, it also enables us to wrap this and use it for the final design if necessary. I have attached a photo of a nearly complete version of the board. On the software end and electronics end, most of the time was spent integrating them and making sure the electronics were wired correctly and installed. I have a bit more finalizing to do with the firmware, but by Monday, we will be ready to show what we have made.

(It is not the prettiest, but it should work for now; a lot of the aesthetics will be a plan for the final model)

With all of that said, I am thankfully not behind, and everything has been finished as planned (and is required for the demos). For the next week, the main focus will now be put towards finding ways to make this board a complete and professional-looking product and integrating it with the other parts Jada and Zoe are working on. One focus with them will be on having a secure wireless connection between all of the devices that is low power and does not bleed energy. That shouldn’t be too difficult for this board, but we may have to investigate low-power modes for the Arduino used in the lock.

Team Status Report – 3/30/24

The most significant risk for the lock remains to be Bluetooth integration. To manage this risk, we’ve moved from the Seeed microcontroller in the lock to the Arduino Uno and have ordered a BT module that is looking promising. This is also the case for the app, because we might run into unexpected errors that would delay our timeline.

The lock block diagram has officially been changed to reflect the microcontroller switch and additional modules needed for full functionality. As reflected in the wire diagram in Jada’s status report, the new additions aside from the microcontroller include the BT module and the microSD card module. This diagram may still change depending on song functionality, potential future switching from lock solenoid to stepper motor, and adding a battery connection. This most recent change has incurred a small cost, but for parts that will hopefully be kept for the final product.

Updated Schedule:

April 1 – April 8

Finish mat construction: Brooke and Jada

Order rubber cover for mat: Brooke

Get BLE working: Zoe

Play song through lock: Jada

April 8 – April 15

Get one song functioning on a complete system: All

3D print lock housing: Jada

April 15 – April 22

Testing: All