a14g-final-submission-t27-help

Review Assignment Due Date

a14g-final-submission

* Team Number: 27
* Team Name: HELP
* Team Members: Yuxin Qian & Yuxuan Chen
* Github Repository URL: https://github.com/ese5160/a14g-final-submission-t27-help/edit/main/README.md
* Description of test hardware: (development boards, sensors, actuators, laptop + OS, etc) laptop

1. Video Presentation

Please click here to watch our video presentation.

2. Project Summary

This is an IoT-enabled device that connects via Wi-Fi to a user interface (UI). The UI displays real-time sensor data, provides alert functionalities, and includes buttons for remotely updating the device firmware. This connectivity enhances user experience by ensuring they can monitor the device’s status and receive critical updates effortlessly.

Our goal was to harness sensor technologies and IoT connectivity to create a practical, wearable device that could make a significant difference. By integrating an IMU and a distance sensor, the waist pack provides immediate tactile feedback through vibrations, warning users of nearby obstacles and changes in the terrain. This feature allows for safer and more confident mobility, giving users the ability to perceive their surroundings in a nuanced way.

We chose to design this product because we recognized a profound need for innovative solutions that could extend the sensory world to those with visual impairments, enhancing their freedom and quality of life.

Connectivity:
Features Wi-Fi connectivity, linking the device to a Node-RED UI via the MQTT protocol for seamless data transmission and remote firmware updates.

Block Diagram:
image

  1. Sensor Sensitivity:

    Problem: Our distance sensor was overly sensitive, often erroneously displaying a distance of zero during tests.
    Solution: After multiple checks of the wiring, we discovered and removed a dust particle from the sensor’s ultrasonic probe, which restored accurate readings.

  1. Memory Limitations:

    Problem: We frequently faced issues with insufficient memory, causing the software to freeze and the serial output to halt.
    Solution: We addressed this by continuously adjusting the size and priority of each task in our program.

Reflection:
These challenges highlighted the discrepancies between theory and practical implementation. Our hands-on resolution of these issues not only fixed immediate problems but also equipped us with invaluable practical insights that theoretical learning could not have provided.

Our project is a wearable electronic device based on SAMW25 as a microcontroller designed to assist blind individuals by detecting potential obstacles and alerting them via haptic feedback. The device uses an ultrasonic distance sensor to detect potential obstacles, combined with a three-axis accelerometer to detect falls. In an emergency, it automatically communicates with the blind person’s family via Wi-Fi. The hardwares we used are: ultrasonic distance sensor, 3-axis acceleration sensor, haptic motor driver and motor. The differences between the very early of this semester and our output are: First, we change a different kind of distance sensor. We change from HC-SR04 to US-100 because the reference code we found online were always US-100 and it was easier to modify from the US-100 code. Seconde, we change from 3-axis accelerometer to IMU. They have the same function but only the first one uses SPI communication protocol while the other use I2C. And we failed to write SPI code ourselves so we choose I2C and it is easier to write.

Software requirements:

At its core, the software integrates with the SAMW25 module to manage sensory input from the imu and an ultrasonic sensor, interpreting this data to provide instantaneous haptic feedback and fall detection. The software enables the device to act as an intelligent intermediary between the user and their environment, translating complex sensory information into simple, actionable alerts. We completed all the software tasks and made a nodered UI.

4. Project Photos & Screenshots

final project:

image image

top view of standalone PCBA:

image

bottom view of standalone PCBA:

image

thermal image of PCBA:

image

2D view of Altium Board design:

image

3D view of Altuim Board design:

image

NODE-RED dashboard:

image image image

NODE-RED backend:

image image image

block diagram:

image

5. A12G Codebase

Our final embedded C firmware codebases can be accessed by clicking here. Our nodered code can be accessed by clicking here