09/05/2017 at 02:22 •
Being a complete Arduino newbie, I found Youtube to be a great resource for learning the basics, from the actual hardware and how it works to the code itself. The Arduino code currently utilizes a library that converts the analog sensor value to centimeters (specifically for Sharp IR distance sensors), which was available for download in the Arduino environment. I was having trouble adding my own libraries from the internet into the Arduino software, as the downloaded .zip file from Github contained "-" marks, which Arduino was unable to recognize as a library. I attempted to manually install the library by unzipping the file and then renaming it without the dash marks, but I could not locate Arduino's library folder. Most likely, I will end up inputting the library directly into the Arduino code, so that the sensor system can work properly without a serial usb connection to a computer.
09/03/2017 at 05:59 •
Currently, the ThIRd Eye system works as follows: Analog readings from three IR distance sensors (mounted to the front of a power wheelchair in a pyramidal fashion, one per wheel castor and one leading in front) are routed to an Arduino Uno microcontroller. The Arduino issues an audible beep by a piezoelectric buzzer if either of the three sensors measures a distance ~10cm greater than or less than the initial distance of the sensor to the floor. The sensor mounting system is fully 3D-printable, but I recommend that printed screws and nuts are not used. The castor mounts utilize threaded round clips to mitigate the possibility of vibration shaking the sensors around. I have written Arduino code for an LCD display to provide realtime distance measurements by each sensor, which includes conversion of analog sensor data to centimeters.
I'm noticing that the IR sensors have major accuracy problems. Readings can vary up to ~35% between the sensors when pointed at the same object. This is a pretty bad problem given that the integrity of the device depends on very small changes in terrain as measured by the three sensors mounted to the wheelchair. Changes to the current Arduino code can mediate this, as taking mean values between clusters of sensor readings can eliminate extreme values and therefore also various false positives.
The mounting system also requires an arm to hold the middle IR sensor to the wheelchair, which I haven't yet designed. This is due to the fact that an arm clamped to the wheelchair under the seat would obviously be an obstruction to a patient's legs and feet. The center IR sensor mount must therefore be able to reach beyond the chair's footplate, so attaching the mount to the footplate is currently an option.