Team questions:
1. 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? (by vicky)
- Audio narration now works: the rpi was able to connect to an external bluetooth speaker and output audio, but the narration generated by the tts program was not outputting audio on the rpi). We have modified our use of espeak-ng, configured in on rpi, added backend API endpoint for narration, created NarrationControl.tsx component to call speakWithEspeakNg() and added narration state variable inside TriviaCard.tsx to control narration flow.
- Machine body finger joints: the finger joints are not precisely matched due to laser cutting error margins. We managed by gluing the edges so the panels are fixed in place.
- Customized questions website upload & rpi download: We are currently working towards enabling players to input their own questions that can be added to the pool of trivias.
- Datapath
- Website question input -> csv uploaded to cloud google drive (done)
- Cloud google drive -> download csv to ‘SweeTrivia’ code base (done)
- Read csv and add to .json file with all questions (done)
- UI/UX
- Homescreen: [Make my own question] -> [QR code of website] [download question set] [Back] -> home screen
- Deploy website to make QR code.
- Datapath
2. 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? (by Fei)
Yes, some minor changes were made to the existing design of the system. On the software side, we are introducing a UX improvement to the Raspberry Pi’s question download process to make it more intuitive and stable during gameplay. This adjustment is necessary to improve user experience and ensure consistent communication between the game logic and the RPi. The added development and testing time are the main costs of this change, but we plan to mitigate them by distributing tasks efficiently and prioritizing integration early next week.
On the hardware side, we are adding cosmetic upgrades such as painting the vending machine for a more polished final look. Additionally, we are planning to replace the current copper coil used for dispensing candy. The existing coil is too flexible and fails to push out the product effectively. Replacing it with a sturdier material will improve dispensing reliability. While these changes involve some additional material costs and build time, we will manage them by sourcing affordable materials and coordinating team work sessions to stay on schedule.
3. 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. (by vicky)
- Post MVP tasks:
- Sound effects and music
- Shopping mechanism in candy selection page
- Customized questions narration & narration in challenge mode
- Updated schedule
Tasks | Due |
Shopping mechanism in candy selection page | SUN, 4/14 |
Question randomization (300 basic questions + customized questions) | SUN, 4/14 |
Get rid of emoji / download new font | SUN, 4/14 |
Add sound effects & kahoot-style music | TUE, 4/15 |
Final presentation slides | WED, 4/16 |
LED strips for internal lighting | Day before demo |
Machine panel painting | SUN, 4/14 |
UX new game flow for customized category:
|
MON, 4/14 |
QR code and deploy website | MON, 4/14 |
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. (by vicky)
- Tests
Already Run | Planning to Run |
Rpi touchscreen standard mode game flow (homescreen -> … -> candy dispensed finished -> back to homescreen) touch input | Audio output of sound effects and background music between narrations. |
Rpi touchscreen challenge mode game flow | Remote synchronization of question base after website deployment |
Dispense from candy selection, serial communication from rpi to arduino. Activate correct motor & update correct dispense status. | Randomized question |
Audio narration with python tts (did not proceed) | |
Audio narration with espeak-ng, speed 100-150, female voice type 2. | |
Webpage question upload to google drive | |
Code base csv download and append to .json |